import java.awt.*;
import javax.swing.*;
import java.awt.event.*; public class BoxLayoutDemo
{
private JFrame jframe;
private JPanel jp1;
private JButton jb1,jb2,jb3,jb4;
public BoxLayoutDemo()
{
jframe=new JFrame("BoxLayout演示窗口");
Container c=jframe.getContentPane(); jp1=new JPanel();//@@@@@@@
jp1.setLayout(new BoxLayout(jp1,BoxLayout.Y_AXIS));
jb1=new JButton("按钮1");
jb2=new JButton("按钮2");
jb3=new JButton("按钮3");
jb4=new JButton("按钮4");
jp1.add(jb1);jp1.add(jb2);jp1.add(jb3);jp1.add(jb4); c.add(jp1); jframe.setSize(300,300);
jframe.setLocation(300,200);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(jframe.EXIT_ON_CLOSE);
} public static void main(String[] args)
{
new BoxLayoutDemo();
}
}
我不太明白程序里我标注@@@@的地方,为什么我把那上下两句改为一句:jp1=new JPanel(new BoxLayut(jp1,BoxLayout.Y_AXIS)); 就无法运行了呢?但是编译的时候可以?如果我使用GridLayout布局这种写法就可以了呢 这是怎么回事啊??详细些!谢
import javax.swing.*;
import java.awt.event.*; public class BoxLayoutDemo
{
private JFrame jframe;
private JPanel jp1;
private JButton jb1,jb2,jb3,jb4;
public BoxLayoutDemo()
{
jframe=new JFrame("BoxLayout演示窗口");
Container c=jframe.getContentPane(); jp1=new JPanel();//@@@@@@@
jp1.setLayout(new BoxLayout(jp1,BoxLayout.Y_AXIS));
jb1=new JButton("按钮1");
jb2=new JButton("按钮2");
jb3=new JButton("按钮3");
jb4=new JButton("按钮4");
jp1.add(jb1);jp1.add(jb2);jp1.add(jb3);jp1.add(jb4); c.add(jp1); jframe.setSize(300,300);
jframe.setLocation(300,200);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(jframe.EXIT_ON_CLOSE);
} public static void main(String[] args)
{
new BoxLayoutDemo();
}
}
我不太明白程序里我标注@@@@的地方,为什么我把那上下两句改为一句:jp1=new JPanel(new BoxLayut(jp1,BoxLayout.Y_AXIS)); 就无法运行了呢?但是编译的时候可以?如果我使用GridLayout布局这种写法就可以了呢 这是怎么回事啊??详细些!谢
只是实力化一个棉板,但像你这样,并没有给这个面板设置任何布局啊
你应该经常查查帮助文档,看看关于面板的构造方法都有哪些!
这就是正确的 这是为什么?
这里GridLayout和BoxLayout不都是一种布局吗?