问答题

本题中使用了选项卡,窗口中有一个选项卡,总共有“系统”、“声卡”、“显卡”、“网卡”和“帮助”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 ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)

相关考题

判断题 案件风险应作为一项重要的内容纳入各营业机构每年的风险评估。

问答题 本题的功能是监听对于颜色的复制和粘贴。程序窗l:1中,有一个颜色设置框和两个按钮,名为“复制”和“粘贴”,在颜色设置框中设置颜色后,下面的预览面板将显示选中的颜色,单击“复制”按钮后,将设置的颜色复制到系统的剪贴板上,然后继续选择其他颜色,当单击按钮“粘贴”后预览面板的颜色将设置为刚才复制的颜色。 importjava.io.*; import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*; public class java3 { public static void main(String[]args) { JFrame frame=new SerialTransferFrame(): frame.setDefaultCloseoperation(JFrame.EXIT ON_CLOSE); frame.show(); } } class SerialTransferFrame extends JFrame { public SerialTransferFrame() { setTitle("java3"): Container contentPane = getContentPane(); chooser=new JColorChooser(); contentPane.add(chooser,BorderLayout.CEN- TER); JPanel panel=new JPanel(); JButton copyButton=new JButton("复制"); panel.add(copyButton); copyButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { copy(); } }); JButton pasteButton=new JButton("粘贴"); panel.add(pasteButton); pasteButton.addAetionListener(new ActionListener() { public void aetionPerformed(AetionEvent event) { paste(); } }); contentPane.add(panel,BorderLayout.SOUTH); pack(); } private void copy() { Clipboard clipboard =Toolkit.getDefaultToolkit().getSystemClip- board(); int color=chooser.getColor(); SerialSeleetion selection=new SerialSelection (color); clipboard.setContents(selection,null); } private void paste() { Clipboard clipboard =Toolkit.getDefaultToolkit().getSystemClip- board(); Transferable contents=clipboard.getContents (null); if(contents= =null)return; try { DataFlavor flavor=new DataFlavor( "application/x-java-serialized-object;class= java.awt.Color"); if(contents.isDataFlavorSupported(flavor)) { Color color =(Color)contents.getTransferData(flavor); ; } } catch(ClassNotFoundException exception) { JOptionPane.showMessageDialog(this,excep- tion); } catch(UnsupportedFlavorException exception) { JOptionPane.showMessageDialog(this,excep- tion); } catch(IOException exception) { JOptionPane.showMessageDialog(this,excep- tion); } } private JColorChooser chooser; } class SerialSelection implements Transferable { SerialSelection(Serializable o) { obj=o: } public DataFlavor[]getTransferDataFlavors() { DataFlavor[]flavors=new DataFlavor[2]; Class type=obj.getClass(); String mimeType ="application/x-java-serialized-object;class =" +type.getName(); try { flavors[0]=new DataFlavor(mimeType); flavors[1]=DataFlavor.stringFlavor; return flavors; } catch(ClassNotFoundExeeption exception) { return new DataFlavor[O]; } } public boolean isDataFlavorSupported(DataFlavor flavor) { Return DataFlavor.stringFlavor.equals(flavor)‖"appli- cation".equals(flavor.getPrimaryType()) &&"x-iava-serialized-object".equals(flavor. getSubType()) &&flavor.getRepresentationClass().isAssign- ableFrom(obj.getClass()); } public void getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { if(! isDataFlavorSupported(flavor)) throw new UnsupportedFlavorException(flaVor); if(DataFlavor.stringFlavor.equals(flavor)) return obj.toString(); return obj; } private Serializable obj; }

问答题 本题提取字符串“China is a great country.”中的前5个字符生成一个新的字符串,并将剩余字符组成另外一个新的字符串,最后将两个新的字符串连接输出。 public class javal{ public static void main(String[]args){ Stling str="China is a great country."; ; headstr=str.substring( ); trailstr=str.substring( ); System.out.println(headstr+trailstr); } }