如何在另一个面板中显示面板?

时间:2011-02-27 13:16:45

标签: java swing panel frame

我用Java编写一个简单的图形程序。

所以,我有3节课。

  1. 第一个类是GUI w / c扩展JFrame,它加载菜单栏和面板(绘图类)

  2. 第二个类是绘图类,它扩展了JPanel,它有简单的Graphics命令。

  3. 第三个类是动画类,它显示动画。它还扩展了JPanel。

  4. 所以我的问题是,如何在GUI类的面板中显示动画类。我希望它显示而不是绘制类。当我尝试将它放在那里时,它会在绘图类面板旁边显示一个小盒子。我不是很擅长框架和面板。非常感谢你提前!

3 个答案:

答案 0 :(得分:1)

所有JPanel都有一个LayoutManager,它可以轻松地管理组件的布局方式。默认布局是FlowLayout,默认模式只是将每个组件放在最后一个组件的右侧。

如果您想将布局更改为更有用的内容,则有很多选项; BorderLayout,GridLayout,GridBag布局很受欢迎。我自己,我使用MigLayout,一个非常强大的外部库:)。

至于它看起来很小,请尝试使用setSize(w,h)或setPreferredSize(w,h)手动强制执行大小。

答案 1 :(得分:1)

你可能想写

GUIFrame.remove(drawingPanel);
GUIFrame.add(animationPanel);
GUIFrame.pack();

但是,如果您在GUIFrame中添加了其他组件,则行为可能会有所不同。由于您尚未发布SSCCE,因此很难完全帮助您。

答案 2 :(得分:0)

  

所以我的问题是,如何在GUI类的面板中显示动画类。我希望它显示而不是绘制类。

使用Card Layout