我编程这个级别的创造者游戏我和我的几个朋友都在做,但截至目前的GUI使用一个空的布局,我不想。它现在工作正常,但我仍然反对它,我知道其他人也鼓励你始终使用LayoutManager。我不是真的愿意妥协的设计,因为它是现在,所以我非常想知道,如果有一个布局管理,让我来创建一个图形用户界面,看起来像这样:
在Java API中是否有一个LayoutManager允许我这样做?
它有在标准的JAVA API中! :)
我编程这个级别的创造者游戏我和我的几个朋友都在做,但截至目前的GUI使用一个空的布局,我不想。它现在工作正常,但我仍然反对它,我知道其他人也鼓励你始终使用LayoutManager。我不是真的愿意妥协的设计,因为它是现在,所以我非常想知道,如果有一个布局管理,让我来创建一个图形用户界面,看起来像这样:
在Java API中是否有一个LayoutManager允许我这样做?
它有在标准的JAVA API中! :)
这对BorderLayout来说看起来很不错。将按钮放在嵌套容器中作为NORTH元素。将JScrollPane添加为CENTER组件。网格本身看起来好像是GridBagLayout或者GridLayout的一个好选择。
简短的回答,是的:GridBagLayout
。但这将是一个痛苦的工作和调试。
龙答:它看起来像你对我可以做到这一点最好用BorderLayout
,对于JButtons
一个JPanel
和JTable
定制TableCellRenderers
和TableCellEditors
。
检查可用于Java的出色文件由Sun本身:
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
你能找出GridLayout
和GridBagLayout
?如果你把它放到一个可滚动的容器中,那应该可以做到。
使用的GroupLayout的整体面板和地图自定义绘制方法。
我不认为很多人在这里建议GroupLayout的,因为它比其他布局管理更加复杂。我喜欢它,因为它产生了很好的可扩展结果,所以我花时间去理解它。现在,我几乎不用其他任何东西 - 尤其是用于带按钮和文本字段的用户交互面板。
对于地图,不过,我想创建一个自定义MapPanel
并覆盖paintComponent()
。当然你必须编写自己的自定义滚动算法,但是我认为这对于不必处理滚动条来说是一个小好处。你可以做到这一点,所以有人可以拖动鼠标移动地图。使用鼠标滚轮放大,并使界面非常直观。如果你想画滚动条,你也可以这样做。
我已经使用这样的模型构建了几个接口。我已经为使用此模型的游戏制作了几张地图,以及金融市场制图软件包。它使得添加自定义功能非常容易,以做一些伟大的事情,这将是JTable
中尝试做的噩梦。
的FlowLayout,但不会让我把JScrollPane的这些Jbutton下。 – Benjamin 2012-01-12 19:47:28