📄 chapter16n4a.java
字号:
/** * * demonstration of AWT - more elaborate menus * * Written by: Roger Garside * * First Written: 11/July/96 * Last Rewritten: 30/May/97 * */import java.awt.* ;import java.awt.event.* ;public class Chapter16n4a extends Frame implements WindowListener, ActionListener, ItemListener { Canvas4a canvas ; MenuItem buttonA1, buttonA2, buttonA3, buttonA4, buttonA5, buttonA6, buttonA7, quit, buttonB1p1, buttonB1p2, buttonB1p3, buttonB2p1, buttonB2p2, buttonB2p3, buttonB2p4 ; int noOfOptions = 7 ; CheckboxMenuItem[] options = new CheckboxMenuItem[noOfOptions] ; /** * * constructor * */ public Chapter16n4a() { // set up basic window setTitle("Chapter16n4a") ; setBackground(Color.green) ; setSize(500, 400) ; addWindowListener(this) ; // set up menu structure Menu menuA = new Menu("MenuA") ; buttonA1 = new MenuItem("Button A1") ; menuA.add(buttonA1) ; buttonA1.addActionListener(this) ; buttonA2 = new MenuItem("Button A2") ; menuA.add(buttonA2) ; buttonA2.addActionListener(this) ; buttonA3 = new MenuItem("Button A3") ; menuA.add(buttonA3) ; buttonA3.addActionListener(this) ; menuA.addSeparator() ; buttonA4 = new MenuItem("Button A4") ; menuA.add(buttonA4) ; buttonA4.addActionListener(this) ; buttonA5 = new MenuItem("Button A5") ; menuA.add(buttonA5) ; buttonA5.addActionListener(this) ; buttonA6 = new MenuItem("Button A6") ; menuA.add(buttonA6) ; buttonA6.addActionListener(this) ; buttonA7 = new MenuItem("Button A7") ; menuA.add(buttonA7) ; buttonA7.addActionListener(this) ; menuA.addSeparator() ; quit = new MenuItem("Quit") ; menuA.add(quit) ; quit.addActionListener(this) ; Menu menuB = new Menu("MenuB") ; Menu menuB1 = new Menu("MenuB1") ; buttonB1p1 = new MenuItem("Button B1.1") ; menuB1.add(buttonB1p1) ; buttonB1p1.addActionListener(this) ; buttonB1p2 = new MenuItem("Button B1.2") ; menuB1.add(buttonB1p2) ; buttonB1p2.addActionListener(this) ; buttonB1p3 = new MenuItem("Button B1.3") ; menuB1.add(buttonB1p3) ; buttonB1p3.addActionListener(this) ; menuB.add(menuB1) ; Menu menuB2 = new Menu("MenuB2") ; buttonB2p1 = new MenuItem("Button B2.1") ; menuB2.add(buttonB2p1) ; buttonB2p1.addActionListener(this) ; buttonB2p2 = new MenuItem("Button B2.2") ; menuB2.add(buttonB2p2) ; buttonB2p2.addActionListener(this) ; buttonB2p3 = new MenuItem("Button B2.3") ; menuB2.add(buttonB2p3) ; buttonB2p3.addActionListener(this) ; buttonB2p4 = new MenuItem("Button B2.4") ; menuB2.add(buttonB2p4) ; buttonB2p4.addActionListener(this) ; menuB.add(menuB2) ; Menu menuC = new Menu("MenuC") ; options[0] = new CheckboxMenuItem("Monday") ; options[1] = new CheckboxMenuItem("Tuesday") ; options[2] = new CheckboxMenuItem("Wednesday") ; options[3] = new CheckboxMenuItem("Thursday") ; options[4] = new CheckboxMenuItem("Friday") ; options[5] = new CheckboxMenuItem("Saturday") ; options[6] = new CheckboxMenuItem("Sunday") ; for (int i = 0 ; i < noOfOptions ; i++) { options[i].addItemListener(this) ; menuC.add(options[i]) ; } MenuBar menuBar = new MenuBar() ; menuBar.add(menuA) ; menuBar.add(menuB) ; menuBar.add(menuC) ; setMenuBar(menuBar) ; // set up blank area canvas = new Canvas4a() ; add("Center", canvas) ; } // end of constructor method /** * * main * */ public static void main(String[] args) { Chapter16n4a f = new Chapter16n4a() ; f.setVisible(true) ; } // end of main method /** * * actionPerformed * */ public void actionPerformed(ActionEvent event) { for (int i = 0 ; i < noOfOptions ; i++) System.out.println("option " + i + " is " + options[i].getState()) ; Object source = event.getSource() ; if (source == buttonA1) System.out.println("Button A1") ; else if (source == buttonA2) System.out.println("Button A2") ; else if (source == buttonA3) System.out.println("Button A3") ; else if (source == buttonA4) System.out.println("Button A4") ; else if (source == buttonA5) System.out.println("Button A5") ; else if (source == buttonA6) System.out.println("Button A6") ; else if (source == buttonA7) System.out.println("Button A7") ; else if (source == buttonB1p1) System.out.println("Button B1.1") ; else if (source == buttonB1p2) System.out.println("Button B1.2") ; else if (source == buttonB1p3) System.out.println("Button B1.3") ; else if (source == buttonB2p1) System.out.println("Button B2.1") ; else if (source == buttonB2p2) System.out.println("Button B2.2") ; else if (source == buttonB2p3) System.out.println("Button B2.3") ; else if (source == buttonB2p4) System.out.println("Button B2.4") ; else if (event.getSource() == quit) { dispose(); System.exit(0); } } // end of method actionPerformed /** * * itemStateChanged * */ public void itemStateChanged(ItemEvent event) { if (event.getSource() == options[0]) System.out.println("the 'Monday' option was clicked") ; else if (event.getSource() == options[1]) System.out.println("the 'Tuesday' option was clicked") ; else if (event.getSource() == options[2]) System.out.println("the 'Wednesday' option was clicked") ; else if (event.getSource() == options[3]) System.out.println("the 'Thursday' option was clicked") ; else if (event.getSource() == options[4]) System.out.println("the 'Friday' option was clicked") ; else if (event.getSource() == options[5]) System.out.println("the 'Saturday' option was clicked") ; else if (event.getSource() == options[6]) System.out.println("the 'Sunday' option was clicked") ; for (int i = 0 ; i < noOfOptions ; i++) System.out.println("option " + i + " is " + options[i].getState()) ; } // end of method itemStateChanged /** * * windowClosing * */ public void windowClosing(WindowEvent event) { dispose(); System.exit(0); } // end of method windowClosing public void windowOpened(WindowEvent event) {} public void windowIconified(WindowEvent event) {} public void windowDeiconified(WindowEvent event) {} public void windowClosed(WindowEvent event) {} public void windowActivated(WindowEvent event) {} public void windowDeactivated(WindowEvent event) {} } // end of class Chapter16n4aclass Canvas4a extends Canvas { /** * * paint * */ public void paint(Graphics g) { } // end of method paint } // end of class Canvas4a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -