结构推理 编写一个简单的图形界面程序ButtonDemo.java,界面标题为“按钮测试” ,窗口大小为200×100,使用FlowLayout布局,界面上有两个按钮(分别为OK和Cancel),点击OK按钮,则打印“您按了OK按钮!”,点击Cancel按钮,则打印“您按了Cancel按钮!” 。
【正确答案】参考代码如下: import java.awt.*; import java.awt.event.* ; public class ButtonDemo implements ActionListener{ private Button ok,cancel; public ButtonDemo(){ Frame f = new Frame("测试按钮"); f.setLayout(new FlowLayout()); ok = new Button("OK"); ok.addActionListener(this); cancel= new Button("Cancel"); cancel.addActionListener(this); f.add(ok); f.add(cancel); f.setSize(200,100); f.setVisible(true) ; } public void actionPerformed(ActionEvent e){ if(e.getSource()==ok){ System.out.println("您按了OK按钮!"); } else{ System.out.println("您按了Cancel按钮!"); } } public static void main(String args[ ]){ new ButtonDemo(); } } 如果用Swing组件实现,则参考代码如下: import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.* ; public class JButtonDemo implements ActionListener{ private JButton ok,cancel; private JTextField tf; public JButtonDemo(){ JFrame f = new JFrame("测试按钮"); f.setLayout(new FlowLayout()); Container c=f.getContentPane(); tf=new JTextField(20); ok = new JButton("OK"); cancel= new JButton("Cancel"); ok.addActionListener(this); cancel.addActionListener(this); c.add(tf); c.add(ok); c.add(cancel); f.setSize(200,100); f.setVisible(true) ; } public void actionPerformed(ActionEvent e){ if(e.getSource()==ok){ tf.setText("您按了OK按钮!"); } else{ tf.setText("您按了Cancel按钮!"); } } public static void main(String args[ ]){ new JButtonDemo(); } }
【答案解析】