2012-04-21 6 views
1

JLabelをクリックしてJTextFieldを設定するにはどうすればよいですか?JLabelをクリックしてJTextフィールドを設定するにはどうすればよいですか?

私は何を追加する必要があります

public void mouseClicked(java.awt.event.MouseEvent evt) { 
     jLabel2MouseClicked(evt); 
} 

private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) { 

} 
+0

あなたは、このようなフィールドとして、あなたの例のコードにいくつかのより多くのコンテキストを追加してもらえますか?また、ユーザーがラベルをクリックできるようにしていることは疑いがあります。 –

+0

はい私はラベルをクリックすることを許可しています。また、JtextFieldにラベルを設定したい場合は、クリックしてください。 – user1276381

+0

これはちょっと変わったようですが、jLa​​belをクリックすると(setVisible(false))、JLabelを非表示にして、Jtextfieldを同じ場所に配置することができます。なぜあなたがそのアプローチを取るのかは分かりません。 – Chris911

答えて

3

私はまた、ラベルをクリックできるようにした理由を問うだろう。なぜボタンを使用しないのですか?とにかく

は、あなたが正当な理由を持っていると仮定すると、これは、あなたがそれを行うことができる方法である:

final JFrame frame = new JFrame(); 
    final JLabel label1 = new JLabel("Label 1"); 
    final JLabel label2 = new JLabel("Label 2"); 
    final JTextField textField = new JTextField(); 
    MouseListener mouseListener = new MouseAdapter() { 
     @Override 
     public void mouseClicked(MouseEvent e) { 
      textField.setText(((JLabel) e.getSource()).getText()); 
     } 

    }; 
    label1.addMouseListener(mouseListener); 
    label2.addMouseListener(mouseListener); 
    frame.add(label1, BorderLayout.NORTH); 
    frame.add(label2, BorderLayout.CENTER); 
    frame.add(textField, BorderLayout.SOUTH); 
    frame.pack(); 
    frame.setVisible(true); 
関連する問題