swing布局(swing布局真乱)
swing布局(swing布局真乱)
swing布局(swing布局真乱)
swing布局(swing布局真乱)
swing布局(swing布局真乱)
Swing默认布局管理方式是什么
JFrame的模式布局方式jdk1.4是flowLayout
jdk1.6是BorderLayout
JFrame的布局就是JContentPane的布局
Swing,什么是布局管理器?
Ja是跨平台语言,使用坐标显然会导致问题,即在不同平台、不同分辨率下的显示效果不一样。Ja为了实现跨平台的特性并且获得动态的布局效果,Ja将容器内的所有组件安排给一个“布局管理器”负责管理,如:排列顺序,组件的大小,位置等,当窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理器来管理,不同的布局管理器使用不同算法和策略,容器可以通过选择不同的布局管理器来决定布局。
ja swing网格布局问题 我定义了一个6行10列的网格 想在里面添加60个按钮 代码如下
你往panel里面加button的函数没有被调用,也就是init函数没有被执行,
你在main函数中new jdttest();只会调用jdttest类的构造函数public jdttest()
不会调用public void init()函数,所以button数组没有加到panel中,自然就没显示.
解决办法 你在构造函数public jdttest()中panel.setLayout(new GridLayout(6,10));后面
调用一下public void init()函数,就行了.
完整的Ja程序如下(改动的地方见注释)
importja.awt.BorderLayout;
importja.awt.GridLayout;
importjax.swing.JButton;
importjax.swing.JFrame;
importjax.swing.JPanel;
publicclassjdttestextendsJFrame{
JButtonbutton[][]=newJButton[6][10];
JPanelpanel=newJPanel();
publicjdttest(){
this.setSize(900,630);
this.setLayout(newBorderLayout());
panel.setLayout(newGridLayout(6,10));
panel.setBounds(150,50,600,360);
init();//这里加一句调用init()函数
this.add(panel,BorderLayout.CENTER);
this.setVisible(true);
}
publicvoidinit(){
for(intcols=0;cols<6;cols++){
for(introws=0;rows<10;rows++){
button[cols][rows]=newJButton("7");
panel.add(button[cols][rows]);
}
}
}
publicstaticvoidmain(String[]args){
newjdttest();
}
}
ja Swing JPanel 怎么修改默认布局
1.布局首先要理清思路,那一个组件放在哪个组件里面,就如你的代码他们分别是 JFrame f中放置了JPanel center,而JPanel center中又放置了5个testPanel[] t = new testPanel[5];
也就是说,你的5个test_shu对象的位置由center容器的布局方式决定即你的代码22行处 private JPanel center = new JPanel(new FlowLayout());
这个布局方式决定,所以,而FlowLayout的布局方式的默认值是:
流式布局管理器把容器看成一个行集,好象平时在一张纸上写字一样,一行写满就换下一行。行高是用一行中的控件高度决定的。FlowLayout是所有 JApplet/JApplet的默认布局。在生成流式布局时能够指定显示的对齐方式,默认情况下是居中(FlowLayout.CENTER)
FlowLayout() //生成一个默认的流式布局,组件在容器里居中,每个组件之间留下5个像素的距离.
FlowLayout(int alinment) //可以设定每行组件的对齐方式.
FlowLayout(int alignment,int horz,int vert) //设定对齐方式并设定组件水平和垂直的距离.
当容器的大小发生变化时,用FlowLayout管理的组件会发生变化,其变化规律是:组件的大小不变,但是相对位置会发生变化.
所以要达到你的效果,只需要将
22行处的代码改成如下设置就可以了:
private JPanel center = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
ja swing布局
Container是一个BorderLayout ,
Container 里放的一个panel 居"Center"。
panel是加了一个TitleBorder,并放置了几个文本框和label
Container 同样加一个panle 居"South",这个panel 里放的两个按钮
方框,就是TitledBorder.自已在api 里查。
ja swing 要怎么控制布局啊 好乱啊 那些控件的 size()和setBounds 根本没用
如果你设置布局了那么setsize、setlocation之类的方法就没什么用了,不过你可将布局设为空也就是setlayout(null);然后在setsize、setlocation,就没问题了
JAVA Swing布局调整,调整了半天LABEL和BUTTON总是贴在一起,大家帮帮忙了。
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
this.setBounds(500,350,300,150);
可以不用BoxLayout,换成GridLayout
GridLayout gl = new GridLayout(2,1);//2行1列
gl.setVgap(5);//设置垂直间距5个像素
panel.setLayout(gl);
panel.add(.......);//add username label and command button
Ja swing都有哪几种布局管理器
怎么才6种呢?10多20种,你自已去JAVA的API里面查看吧,
ja.awt包中大约有
FlowLayout 流式布局
BorderLayout 边框式布局
GridLayout 网格布局
CardLayout 卡片布局
GridBagLayout 复杂的网格布局
jax.swing包中大约有如下布局
BoxLayout 盒式布局
OverlayLayout 重叠布局
ScrollPaneLayout 类JScrollPane使用的布局管理器
ViewportLayout 类JViewport使用的布局管理器
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。