我目前正在使用setLayout(null);
(我的偏好),但像往常一样,很容易遇到定位问题。在这种情况下,我有AWT.Chooser
和2 JButton
个。像这样,Good One每次启动时,第二次JButton
“取消”都会呈现按钮Y
位置+
它是height
,就像这样,{{ 3}}
从我在整个Oracles教程和Stack上找到的内容来看,setLayout(null)
导致了这个问题。为了解决这个问题,我经历了各种不同的布局,试图找到适合这种特殊设计的布局。我找到的是CardLayout
,它似乎是最接近的。虽然让按钮处于正确的位置并不适合我的设计。
有没有办法解决这个问题而不使用布局管理器?我采取了错误的做法吗?我不挑剔,如果需要更改窗口大小是可行的,如果需要新设计,那也不是问题。提前谢谢!
答案 0 :(得分:3)
我找到的是
CardLayout
,它似乎是最接近的。
CardLayout?这没有任何意义,因为这不是组件定位的布局,而是组件交换。你确定你不是指另一个吗?我自己,我通常嵌套 JPanels,每个都有自己的布局管理器,这样就可以轻松创建易于维护的复杂GUI。
对于GUI,我将为整个GUI提供BorderLayout,并将中央JPanel添加到BorderLayout.CENTER位置。我创建了一个JPAnel,它使用FlowLayout(FlowLayout.TRAILING)
作为底部的布局,并将我的JButtons添加到它,并将其添加到BorderLayout.PAGE_END位置的主JPanel中。如何解决这个问题的可能性是无穷无尽的。