swing中布局的问题

chengleiyx 2009-09-30 02:04:45
我用netbeans可视化进行开发窗体,我拖拉了一个界面然后发现一个问题,当这个界面最大化的时候,界面里面的按钮不会随着界面的大小变化位置,这个是布局的问题吗?应该用哪个布局呢?
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yubangqi 2009-10-01
  • 打赏
  • 举报
回复
先清楚几种布局管理器的作用,这才是最根本的
littlemonster 2009-09-30
  • 打赏
  • 举报
回复
要自己调整的,netbean画swing挺好的

[Quote=引用楼主 chengleiyx 的回复:]
我用netbeans可视化进行开发窗体,我拖拉了一个界面然后发现一个问题,当这个界面最大化的时候,界面里面的按钮不会随着界面的大小变化位置,这个是布局的问题吗?应该用哪个布局呢?
[/Quote]
HelloAldis 2009-09-30
  • 打赏
  • 举报
回复

import javax.swing.*;
//帮你写个例子,时间紧写的一般 呵呵
public class SpringTest extends JFrame{

/**
* @param args
*/
private JPanel jp = new JPanel();
private JLabel jl = new JLabel("会变大哦!");
private JTextField jtf= new JTextField();
private SpringLayout sl = new SpringLayout();//弹簧布局管理器

private SpringTest(){
jp.setLayout(sl);//JPanel设置布局管理器
jp.add(jtf);
jp.add(jl);

//设置各个方向的弹性
sl.putConstraint(SpringLayout.NORTH, jtf, 20,SpringLayout.NORTH, jp);
sl.putConstraint(SpringLayout.NORTH, jl, 20, SpringLayout.NORTH, jp);
sl.putConstraint(SpringLayout.WEST, jtf, 60, SpringLayout.WEST, jp);
sl.putConstraint(SpringLayout.EAST, jp, 10, SpringLayout.EAST, jtf);

Spring jtfw = Spring.constant(0, 100, 400);

sl.putConstraint(SpringLayout.EAST, jtf, jtfw, SpringLayout.WEST, jtf);
sl.putConstraint(SpringLayout.WEST, jl, 10, SpringLayout.WEST, jp);
sl.putConstraint(SpringLayout.EAST, jl, 140, SpringLayout.WEST, jl);

this.add(jp);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("弹簧布局Test");
this.setBounds(100,100,400,100);
this.setVisible(true);
}
public static void main(String[] args) {
new SpringTest();
}

}

秦π 2009-09-30
  • 打赏
  • 举报
回复
只要不是null布局都可以随着变动 根据需求自己找布局方式吧 flowlayout,gridlayout,gridbaglayout,borderlayout,boxlayout,cardlayout这些至少都要知道 是个什么样子的布局
HelloAldis 2009-09-30
  • 打赏
  • 举报
回复
呵呵 说一下 Netbeans 的拖拉生成界面是没有弹性的 想要做出来的
界面有弹性 就要学会用 弹簧界面布局管理器 虽然箱式布局也有一定弹性

import javax.swing.SpringLayout //就是这个布局管理器可以看看
一头头 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 justinavril 的回复:]
没用过netbeans  一直都是敲代码写界面的 羡慕拖拉生成界面。。。

建议你贴下代码
[/Quote]

没用过NetBeans 一直都是拖拉生成界面 羡慕会敲代码写界面的。。。
see_gl 2009-09-30
  • 打赏
  • 举报
回复
这个问题太抽象了
plplum 2009-09-30
  • 打赏
  • 举报
回复
用gridBag布局,现在最常用,可以实现你想要的
zhuzeitou 2009-09-30
  • 打赏
  • 举报
回复
恩,一种用的是eclipse
现在实习用的VC,界面都是拖拉的,觉得好不习惯,觉得有时候还是翘代码控制起来容易

拖拉的话,layout估计是null吧,这样的话大小变化这些处理肯定都是要自己控制的,不可能靠layout来做的吧
justinavril 2009-09-30
  • 打赏
  • 举报
回复
没用过netbeans 一直都是敲代码写界面的 羡慕拖拉生成界面。。。

建议你贴下代码
Emiya_wang 2009-09-30
  • 打赏
  • 举报
回复
以前用过 不过还真没想到这个问题 帮顶
zhuzeitou 2009-09-30
  • 打赏
  • 举报
回复
这个我觉得应该是你在响应窗口大小变化的时候自己进行调整的吧……

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧