题库 题库

【简答题】

本题中使用了选项卡,窗口中有一个选项卡,总共有“系统”、“声卡”、“显卡”、“网卡”和“帮助”5项选项面。单击各个选项的文字标签后,所选中的选项将为当前选项。“系统”选项上有3个复选按钮,分别控制“声卡”、“显卡”和“网卡”三个选项,选中某个按钮后,它所指示的选项就可用,否则不可用。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class java3 extends JFrame{
JTabbedPane config=new JTabbedPane():
public java3(){
super("java3");
setSize(500,300);
setDefaultCloseoperation(EXIT_ON_CLOSE);
JPanel configPane=new JPanel();
configPane.setLayout(new BoxLayout(config-Pane,BoxLayout.Y_AXIS));
JTextArea question=new JTextArea("下面的哪个选项\n"+"你想设置?");
question.setEditable(false);
question.setMaximumSize(new Dimension(300,50));
question.setAlignmentX(0.Of);
question.setBackground(configPane.getBack-ground());
JCheckBox audioCB=new JCheckBox ("声卡",true);
JCheckBox nicCB=new JCheckBox("网卡",true);
JCheckBox tvCB=new JCheckBox("显示卡",false);
configPane.add(Box.createVerticalGlue());
configPane.add(question);
configPane.add(audioCB);
configPane.add(nicCB);
configPane.add(tvCB);
configPane.add(Box.ereateVerticalGlue());
JLabel audioPane=new JLabel("声卡页面");
JLabel niePane=new JLabel("网卡页面");
JLabel tvPane=new JLabel("显示卡页面");
JLabel helpPane=new JLabel("帮助信息");
audioCB.addItemListener(new TabManager(au-dioPane));
nicCB.addItemListener(new TabManager(nicPane));
tvCB.addItemListener(new TabManager(tvPane)):
config.addTab("系统",null,configPane,"Choose Installed Options”);
config.addTab("声卡",null,audioPane,"Audio system configuration”);
config.addTab("网卡",null,nicPane;"Netwot-king configuration");
config.addTab("显示卡",null,tvPane,"Video system configuration");
config.addTab("帮助",null,helpPane,"How Do I…");
getContentPane().add(config,BorderLayout.CENTER);
}
class TabManger implements ActionListener{
Component tab;
public TabManager(Component tabToManage){
tab=tabToManage;
}
public void ItemStateChanged(ItemEvent ie){
int index=config.indexOfComponent(tab);
if(index!=-l){
config.setEnabledAt(index,ie.getStateChange()
= =ItemEvent.SELECTED);
}
this.repaint();
}
}
public static void main(String args[]){
java3 SC=new java3();
se.setVisible(true);
}
}

参考答案

第1处:ClAss TABMAnAGEr implEmEnts ItEmListEnEr
第2处:puBliC voiD itEmStAtEChAnGED(ItEmEvEnt iE)
第3处:jAvA3.this.rEpAint()

相关试题

单选题 下列关于Java源程序结构的论述中,正确的燕(  )。 查看答案
单选题 下列程序片段中,能通过编译的是(  )。 查看答案
单选题 Java中的线程模型由三部分组成,与线程模型组无关的是(  )。 查看答案
单选题 将一个容器panel1放到容器framel中的方法是(  )。 查看答案
单选题 当一个Applet被下载到本地环境时,不发生的操作是(  )。 查看答案
单选题 下列Java组件中,不属于容器的是(  )。 查看答案
单选题 下列程序的功能是将一个整数数组写入二进制文件,在程序的下画线处应填入的选项是(  )。
import java.io.*;
public class XieShuzu{
public static void main(String[]a){
int[]myArray=(10,20,30,40);
try{
DataOutputStream dos=
new DataOutputStream(new
FileOutput Stream("ints.dat"));
for(int i=0;i<MYARRAY.LENGTH;I++)
dos. (myArray[i]);
dos.close();
System.OUt.println("已经将整数数组写入二进
制文件:ints.dat");
}catch(IOException ioe)
{System.OUt.println("IO Exeepr_on");)
}
}
查看答案
单选题 下列程序从标准输入设备——键盘读入一个字符,然后输出到屏幕。要想完成此功能,画线处应该填人的语句为(  )。
importjava.iO.*;
public class Test
{
public static void main(String argsE])
{
charch:
try
{
___;
System.out.println(eh);
}
catch(IOException e)
{
e.printStackTrace():
}
}
}
查看答案
单选题 破坏死锁的4个必要条件之一就可以预防死锁。假如规定一个进程在请求新资源之前首先释放已占有的资源则是破坏了(  )条件。 查看答案
单选题 JDK中用于存放Java类库文件的文件夹是(  )。 查看答案
单选题 类变量必须带有的修饰符是(  )。 查看答案
单选题 下列关于JDK目录结构的说法,错误的是(  )。 查看答案
单选题 下列叙述中错误的是(  )。 查看答案
单选题 下列叙述中正确的是(  )。 查看答案
单选题 数据的存储结构是指(  )。 查看答案
单选题 用于设置组件大小的方法是(  )。 查看答案
单选题 Java语言使用的字符码集是(  )。 查看答案
单选题 使新创建的线程参与运行调度的方法是(  )。 查看答案
单选题 Object类中的方法public int hashCode[],在其子类中覆盖该方法时,其方法修饰符可以是(  )。 查看答案
单选题 设R是一个2元关系,S是一个3元关系,则下列运 算中正确的是(  )。 查看答案