我想安排如图所示的组件。我可以通过使用gridbaglayout来做到这一点,但我想用borderlayout来做到这一点。我尝试过,但无法达到我想要的。所以请在这里指导我。 这里的黑色矩形像的JPanel,按钮等swt或swing中的borderlayout
回答
如果你只想用BorderLayout来做,你需要使用2个BorderLayout。如果你不能使用2个布局,那么你会被困在GridBagLayout中。 这就是我讲的一个示范:
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Test {
protected void initUI() {
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new BorderLayout());
JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(new JButton("NORTH"), BorderLayout.NORTH);
panel2.add(new JButton("CENTER"));
panel.add(panel2);
panel.add(new JButton("SOUTH"), BorderLayout.SOUTH);
panel.add(new JButton("EAST"), BorderLayout.EAST);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Test().initUI();
}
});
}
}
边境布局的构成不工作的方式。这是边境布置示意图:
您将无法在东区域的布局放入顶部右上角 - 北总会浮起的右手边。
编辑:显示自从我使用Swing或AWT以来已经过了多长时间 - 当我做时,它是东,北,西,南和中心。
东,北,西,南,中心仍然有效 –
@a_horse_with_no_name:它们是有效的,尽管[Java文档(HTTP ://docs.oracle.com/javase/tutorial/uiswing/layout/border.html)现在不鼓励它们在Java 1.4以后的使用,声明“在JDK版本1.4之前,各个领域的首选名称是不同的,从点(例如,顶部区域的BorderLayout.NORTH)转换为我们例子中使用的常量的字典版本。我们的例子使用的常量是首选的,因为它们是标准的并且使程序能够适应具有不同方向的语言。“ –
- 1. BorderLayout Swing
- 2. Swing Java中的BorderLayout工作不正常
- 3. Java Swing BorderLayout调整难度
- 4. Java SWT或Swing的数据透视表
- 5. SWT/Swing - > Threads n'Hell
- 6. SWT中的Swing JSplitPane如何做?
- 7. 将SWT与SWING比较
- 8. SWT和Swing在mac上
- 9. SWT_AWT桥 - 在Swing问题SWT
- 10. 我可以将Swing或SWT组件嵌入到JavaFx2.0中吗?
- 11. Java Swing:需要BorderLayout中的“North”的布局管理器
- 12. 在SWING中模拟这个SWT Shell
- 13. 用于swt或swing的Java GUI开发替代
- 14. SWT +的Maven的Eclipse + = java.lang.UnsatisfiedLinkError中:没有SWT碳-3346或SWT-碳swt.library.path
- 15. SWT视图内的视频Swing JPanel
- 16. 在android中的BorderLayout?
- 17. 从SWT和Swing混合帧(JFrame)
- 18. SWT浏览器 - Swing集成 - Mac - JDK 1.7
- 19. Java桌面应用程序:SWT与Swing
- 20. Borderlayout中Textarea maximalsize
- 21. Java/Swing:试图让BorderLayout和GridBagLayout搭配很好
- 22. Java Swing:在BorderLayout上更改边框宽度/高度
- 23. Java Swing BorderLayout使一个区域不能调整大小
- 24. SWT用于Swing应用中的托盘图标
- 25. SWT中的嵌入式Swing,图形错误
- 26. 中心JButton在BorderLayout
- 27. 与GWT的BorderLayout
- 28. 使用的BorderLayout
- 29. SWT或JFACE滑块
- 30. Borderlayout Gridlayout
简单而优秀+1 – mKorbel
@Guillaume Polet:感谢这个不错的例子。 –