[英]Layouting JPanel inside JFrame
我对Java上的GUI知之甚少,因为我更多的是在后端,而不是在视图方面,所以我遇到了在Jframe上正确对齐和布局内容的问题。 基本上我想得到这些结果
图像已经说明了,但是当我运行我的代码时我拥有的就是这个。
两端都没有填充,面板正好在Jframe的边框上,我想要纠正,我不希望这种布局,其中面板与Jframe的尺寸相同,在至少在两端会有一些填充物。
这是我的代码,这是我的框架的构造函数
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] cNames = {"First Name", "Middle Name","Last Name","Status"};
Object[][] data = {{"John Doe", "John Doe", "John Doe", "Single"},
{"Doe John", "Doe John", "Doe John", "Married"}};
JTable table = new JTable(data, cNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
jScrollPane1 = new JScrollPane(table);
listPahel = new JPanel();
listPahel.setLayout(new BorderLayout());
listPahel.add(jScrollPane1, BorderLayout.CENTER);
add(listPahel);
上面的代码重新进入上面的第二张图片
如果您有任何见解,请赐教
最简单的方法是在JPanel
上设置边框:
listPahel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
将EmptyBorders添加到JPanel
要么
将空JPanels(四个)添加到JFrame和JPanel的EAST,WEST,NORTH,SOUTH区域,将JScrollPane添加到CENTER区域,然后在CENTER区域周围创建10个像素的间隙
然后到
更改Layout Manager for JPanel包含从FlowLayout(默认在API中实现)到BorderLayout的JScrollPane
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.