重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public class Main {
站在用户的角度思考问题,与客户深入沟通,找到利津网站设计与利津网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟空间、企业邮箱。业务覆盖利津地区。
public static void main(String[] args) {
boolean mj;
do {
System.out.println("\t\t\t欢迎使用我行我素购物管理系统");
System.out
.println("************************************************************");
System.out.println("1.客 户 信 息 管 理");
System.out.println("2.购 物 结 算");
System.out.println("3.真 情 回 馈");
System.out.println("4.注 销");
System.out
.println("*************************************************************");
System.out.println("请选择,输入数字:");
int chief;// 系统菜单编号
Scanner input = new Scanner(System.in);
chief = input.nextInt();
mj = false;
if (chief == 1) {
System.out.println("我行我素购物管理系统客户信息管理");
System.out
.println("******************************************************");
System.out.println("\t\t\t1.显 示 所 有 客 户 信 息");
System.out.println("\t\t\t2.添 加 客 户 信 息");
System.out.println("\t\t\t3.修 改 客 户 信 息");
System.out.println("\t\t\t4.查 询 客 户 信 息");
System.out
.println("********************************************************");
System.out.println("输入数字或按0返回上一级菜单:");
int subMenu;// 子菜单编号
subMenu = input.nextInt();
System.out.println(subMenu);
if(subMenu == 0){
mj = true;
continue;
}
boolean a;
do {
a = false;
switch (subMenu) {
case 1:
System.out.println("执行显示所有客户信息");
break;
case 2:
System.out.println("执行添加客户信息");
break;
case 3:
System.out.println("执行修改客户信息");
break;
case 4:
System.out.println("执行查询客户信息");
break;
default:
System.out.println("你的输入有误!\n请选择,输入数字或按0返回上一级:");
a = true;
}
} while (a);
} else if (chief == 2) {
System.out.println("执行购物结算");
} else if (chief == 3) {
System.out.println("执行真情回馈");
} else if (chief == 4) {
System.out.println("执行注销");
} else {
System.out.println("输入错误,请重新输入!");
mj = true;
}
} while (mj);
}
}
首先我想说在MainMenu()里的按0返回上级菜单返回哪里? 我就当他是按0退出了.
你看我是这样写的,测试完全通过.
import java.util.Scanner;
public class Menu {
public void mainMenu(){
System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统\n");
System.out.println("********************************************************************************\n");
System.out.println("\t\t\t\t1.客 户 信 息 管 理\n");
System.out.println("\t\t\t\t2.购 物 结 算\n");
System.out.println("\t\t\t\t3.真 情 回 馈\n");
System.out.println("\t\t\t\t4.注 销\n");
System.out.println("********************************************************************************\n");
System.out.println("请选择,输入数字或按0返回上一级菜单:");
}
//客户信息管理
public void mainMenu01(){
System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统\n");
System.out.println("********************************************************************************\n");
System.out.println("\t\t\t\t1.显 示 所 有 客 户 信 息\n");
System.out.println("\t\t\t\t2.添 加 客 户 信 息\n");
System.out.println("\t\t\t\t3.修 改 客 户 信 息\n");
System.out.println("\t\t\t\t4.查 询 客 户 信 息\n");
System.out.println("********************************************************************************\n");
System.out.println("请选择,输入数字或按0返回上一级菜单:");
}
//真情回馈
public void mainMenu02(){
System.out.println("我行我素购物管理系统真情回馈\n");
System.out.println("********************************************************************************\n");
System.out.println("\t\t\t\t1.幸 运 大 放 送\n");
System.out.println("\t\t\t\t2.幸 运 抽 奖\n");
System.out.println("\t\t\t\t3.生 日 问 候\n");
System.out.println("********************************************************************************\n");
System.out.println("请选择,输入数字或按0返回上一级菜单:");
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Menu menu = new Menu();
int x = 99;
menu.mainMenu();
x = in.nextInt();
while(x!=0){
switch(x){
case 1 :{
menu.mainMenu01();
x = in.nextInt();
while(x!=0){
switch(x){
case 1 : System.out.println("这是选项一:显 示 客 户 信 息");
break;
case 2 : System.out.println("这是选项二:添加 客 户 信 息");
break;
case 3 : System.out.println("这是选项三:修改 客 户 信 息");
break;
case 4 : System.out.println("这是选项四:查询 客 户 信 息");
break;
default : System.out.println("请选择以上信息并输入一个数字或0返回上级菜单");
}
menu.mainMenu01();
x = in.nextInt();
}
}
break;
case 2 :{
//和以上一样
}
break;
case 3 :{
//和以上一样
}
break;
case 4 :{
//和以上一样
}
break;
default : System.out.println("请选择以上信息并输入一个数字或0退出");
}
menu.mainMenu();
x = in.nextInt();
}
}
}
第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API
第二个问题,一时想到两种实现方法
1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来
2、如果你不希望使用其他组件了的话,倒也可以重载paint()方法,直接将你要显示的信息“绘”出来。例如:
public class DisplayPanel extends JPanel{
public void pain(Graphics g){
super.paint(g);
g.drawString(student.getName());
g.drawString(student.getNumber());
.... ....
}
}
然后将这个Panel添加到你原来的位置即可。
package example;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class demo extends JFrame{
private JMenuBar menu = new JMenuBar();
private JPanel contentPane = new JPanel();
public demo()
{
setTitle("compiler");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(menu);
//JMenu correct = new JMenu("正确用例");
//JMenu wrong = new JMenu("错误用例");
////JMenuItem WP = wrong.add("语法错误");
//JMenuItem WL = wrong.add("词法错误");
JMenu edit = new JMenu("编辑");
JMenu help = new JMenu("帮助");
JMenu document = new JMenu("文件");
JMenuItem copy = edit.add("复制");
JMenu color = new JMenu("颜色");
JMenuItem p = color.add("前景色");
p.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,
"该项目正在建设中", "信息",
JOptionPane.INFORMATION_MESSAGE);
}
});
JMenuItem b = color.add("背景色");
b.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,
"该项目正在建设中", "信息",
JOptionPane.INFORMATION_MESSAGE);
}
});
edit.add(color);
JMenuItem select = edit.add("全选");
menu.add(document);
menu.add(edit);
menu.add(help);
setLocation(400,200);
setSize(300, 300);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
}
public static void main(String[]args)
{
demo browser = new demo();
browser.setVisible(true);
}
}
你的一溜指的是什么?
只有这竖着的一溜菜单?
还是只有这一溜菜单条?
如果是前者,菜单是这么添加的:
1、JMenuBar 创建菜单条。创建一个菜单条用于添加菜单;
2、JMenu 创建菜单。创建多少个菜单,就决定你有多少个竖着的一溜;
3、JMenuItem 创建菜单选项。给你创建的菜单里放的选项,就像你图里的Save 和Save As;
4、接下来到添加了,步骤是这样的:
4.1将创建的选项添加到对应的菜单里,如: menu1.add(menuItem1)、menu2.add(menuItem7)等
4.2将创建的菜单添加到菜单条里,如:menubar.add(menu1)、menubar.add(menu2)等
4.3将创建的菜单条添加到窗口里,如:setJMenuBar(menubar)、frame.setMenuBar(menubar)等
如果是后者,想添加多条菜单?
爱莫能助~反正我是没见过,更没试过。