所以我在java中製作GUI。 說我有一個構造函數方法,說在Java GUI中更改圖片
public class glmb extends JLabel implements ActionListener {
public glmb(){
Container C= getContentPane();
C.setLayout(null);
myLabel.setBounds(0,0,30,30);
myLabel.setBounds(30,0,30,30);
C.add(myLabel);
C.add(myButt);
MyButt.addActionListener(this);
setSize(400,400);
setVisible(true);
}}
我有一個JLabel帶班內一個ImageIcon:
JLabel myLabel =new JLabel(new ImageIcon("mypic1.jpg"));
與一個動作偵聽器的按鈕,這將使得JLabel的myLabel改變圖片:
if(e.getSource()==myButt)
{ myLabel =new JLabel(new ImageIcon("mypic2.jpg")); setSize(50,50);}
我如何在JFrame中的畫面更改後,我按下按鈕,按鈕的作品,因爲幀大小改變(見的setSize(50,50))?謝謝!!!還是新的這裏JAVA,哈哈
您已將引用更改爲myLabel,它不再指向屏幕上的內容,所以您對此做了什麼,它永遠不會改變屏幕上顯示的內容。相反,只需使用對myLabel的引用並使用setIcon來更改其圖像。 – MadProgrammer
空佈局很少是構建動態和便攜式用戶界面的答案,因爲每個系統都有自己的字體指標和渲染差異。你應該考慮根據需要使用適當的佈局管理器或複合佈局,並讓API處理這些骯髒的細節 – MadProgrammer
MadProgrammer,我不明白你的意思(我在高中14歲),是的,但是比如setSize工作,框架改變了它的大小,那麼,如何將JLabel添加到容器中(如上所示)。我在容器中添加了標籤,然後將該圖像設置爲可見。如何在同一個容器中再次添加JLabel? – AkihiroSato