用什么方法在java中放置组件比较容易?

用什么方法在java中放置组件比较容易?,java,layout,Java,Layout,是通过设置位置还是通过布局?你能给我一些建议吗?我怎样才能轻松地将秋千组件放置在框架中 推荐的方法是使用布局管理器在容器中定位组件。其优点是,布局管理器将提供在调整容器大小时调整或重新定位相邻组件的功能 不需要自己编程所有这些行为。请参阅Swing中的绝对定位:)但是,大多数情况下,您会避免这种情况,并使用适当的布局管理器。为此,我建议使用一个功能强大的布局管理器(很容易直接在代码中指定布局),或者使用UI设计器,它使用GridBagLayout自动编写.java文件,并为自己的代码插入点,以响

是通过设置位置还是通过布局?你能给我一些建议吗?我怎样才能轻松地将秋千组件放置在框架中

推荐的方法是使用布局管理器在容器中定位组件。其优点是,布局管理器将提供在调整容器大小时调整或重新定位相邻组件的功能

不需要自己编程所有这些行为。

请参阅Swing中的绝对定位:)但是,大多数情况下,您会避免这种情况,并使用适当的布局管理器。为此,我建议使用一个功能强大的布局管理器(很容易直接在代码中指定布局),或者使用UI设计器,它使用GridBagLayout自动编写.java文件,并为自己的代码插入点,以响应UI事件等


(来源:)

布局示例:

 JPanel p = new JPanel(new MigLayout("", "[right]"));

 p.add(new JLabel("General"),  "split, span, gaptop 10");
 p.add(new JSeparator(),       "growx, wrap, gaptop 10");

 p.add(new JLabel("Company"),  "gap 10");
 p.add(new JTextField(""),     "span, growx");
 p.add(new JLabel("Contact"),  "gap 10");
 p.add(new JTextField(""),     "span, growx, wrap");

 p.add(new JLabel("Propeller"),"split, span, gaptop 10");
 p.add(new JSeparator(),       "growx, wrap, gaptop 10");

 p.add(new JLabel("PTI/kW"),   "gap 10");
 p.add(new JTextField(10),     "");
 p.add(new JLabel("Power/kW"), "gap 10");
 p.add(new JTextField(10),     "wrap");
 p.add(new JLabel("R/mm"),     "gap 10");
 p.add(new JTextField(10),     "wrap");
 p.add(new JLabel("D/mm"),     "gap 10");
 p.add(new JTextField(10));

一定要使用布局管理器,因为这样你就可以灵活地根据平台(影响按钮大小)和字体大小处理不同的布局。如果您想要构建可访问的应用程序,因为一些用户在看到小文本时遇到问题,因此需要对字体大小应用全局倍增,那么后者非常重要。另外一个好处是,您还可以轻松处理整个窗口的大小调整


但是要避免使用
GridBagLayout
。它功能强大,但需要大量的工作才能让它不那么糟糕,以至于更容易从头开始编写自己的专业布局…

这是AWT、Swing、SWT还是其他形式?