今天我有一個小問題,這可能是沒有什麼優點:)Java - 我應該使用什麼樣的Swing佈局?
我想在一條水平線中使用我的Swing組件。我使用FlowLayout並根據框架大小改變了componentResized()上的組件大小,但它經常被竊聽(有時最後一個組件放在下一行)...我決定使用BoxLayout,但在代碼上:
down=new JPanel(new BoxLayout(down,BoxLayout.X_AXIS));
down.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
down.add(Box.createHorizontalGlue());
down.setPreferredSize(new Dimension(300,35));
它崩潰了:
Exception in thread "AWT-EventQueue-0" java.awt.AWTError: BoxLayout can't be shared
at javax.swing.BoxLayout.checkContainer(Unknown Source)
at javax.swing.BoxLayout.invalidateLayout(Unknown Source)
at javax.swing.BoxLayout.addLayoutComponent(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at ButtonFrame.<init>(chat.java:278)
at chat$1.run(chat.java:20)
aso...
我不知道該怎麼做,也許我可以做的FlowLayout無法使第二排,或使箱佈置工作?
感謝您的回覆!
可能的重複:http://stackoverflow.com/questions/761341/boxlayout-cant-be-shared-error – Yossale 2012-01-17 15:15:41