嘿大家。我试图用一个按钮和一个标签来制作一个图形用户界面。即时通讯使用边界布局和标签(在北方领域)显示正常,但按钮占据框架的其余部分(它在中心字段)。任何想法如何解决这个问题?JButton扩展占用整个框架/容器
6
A
回答
9
您必须将按钮添加到另一个面板,然后将该面板添加到框架。
原来的BorderLayout的扩展什么都组件是在中间
你的代码看起来应该是现在这个样子:
之前
public static void main(String [] args) {
JLabel label = new JLabel("Some info");
JButton button = new JButton("Ok");
JFrame frame = ...
frame.add(label, BorderLayout.NORTH);
frame.add(button , BorderLayout.CENTER);
....
}
改变它的东西是这样的:
public static void main(String [] args) {
JLabel label = new JLabel("Some info");
JButton button = new JButton("Ok");
JPanel panel = new JPanel();
panel.add(button);
JFrame frame = ...
frame.add(label, BorderLayout.NORTH);
frame.add(panel , BorderLayout.CENTER);
....
}
之前/之后
Before http://img372.imageshack.us/img372/2860/beforedl1.png After http://img508.imageshack.us/img508/341/aftergq7.png
0
再次:)
import javax.swing.*;
public class TestFrame extends JFrame {
public TestFrame() {
JLabel label = new JLabel("Some info");
JButton button = new JButton("Ok");
Box b = new Box(BoxLayout.Y_AXIS);
b.add(label);
b.add(button);
getContentPane().add(b);
}
public static void main(String[] args) {
JFrame f = new TestFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
2
或者只是使用绝对布局。它在Layouts Pallet上。
或用启用它:
frame = new JFrame();
... //your code here
// to set absolute layout.
frame.getContentPane().setLayout(null);
这样,您可以自由放置控制任何你喜欢的。
相关问题
- 1. Chrome扩展内容脚本访问扩展框架
- 2. XML架构:可扩展容器元素
- 3. 实体框架可扩展的框架
- 4. ASP.NET MVC控制器和扩展框架
- 5. Chrome扩展程序无法占用整个窗口宽度
- 6. jQuery自动完成扩展占用整个屏幕
- 7. 如何扩展Eclipse框架?
- 8. 扩展Spring框架(Java)Servlet
- 9. Yii框架gallerymanager扩展
- 10. 扩展实体框架类
- 11. 扩展实体框架
- 12. 托管扩展性框架
- 13. 类扩展和框架
- 14. Yii框架ChildrenRequiredValidator扩展
- 15. 果园可扩展框架
- 16. 从BaseController Zend框架扩展
- 17. 扩展一个实体框架6类
- 18. 扩展一个实体框架模型
- 19. 如何调整玩框架应用程序的可扩展性?
- 20. Java:展开JButton以填充容器
- 21. 如何使用PECL扩展,从框架
- 22. 扩展架构生成器
- 23. 使用托管扩展框架和底框架
- 24. 如何将此JButton更改为不占用整个宽度?
- 25. Ajax组合框扩展器:占位符不工作
- 26. Swift框架可以引用另一个Swift框架的类扩展吗?
- 27. 重新使用容器和容器扩展其他容器
- 28. 从Chrome内容脚本扩展访问内嵌框架
- 29. 非扩展容器div
- 30. 容器没有扩展
面板上的默认LayoutManger是什么?的FlowLayout? – 2008-11-23 02:23:49