为Graphics2D绘图创建空间



我想画一个由Graphics2D矩形组成的简单板,但我也想在这个板下有一个JButton。我知道这个板的确切尺寸,我试图处理getContentPane()方法和BoxLayout,像这样:

frame.getContentPane().add(board);
frame.getContentPane().add(Box.createRigidArea(new Dimension(bWidth, bHeight)));
frame.getContentPane().add(new JButton("Start"));
frame.pack();

但是RigidArea并不是真正不可见的,它覆盖了我的图纸。你能给我一些建议如何使它正常工作吗?:(我想要一个小按钮,它让我在这里坐了大约2个小时…)

谢谢!

我想画一个简单的由Graphics2D矩形组成的黑板

当你做自定义绘画时,你还需要重写组件的getPreferredSize(...)方法来返回组件的大小。

这样布局管理器就可以使用这个信息,你就不需要使用刚性区域了。

当你添加组件到框架时,你可以使用默认的BorderLayout:

frame.add(board, BorderLayout.CENTER);
frame.add(button, BorderLayout.SOUTH);

我建议您阅读Swing教程。有关于custom paintingusing layout managers的部分将提供更多细节和示例。

相关内容

  • 没有找到相关文章

最新更新