我想要创建一个程序,它包含有三个选项的菜单:
哪一个选项有子选项。
因此,当我从第一个子选项的第一个选项中选择"New"时,我想添加我的客户信息。
我用item menu来做这个。这就是我下面的代码,正如您所看到的:我必须使用什么方法来完成这个操作,以及之后的其他操作呢?
class angenda{
private String name;
private String surname;
private int telephone;
public angenda(){
name="";
surname="";
telephone=0;
}
public void setName(String n) {
n=name;
}
public String getName() {
return name;
}
public void setSurname(String s) {
s=surname;
}
public String getSurname() {
return surname;
}
public void setTelephone(int t) {
t=telephone;
}
public int getTelephone() {
return telephone;
}
}
public class Main extends Frame {
MenuBar bar;
Menu Contacts,Dates,Help;
MenuItem itemContacts[],itemDates[],itemHelp[];
TextField name;
TextField surname;
TextField telephone;
public static void main(String[] args) {
Main m=new Main();
m.show();
m.setTitle("e-agenda");
m.setSize(500, 500);
//an to sintajo etsi:
//JFrame f = new JFrame()
}
Main() {
setLayout(new FlowLayout());
itemContacts=new MenuItem[6];
itemDates=new MenuItem[4];
itemHelp=new MenuItem[4];
itemContacts[0]=new MenuItem("New");
itemContacts[1]=new MenuItem("Load");
itemContacts[2]=new MenuItem("Save");
itemContacts[3]=new MenuItem("Delete");
itemContacts[4]=new MenuItem("Update");
itemContacts[5]=new MenuItem("Exit");
itemDates[0]=new MenuItem("New");
itemDates[1]=new MenuItem("Load");
itemDates[2]=new MenuItem("Save");
itemDates[3]=new MenuItem("Cancel");
itemHelp[0]=new MenuItem("sss");
itemHelp[1]=new MenuItem("Info");
Contacts=new Menu("CONTACTS");
Dates=new Menu("DATES");
Help=new Menu("HELP");
for(int i=0; i<6; i++) {
Contacts.add(itemContacts[i]);
}
for (int i=0; i<4; i++) {
Dates.add(itemDates[i]);
}
for (int i=0; i<2; i++) {
Help.add(itemHelp[i]);
}
bar=new MenuBar();
bar.add(Contacts);
bar.add(Dates);
bar.add(Help);
setMenuBar(bar);
}
public boolean action(Event event, Object arg) {
if(event.target instanceof MenuItem)
{
String text=(String)arg;
if (text.equals("New")) {
name.getText();
}
if(text.equals("Exit")) {
System.exit(0);
}
}
else
super.action(event, arg);
return true;
}
}谢谢。
发布于 2018-10-20 11:24:20
public class MenuDemo extends JFrame implements ActionListener {
public static void main(String... args) {
SwingUtilities.invokeLater(() -> new MenuDemo().setVisible(true));
}
public MenuDemo() {
init();
}
private void init() {
setLayout(new BorderLayout(5, 5));
add(new JScrollPane(createMainPanel()), BorderLayout.CENTER);
setJMenuBar(createMenuBar());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setTitle("e-agenda");
setSize(500, 500);
centerToScreen();
}
public void centerToScreen() {
Dimension size = getToolkit().getScreenSize();
setLocation(size.width / 2 - getWidth() / 2, size.height / 2 - getHeight() / 2);
}
private JPanel createMainPanel() {
JPanel panel = new JPanel();
panel.setBackground(Color.gray);
return panel;
}
private JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();
menuBar.add(createContactsMenu());
menuBar.add(createDatesMenu());
menuBar.add(createHelpMenu());
return menuBar;
}
private static final String MENU_CONTACTS_NEW = "contacts.new";
private static final String MENU_CONTACTS_LOAD = "contacts.load";
private static final String MENU_CONTACTS_SAVE = "contacts.save";
private static final String MENU_CONTACTS_DELETE = "contacts.delete";
private static final String MENU_CONTACTS_UPDATE = "contacts.update";
private static final String MENU_CONTACTS_EXIT = "contacts.exit";
private JMenu createContactsMenu() {
JMenu menu = new JMenu("Contacts");
menu.add(createMenuItem("New", MENU_CONTACTS_NEW));
menu.add(createMenuItem("Load", MENU_CONTACTS_LOAD));
menu.add(createMenuItem("Save", MENU_CONTACTS_SAVE));
menu.add(createMenuItem("Delete", MENU_CONTACTS_DELETE));
menu.add(createMenuItem("Update", MENU_CONTACTS_UPDATE));
menu.add(createMenuItem("Exit", MENU_CONTACTS_EXIT));
return menu;
}
private static final String MENU_DATES_NEW = "dates.new";
private static final String MENU_DATES_LOAD = "dates.load";
private static final String MENU_DATES_SAVE = "dates.save";
private static final String MENU_DATES_CANCEL = "dates.cancel";
private JMenu createDatesMenu() {
JMenu menu = new JMenu("Dates");
menu.add(createMenuItem("New", MENU_DATES_NEW));
menu.add(createMenuItem("Load", MENU_DATES_LOAD));
menu.add(createMenuItem("Save", MENU_DATES_SAVE));
menu.add(createMenuItem("Cancel", MENU_DATES_CANCEL));
return menu;
}
private static final String MENU_HELP_INFO = "help.info";
private JMenu createHelpMenu() {
JMenu menu = new JMenu("Help");
menu.add(createMenuItem("Info", MENU_HELP_INFO));
return menu;
}
private JMenuItem createMenuItem(String text, String actionCommand) {
JMenuItem item = new JMenuItem(text);
item.setActionCommand(actionCommand);
item.addActionListener(this);
return item;
}
@Override
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
System.out.println(command);
if (MENU_CONTACTS_EXIT.equals(command))
onCommandsExit();
}
private void onCommandsExit() {
dispose();
}
}https://stackoverflow.com/questions/52904661
复制相似问题