0
我想提出類似下面的設計,如何在JPanel和JFrame之間放置偏移量?
我試圖把JPanels和JFrame中的offesets,我得到一些與此類似,
我有下面的代碼,我在JFrame中輸出2個JPanel。
private static void createAndShowGUI() {
JFrame frame = new JFrame("My App");
GridLayout myLayout = new GridLayout(1,2);
myLayout.setHgap(10);
frame.setLayout(myLayout);
JPanel jLeftPanel = new JPanel();
JPanel jRightPanel = new JPanel();
jLeftPanel.setBackground(Color.DARK_GRAY);
jLeftPanel.setSize(275, 250);
jRightPanel.setBackground(Color.DARK_GRAY);
jRightPanel.setSize(275, 250);
frame.add(jLeftPanel);
frame.add(jRightPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.pack();
frame.setSize(600, 550);
frame.setVisible(true);
}
如何改進設計?
非常感謝您的回答,這有效。如何在左側面板的右下方放置一個按鈕,該按鈕需要2個參數(寬度和高度)並在右側面板中繪製圖形?我最近3個小時在這方面苦苦掙扎,有點幫助表示讚賞。 – Chak
對不起,延遲迴復。我會爲左側面板使用BorderLayout,然後添加兩個內側面板,中間爲輸入文本字段的GridLayout面板,以及南側的FlowLayout面板(FlowLayout可以右對齊)。在右邊,我將繼承JPanel並在重載的JComponent.paintComponent()方法中自己繪製圖形。另外,Oracle有一個[定製繪製組件的教程](https://docs.oracle.com/javase/tutorial/uiswing/painting/)。 –
此外,如果您想創建複雜的佈局,請注意,AWT/Swing的板載佈局管理器非常有限且繁瑣,無法在較大規模上使用。我建議尋找第三方佈局經理,特別是[JGoodies FormLayout](http://www.jgoodies.com/freeware/libraries/forms/)。 –