1、[ 主观题 ]【程序填空题】设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个菜单项都对应有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class C2902 implements ActionListener
{
___
JTextField text=new JTextField(20);
String t[]={"文件","编辑","格式","帮助"};
Menu menu[]=new Menu[4];
String s[]={"打开","保存","复制","粘贴","字体","段落","小助手","关于"};
MenuItem jmi[]=new MenuItem[8];
C2902()
{
JFrame myWin=new JFrame("Ex0606");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con=myWin.getContentPane();
con.add(text,"Center");
text.setEditable(false);
myWin.setMenuBar(jmb);
int i;
for(i=0;i<4;i++)//生成四个菜单
{
menu[i]=new Menu(t[i]);
jmb.add(menu[i]);
}
for(i=0;i<8;i++)//每个菜单中放两个菜单项
{
jmi[i]=new MenuItem(s[i]);
menu[i/2].add(jmi[i]);
jmi[i].addActionListener(this);
jmi[i].___(new MenuShortcut(65+i));//设快捷键
}
myWin.setBounds(300,200,400,200);
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
text.setText("你选择了:"+e.getActionCommand()+"菜单项.");
}
public static void main(String[] args)
{
new C2902();
}
}
2、[ 主观题 ]【简答题】阅读下面程序,如果在横线上分别填写①i=m②i=b③i=p.a④i=p.change(100)四个赋值语句,有哪些不合法?请写出原因。
class Class2201
{
private int a;
public int change(int m){return m;}
}
public class Class22 extends Person
{
public int b;
public static void main(String[]args)
{
Class2201 p=new Class2201();
Class22 t=new Class22();
int i;
___;
}
}
3、[ 主观题 ]【程序分析题】阅读下列程序,写出程序功能。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Class3505 implements AdjustmentListener
{
JScrollBar js;
JLabel label;
int size=20;
public Class3505()
{
JFrame myWin=new JFrame("Class3505");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(200,200,400,400);
Container con=myWin.getContentPane();
js=new JScrollBar(JScrollBar.HORIZONTAL,20,10,1,210);
js.setSize(new Dimension(395,50));
js.addAdjustmentListener(this);
con.add(js);
label=new JLabel("Class3505");
con.add(label);
myWin.setVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e)
{
size=e.getValue();
Font f=new Font(label.getFont().getName(),
label.getFont().getStyle(),size);
label.setFont(f);
}
public static void main(String[]args)
{
new Class3505();
}
}
4、[ 主观题 ]【简答题】文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序的基本内容有哪五个方面?
5、[ 主观题 ]【程序分析题】阅读程序,画出程序运行后初始界面并写出程序功能。
import javax.swing.*;
import java.awt.event.*;
public class Class3403 extends JFrame implements ActionListener
{
JButton b1=new JButton("b1");
JButton b2=new JButton("b2");
public Class3403()
{
super("Class3403");
setSize(300,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel=new JPanel();
panel.add(b1);panel.add(b2);
setContentPane(panel);
b1.addActionListener(this);
b2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object s=e.getSource();
if (s==b1)setTitle("Teacher");
if(s==b2)setTitle("Student");
}
public static void main(String []args)
{
new Class3403();
}
}