问答题

本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class java2
public static void main(String[]args)
if(args.length!=1)
System.out.println("请指定按钮的个数!");
System.exit(0);
String buttonString=args[0];
int buttonNumber=______;
ButtonFrame frame=new ButtonFrame(buttonNurnber);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();

class ButtonFrame extends JFrame
public ButtonFrame(______)
buttons=buttonNumber;
setTitle("java2");
setSize(WIDTH,HEIGHT);
JPanel buttonPanel=Dew JPanel();
for(int i=0;i<buttons;i++)
JButton addButton=new JButton("add"+i);
buttonPanel.add(addButton);
Container contentPane=getContentPane();
contentPane.add(buttonPanel);
public static final int WIDTH=350;
public static final int HEIGHT=200;
private int buttons;

【参考答案】

第1处:Integer.parseInt(buttonstring)
第2处:int ButtonNumber
热门 试题

问答题
本题的功能是监听对于颜色的复制和粘贴。程序窗口中,有一个颜色设置框和两个按钮,名为“复制”和“粘贴”,在颜色设置框中设置颜色后,下面的预览面板将显示选中的颜色,单击“复制”按钮后,将设置的颜色复制到系统的剪贴板上,然后继续选择其他颜色,当单击按钮“粘贴”后预览面板的颜色将设置为刚才复制的颜色。 import java.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.CENTER); 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.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) paste(); ); contentPane.add(panel,BorderLayout.SOUTH); pack(); private void copy() Clipboard clipboard =Toolkit.getDefaultToolkit().getSystemClipboard(); int color=chooser.getColor(); SerialSelection selection=new SerialSelection(color); clipboard,setContents(selection,null); private void paste() Clipboard clipboard =Toolkit.getDefaultToolkit().getSystemClipboard(); 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,exception); catch(UnsupportedFlavorException exception) JOptionPane,showMessageDialog(this,exception); catch(IOException exception) JOptionPane.showMessageDialog(this,exception); 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(ClassNotFoundException exception) return new DataFlavor[0]; public boolean isDataFlavorSupported(DataFlavor flavor) return DataFlavor.stringFlavor.equals(flavor)|| application .equals(flavor.getPrimaryType()) && x-java-serialized-object .equals(flavor.getSubType()) &&flavor.getRepresentationClass().isAssignableFrom(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;