2016-01-29 33 views
0

我正試圖製作一個程序,當用戶單擊該郵箱時,郵件將清除。 (必須是6-15個字符)這個東西會被清除,當它被點擊時,我嘗試了使用鼠標偵聽器,但它不會去當我點擊它。Textfield清除字符串

這裏的代碼片段:

abc = new JTextField(" (Must be 6-15 characters)");   
    abc.setBounds(40,130,310,30); 
    abc.setFont(new Font("Lucida Grande", Font.ITALIC, 14)); 
    abc.setForeground(Color.gray);       
    abc.addMouseListener(new MouseAdapter() { 
    public void mouseClicked(MouseEvent e) { 
     abc.setText(""); 
     } 
    }); 
    mainPanel.add(abc); 
+1

它適用於我。你是否宣佈'abc'爲'final'? – Hackerdarshi

回答

0

代碼看起來不錯。請務必@OverridemouseClicked方法和聲明abcfinal

final JTextField abc = new JTextField(" (Must be 6-15 characters)");   
    abc.setBounds(40,130,310,30); 
    abc.setFont(new Font("Lucida Grande", Font.ITALIC, 14)); 
    abc.setForeground(Color.gray);       
    abc.addMouseListener(new MouseAdapter() { 
     @Override 
     public void mouseClicked(MouseEvent e) { 
      abc.setText(""); 
     } 
    }); 
    mainPanel.add(abc); 
+0

它工作。我沒有考慮使用final,因爲我多次使用變量abc,所以我做了一個單獨的。 –

+0

很高興工作!你可以標記這個答案是正確的,也許給它一個upvote? :) – DominicEU

+0

另外我怎樣才能不清除他們存儲在現場,例如用戶切換到另一個盒子,當他點擊它時會清除它。我怎樣才能實現這種方法只有一次? –