【问题标题】:Placing panels with JTable使用 JTable 放置面板
【发布时间】:2013-10-16 08:58:49
【问题描述】:

我有一个带有JPanel 的 GUI,这个面板又增加了 2 个面板。所以我希望这两个面板中的一个位于框架的最高四分之一处,带有JComboBox,另一个应该位于框架的其他 3 个四分之一处,并且其中有一个JTable。但是使用setBounds 方法我无法正确放置它们,我认为是因为桌子。

如果有人已经遇到同样的问题并且可以帮助我,那就太好了。

【问题讨论】:

  • 使用 IDE gui builder 它将解决大约 90% 的关于 gui 构建的问题
  • @MaciejCygan 的代价是引入同样的(如果幸运的话)麻烦:-)

标签: java swing jtable jpanel jcombobox


【解决方案1】:

未测试,但请尝试一下。

JPanel p1 = new JPanel();
int x = getWidth();
int y = getHeight() * 0.25;
int y2 = getHeight() * 0.75;
p1.setPreferredSize(new Dimension(x, y);
p1.add(yourFirsPanel);

JPanel p2 = new JPanel();
p2.setPreferredSize(new Dimension(x, y2);

JPanel p3 = new JPanel(new BorderLayout());
p3.add(p1, BorderLayout(NORTH));
p3.add(p2, BorderLayout(CENTER));

【讨论】:

  • 参见Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?是。)- OP 提供 GUI(或绘图)的 ASCII 艺术,因为它应该以最小尺寸显示,并且(如果可调整大小)带有额外的宽度/高度。
  • @JUNGE 似乎解决问题的所有方法都不是真正的解决方案 :-) 所以,不要,您的布局很可能会因最轻微的变化而崩溃。相反,请使用合适的 LayoutManager。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
  • 2017-05-09
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多