import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; public class MiniDrawPad extends JFrame { 
private String names[]={ 
"New", 
"Open", 
"Save", 
"Pencil", 
"Line", 
"Rect", 
"fRect", 
"Oval", 
"fOval", 
"Circle", 
"fCircle", 
"RoundRect", 
"frRect", 
"Rubber", 
"Color", 
"Stroke", 
"Word" }; 
private Icon items[];
private JButton choices[];  private String tipText[]={
                  //这里是鼠标移动到相应按钮上面上停留时给出的提示说明条
                  //读者可以参照上面的按钮定义对照着理解
                "Draw a new picture",
                "Open a saved picture",
                "Save current drawing",
                "Draw at will",
                "Draw a straight line",
                "Draw a rectangle",
                "Fill a ractangle",
                "Draw an oval",
                "Fill an oval",
                "Draw a circle",
                "Fill a circle",
                "Draw a round rectangle",
                "Fill a round rectangle",
                "Erase at will",
                "Choose current drawing color",
                "Set current drawing stroke",
                "Write down what u want"
              };public MiniDrawPad() //构造函数 

super("Drawing Pad"); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JToolBar bar=new JToolBar();
choices=new JButton[names.length];for(int i=0;i<choices.length;i++)
 {items[i]=new ImageIcon(names[i]+".gif");
 choices[i]=new JButton("",items[i]);
 choices[i].setToolTipText(tipText[i]);
 bar.add(choices[i]);}JTextArea edit=new JTextArea(8,40);
JScrollPane scroll=new JScrollPane(edit);
JPanel pane=new JPanel();
BorderLayout bord=new BorderLayout();
pane.setLayout(bord);
pane.add("North",bar);
pane.add("Center",scroll);setContentPane(pane);} 
public static void main(String[] arguments){ JFrame newPad=new MiniDrawPad(); 
newPad.pack();
newPad.setVisible(true);

} 前辈我想知道这段代码哪里有问题,为什么执行不出来。多谢各位前辈了

解决方案 »

  1.   

    我觉得pane.add("BorderLayout.NORTH",bar);
    pane.add("BorderLayout.CENTER",scroll);还有就是我觉得设置内容面板JFRAME要用getContentPane()方法样。也就是this.getContentPane().setContentPane(pane)我也是不很清楚。只是书上是这样写的,
      

  2.   

    把private Icon items[]改为private Icon items[]=new Icon[names.length];就出来啦