n2=Long.parseLong(panel.text2.getText()); panel.text3.setText(String.valueOf(n1-n2)); }
注:将panel.text1写成text1,panel.text2写成text2整体扣1分。
[解析]本题考核知识点是图形界面设计、JPanel、JTextField、JButton及其事件的处理。
在方法体中的代码类似于34小题。容器的嵌套不要忽略了。
0901-38.设计实现以下形式布局的Java小应用程序。
注1:其中空白格是文本框,用于输入对应的内容。
注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(String s)。 import java.applet.*; import javax.swing.*; import java.awt.*; class MyWindow extends JFrame{ JTextField textl,text2,text3,text4;
public MyWindow(String s){//这个方法是你要编写的
super(s);
Container con=getContentPane(); con.setLayout(new GridLayout(2,4)); JLabel label1=new JLabel(\学 号\ JLabel label2=new JLabel(\姓 名\ JLabel label3=new JLabel(\考试成绩\ JLabel label4=new JLabel(\平时成绩\ text1=new JTextField(); text2=new JTextField(); text3=new JTextField(); text4=new JTextField(); con.add(label1); con.add(text1); con.add(label2); con.add(text2); con.add(label3); con.add(text3); con.add(label4); con.add(text4);
this.setVisible(true);
} }
public class Class1 extends Applet{ MyWindow myWindow;
public void init(){ myWindow=new MyWindow(\一个小应用程序\; } }
38.以下程序的界面有一个按钮button、一个文本区textA和一个文本框textF。程序运行时,
在文本区中输入数字序列,单击按钮,则在文本框中显示数字序列的和。以下是要求你编写的actionPerformed(ActionEvent e)方法的部分代码。 提示:本题来源于例5.9,但考试内容主要小涉及4.2字符串
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
String s = textA.getText(); double sum =0;
StringTokenizer fenxi = new StringTokenizer(s, \); //请在以下位置编写代码
int n=fenxi.countTokens();(1分) int i=0;(1分)
while(fenxi.hasMoreTokens()){(1分) String s1=fenxi.nextToken();(1分)
sum=sum+Double.valueOf(s1).doubleValue();(1分) }
textF.setText(\分)
1010-38.一个小应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换。以下是程序的大部分,请编写其中的监视器方法。 注:华氏温度(F)=摄氏温度(C)×9/5+32 import java.applet.*; import javax.swing.*; import java.awt.event.*;
public class test38 extends Applet implements ActionListener { JTextField textl, text2; JButton c2f, f2c; public void init() {
text l = new JTextField(5); text2 = new JTextField(5);
c2f=new JButton(\摄氏转换为华氏\; f2c=new JButton(\华氏转换为摄氏\;
add(text 1);add(text2); add(c2f);add(f2c); text1.requestFocus();
c2f.addActionListener(this);f2c.addActionListener((this);
}
public void actionPerformed(ActionEvent e) {
//
请
在
以
下
位
置
编
写
代
码
} }
第六章 图形界面设计(二)
6.1 选择框和单选按钮
综合应用:声明和创建选择框、单选按钮,选择框和单选按钮分组,处理选择项目事件 16.使用单选按钮的方法是将一些单选按钮用_________对象分组,使同一组内的单选按钮只允许一个被选中。 ButtonGroup
29.这是一个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。
class MyWindow extends JFrame implements ItemListener { JTextField text; JCheckBox boxl, box2; MyWindow(String s) {
_________; super(s) Container con = this.getContentPane();
this.setLocation(100, 100); this.setSize(400, 200); text = new JTextField(10);
box1 = new JCheckBox(\计算机\ box2 = new JCheckBox(\计算机\ con.setLayout(new GridLayout(3, 2));
con.add( new JLabel(\计算机产品介绍\ add(new JLabel(\计算机2选1\ con.add(box1); con.add(box2); con.add(text); box1 .addItemListener(this); box2.addItemListener(this); this.setVisible(true); this.pack(); }
public void itemStateChanged( _________e){ ItemEvent
if(e.getItemSelectable() == box1) { text. setText(\公司生产\
} else if(e.getItemSelectable() == box2) { text. setText(\公司生产\ } } }
29.以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义
为一个面板子类Panel,当某个按钮被选中时,按钮监视程序在类MyWindow的一个文本框中输出某个按钮被选中的字样。以下是类Panel的定义。 class Panel extends JPanel implements { static JRadioButton box[]; ButtonGroup g;
Panel(String radioNameList[]) {
box=new JRadioButton[radioNameList.length];
setLayout(new GridLayout(1, radioNameList.length)); g=new ButtonGroup();
for(int i=0;i g.add(box[i]);add(box[i]);box[i].addItemListener(this); } radioNameList[i] } isSelected() public void itemStateChanged(ItemEvent e){ for(int i = 0; i < box.length; i++){ if(box[i]._______) { MyWindow.text.setText(box[i].getLabel()+\被选中!\); } } } } 1010-29.某小应用程序有一个由3个单选按钮组成的颜色选择组,当选中某种颜色时,窗口的背景颜色将作相应的变化。这里给出的是窗口子类My Window的定义的框架以及其构造函数的定义。 class MyWindow extends JFrame implements { ? MyWindow(String s) { super(s); Container con = this.getContentPane(); ItemListener