2015-05-24 49 views
0

好吧,這應該是一個簡單的程序,用於刪除一個標籤並添加另一個標籤,但是當我單擊按鈕時沒有任何反應。我對任何擺動或J相關的東西都很陌生,所以請儘可能地說明問題。JButton不會更改標籤並添加新標籤

import javax.swing.*; 
    import java.awt.*; 
    import java.awt.event.ActionListener; 
    import java.awt.event.ActionEvent; 

    class JDisappearingFriends{ 
     public static void main (String[] args){ 
     JFrame frame1 = new JFrame(); 
     frame1.setVisible(true); 
     frame1.setSize(100, 100); 
     frame1.setDefaultCloseOperation(frame1.EXIT_ON_CLOSE); 

     JLabel label1 = new JLabel(); 
     label1.setText("Hello"); 
     frame1.add(label1); 
     JLabel label2 = new JLabel(); 

     JButton btnChangeFriends = new JButton("Change Friends"); 
     btnChangeFriends.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       frame1.remove(label1); 
       label2.setText("Goodbye"); 
       frame1.add(label2); 
     } 
     }); 


     frame1.getContentPane().add(btnChangeFriends, BorderLayout.SOUTH); 
     } 



    } 

回答

0

最簡單的解決方法就是改變標籤上的文字:

label1.setText(...); 

當您從您需要調用佈局管理器GUI添加/刪除組件。基本代碼是:

panel.remove(...); 
panel.add(...); 
panel.revalidate(); 
panel.repaint();