Java JFrame内的JPanel布局
我对Java上的GUI知之甚少,因为我更多的是在后端,而不是在视图端,所以我在Jframe上正确对齐和布局东西时遇到了问题。基本上我想得到这些结果 图像本身已经说明了问题,但是当我运行代码时,我得到的是这个 两端没有填充物,面板正好贴在Jframe的边界上,我想纠正一下,我不想有这样的布局,其中面板的大小与Jframe相同,至少两端会有某种填充物 这是我的代码,这是我框架的构造函数Java JFrame内的JPanel布局,java,swing,layout,Java,Swing,Layout,我对Java上的GUI知之甚少,因为我更多的是在后端,而不是在视图端,所以我在Jframe上正确对齐和布局东西时遇到了问题。基本上我想得到这些结果 图像本身已经说明了问题,但是当我运行代码时,我得到的是这个 两端没有填充物,面板正好贴在Jframe的边界上,我想纠正一下,我不想有这样的布局,其中面板的大小与Jframe相同,至少两端会有某种填充物 这是我的代码,这是我框架的构造函数 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
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));
正是我需要的。。轻松、准确地进行黑客攻击;-)硬编码像素总是有问题的,无论是在边框还是在大小/位置。更好(imo)使用layoutManager,它允许对dpi相关单元进行细粒度控制。。。