2017-11-25 99 views
1

我正在編寫一個應該在電臺上顯示信息的程序,我希望用戶通過單擊他們喜歡的頻道的圖像來獲取該信息。另一個JPanel中的JPanel:Swing

通道設置爲帶有網格佈局的upp,但是我想在每個網格內部都是通道的圖像和圖像下的通道名稱。所以我認爲GridLayout裏面的一個BoxLayout可以做到這一點,但我沒有看到我想要的GUI。

jf = new JFrame(); 

     jf.setTitle("tutorial"); 
     jf.setSize(500, 500); 
     jf.setMinimumSize(new Dimension(500, 500)); 
     jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 

     JPanel jPanel = new JPanel(); 
     jPanel.setLayout(new BoxLayout(jPanel,BoxLayout.Y_AXIS)); 
     JButton jButton1 = new JButton("first"); 
     JButton jButton2 = new JButton("second"); 
     jPanel.add(jButton1); 
     jPanel.add(jButton2); 
     jf.add(jPanel); 

     grid = new JPanel(); 
     grid.setLayout(new GridLayout(3,4,5,10)); 
     grid.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); 


     JPanel jPanel2 = new JPanel(); 
     jPanel.setLayout(new BoxLayout(jPanel,BoxLayout.PAGE_AXIS)); 
     JButton jButton = new JButton("first"); 
     JButton jButton12 = new JButton("second"); 
     jPanel.add(jButton); 
     jPanel.add(jButton12); 
     grid.add(jPanel); 
     grid.add(jPanel2); 

     jf.add(grid); 

下面是我嘗試將兩個按鈕的框佈局放入網格佈局的一些示例代碼。

我應該如何將一個佈局放入另一個佈局?

+1

1)爲了更好地幫助越早,張貼[MCVE]或[簡要,自包含的,正確的示例](HTTP:/ /www.sscce.org/)。 2)以最小尺寸提供ASCII圖形或簡單的GUI圖形佈局圖,並且如果可調整大小,具有更多寬度和高度,則顯示應該如何使用額外空間。 3)*「我沒有看到我想要的GUI。」*它看起來如何?截圖會很方便。如果你沒有足夠的代表。將截圖嵌入[edit],將其上傳到圖像共享網站並提供鏈接。 –

+1

'我想要在每個網格內部既是通道的圖像又是圖像下的通道名稱 - 您可以將圖像和文本添加到同一個按鈕。閱讀API有一些方法可以讓你設置文本相對於圖像的位置。 – camickr

回答

1

回覆:

[...]我希望每個網格內是通道的兩個圖像和右眼圖像下的通道的名稱。

看到How to Use Buttons, Check Boxes, and Radio Buttons

enter image description here

ImageIcon middleButtonIcon = createImageIcon("images/middle.gif"); 

... 

b2 = new JButton("Middle button", middleButtonIcon); 
b2.setVerticalTextPosition(AbstractButton.BOTTOM); 
b2.setHorizontalTextPosition(AbstractButton.CENTER); 
相關問題