Java Swing调整UI重叠元素

问题描述:

我创建了一个GUI,其中包含NetBeans GUI Builder并手动编写了一些附加代码。 我真的不知道如何正确描述这个问题,所以请看下面的图片。Java Swing调整UI重叠元素

  1. 这是默认视图,在这里可以注意到,已被一个JPanel内部产生手动JTable的:

      jPanel1.setLayout(new BorderLayout()); 
    
          TableModel model = db.populateJTable(); 
          JTable jTable1 = new JTable(model); 
          jTable1.setModel(model); 
    
          JScrollPane tableContainer = new JScrollPane(jTable1); 
    
          jPanel1.add(tableContainer); 
          View.super.getContentPane().add(jPanel1); 
          //View.super.pack(); 
          View.super.setVisible(true); 
    

enter image description here

  1. 当我尝试水平调整窗口大小时,所有组件都会按照指定的大小进行正确的反应,但JTable只停留在之前呈现的位置,与其他元素重叠:
  2. enter image description here 有人可以告诉我发生了什么,应该怎么做? 非常感谢

开始=>
+0

_我真的不知道该如何正确描述这个问题_:发布一些代码:-) – 2013-02-10 11:42:27

+0

我发布了我写的唯一相对于GUI的代码,其余所有代码都由NetBeans管理(线条的隐藏) – RNO 2013-02-10 11:43:58

+0

直接将桌子放在底板上。添加一个额外的面板,然后放置表格。这应该有帮助 – 2013-02-10 11:58:21

一个功能强大的解决方案:使用Layouts。他们在调整大小的同时为你做所有的工作。

好的是GridBagLayout。如果你需要更复杂的布局,你可以使用功能强大的BoxLayout

如果你想手动设计你的布局。对我而言,我更喜欢使用NetBeans 7.2.1设计器。它会在设计窗口中自动为您设计布局。

+2

BoxLayout功能强大且比GridBagLayout更复杂?最后我听说,这是相反的。 – 2013-02-10 13:19:28