刚学java,在学边界布局时,遇到一问题,求高手不吝赐教~
写了一段代码如下:
import javax.swing.*;
import java.awt.*;public class Exam7_7{
Exam7_7()
{
JFrame jf=new JFrame();
jf.setSize(400,300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jbtn1=new JButton("东");
JButton jbtn2=new JButton("西");
JButton jbtn3=new JButton("南");
JButton jbtn4=new JButton("北");
JButton jbtn5=new JButton("中");
JPanel jp=new JPanel();
BorderLayout b1=new BorderLayout(3,5);
jp.setLayout(b1);
jp.add(jbtn1,b1.EAST);
jp.add(jbtn2,b1.WEST);
jp.add(jbtn3,b1.SOUTH);
jp.add(jbtn4,b1.NORTH);
jp.add(jbtn5,b1.CENTER);
jf.add(jp);
jf.setVisible(true);
}
public static void main(String[] args)
{
new Exam7_7();
}
}
编译通过,没显示错误,但运行时却无法执行,显示如下错误:ava.lang.Error: Do not use javax.swing.JFrame.add() use javax.swing.JFrame.getContentPane().add() instead
at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
at javax.swing.JFrame.addImpl(JFrame.java:491)
at java.awt.Container.add(Container.java:307)
at Exam7_7.<init>(Exam7_7.java:27)
at Exam7_7.main(Exam7_7.java:36)
Exception in thread "main" 请高手解答下,在此感激之至!
写了一段代码如下:
import javax.swing.*;
import java.awt.*;public class Exam7_7{
Exam7_7()
{
JFrame jf=new JFrame();
jf.setSize(400,300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jbtn1=new JButton("东");
JButton jbtn2=new JButton("西");
JButton jbtn3=new JButton("南");
JButton jbtn4=new JButton("北");
JButton jbtn5=new JButton("中");
JPanel jp=new JPanel();
BorderLayout b1=new BorderLayout(3,5);
jp.setLayout(b1);
jp.add(jbtn1,b1.EAST);
jp.add(jbtn2,b1.WEST);
jp.add(jbtn3,b1.SOUTH);
jp.add(jbtn4,b1.NORTH);
jp.add(jbtn5,b1.CENTER);
jf.add(jp);
jf.setVisible(true);
}
public static void main(String[] args)
{
new Exam7_7();
}
}
编译通过,没显示错误,但运行时却无法执行,显示如下错误:ava.lang.Error: Do not use javax.swing.JFrame.add() use javax.swing.JFrame.getContentPane().add() instead
at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
at javax.swing.JFrame.addImpl(JFrame.java:491)
at java.awt.Container.add(Container.java:307)
at Exam7_7.<init>(Exam7_7.java:27)
at Exam7_7.main(Exam7_7.java:36)
Exception in thread "main" 请高手解答下,在此感激之至!
jf.getContentPane().add(jp);
不能直接对Frame进行add
必须对Frame的contentPane进行add
要用jf.getContentPane().add(jp);
楼主换点比较新的书看吧!!