问答题

本程序监听列表选择的操作和关闭窗口的操作。当选中列表中的某个选项时,产生一个随机数做为选中对象的ID,然后显示于窗口下方的文本框中,当单击“关闭窗口”按钮时关闭窗口退出程序,如图所示。


import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class exam_62 implements______, WindowListener
{
private Frame f;
private java.awt. List ist;
private TextField tf;
static Random num=new Random(1000);
public void create () {
f=new Frame ( "exam_62" );
tf=new TextField();
lst=new java.awt. List(4, false);
lst.add("Hao JianWen");
lst.add("Gu ZhiFeng");
lst.add("Zou Tao");
lst. add ( "Ma Lu" );
lst. addItemListener (this);
f.add (ist, "Center");
f.add (tf,"South");
______;
f.setSize(300,200);
f. setVisible (true);
}
public void itemStateChanged (ItemEvent e) {
int id= ( (java.awt. List) e.getSource ()) .getSelectedIndex ();
switch (id) {
case 0:{ tf.setText("Hao JianWen"s ID is: "+ num.nextInt());
break;
}
case 1:{tf.setText("Gu ZhiFeng"s ID is: "+num.nextInt());
break;
}
case 2:{tf.setText("Zou Tao"s ID is: "+num.nextInt());
break;
}
case 3:{tf.setText("Ma Lu"s ID is: "+num.nextInt());
break;
}
}
}
public void windowClosing(WindowEvent e) {
System.exit (1);
}
public void windowOpened (WindowEvent e) { }
public void windowIconified (WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowClosed (WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public static void main(String args[])
{
exam_62 ml=new exam_62 ();
ml. create (); }
}

【参考答案】

第1处:ItemListener
第2处:f.addWindowListener(this)
热门 试题

问答题
本程序定义了一个简单的计算器,可以进行基本的四则运算。程序中布局了16个按钮用来表示0~9以及运算符和点号,程序顶部的文本框用来显示运算数及结果,如图所示。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class exam_61 {public static void main(String[] args) {try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch (Exception e) { }JFrame frame=new CalculatorFrame();frame.show();}}class CalculatorPanel extends JPanel implements ActionListener {private JTextField display;private JButton btn;private double arg=0;private String op= = ;private boolean start=true;public CalculatorPanel() {setLayout(new BorderLayout());display=new JTextField( 0 );display.setEditable(false);add(display, North );JPanel p=new JPanel();p.setLayout(new GridLayout(4, 4));String buttons= 789 456*123-0.=+ ;for (int i=0; i<buttons.length(); i++) {btn=new JButton(buttons.substring(i, i + i));p.add(btn);______;}add(p, Center );} public void actionPerformed(ActionEvent evt) {String s=evt.getActionCommand();if ( 0 <= s.charAt(0) && s.charAt(0) <= 9 || s.equals( . )) {if (start) display.setText(s);else display.setText(display.getText() + s);start=false;}else {if (start) {if (s.equals( _ )) {display.setText(s);start=false;}else op=s;}else {double x=______;calculate(x);op=s;start=true;}}}public void calculate(double n) {if (op.equals( + )) arg += n;else if (op.equals( _ )) arg -= n;else if (op.equals( * )) arg *= n;else if (op.equals( )) arg = n;else if (op.equals( = )) arg=n;display.setText( + arg);}}class CalculatorFrame extends JFrame {public CalculatorFrame() {setTitle( exam_61 );setSize(220, 180);addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit (0);}});Container contentPane=getContentPane();contentPane.add(new CalculatorPanel());}}