2016-04-05 4 views
0

ラベルファイルに名前がついている場合はテキストファイルを開き、ラベルをクリックすると同じラベルテキストのファイルが開きます。 マウスでクリックしたリスナーを使用しようとしましたが、ラベル名を取得する方法がわかりません。Javaのマウスクリックリスナーでラベル名を取得

これはコードです:

MouseListener ml = new MouseListener() { 
     @Override 
     public void mouseReleased(MouseEvent e) {} 

     @Override 
     public void mousePressed(MouseEvent e) {} 

     @Override 
     public void mouseExited(MouseEvent e) {} 

     @Override 
     public void mouseEntered(MouseEvent e) {} 

     @Override 
     public void mouseClicked(MouseEvent e) { 
      System.out.println(e.getText()); 
      } 
    }; 

    label1.addMouseListener(ml); 

    label2.addMouseListener(ml); 

    label3.addMouseListener(ml); 
+0

スウィング・コンポーネントを試すファイル・セレクタ:https://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html –

答えて

1

名で、ラベルには、ラベルのテキストを意味しましたか?

class CustomLabelClickListener implements MouseListener { 

    String labelText; 
    public void MouseLabelClickListner(String text) { 
     labelText = text; 
    } 
... 

@Override 
     public void mousePressed(MouseEvent mouseEvent) { 
      System.out.println(label.getText()) 
     } 
... 
} 

をラベル付けするために、カスタム・リスナーを追加します:あなたは

label.getText(); 

EDITで簡単にテキストを取得することができます

label1.addMouseListener(new CustomLabelClickListener(label1.getText())); 

ラベルをクリックすると、テキストがコンソールに表示されます。

+0

ええ、私はそれを知っていますが、私は複数のラベルのために1つのマウスを使用しています –

+0

もっと具体的になりますか?多分、スクリーンショットを追加したり、コードを提供すると助けになるかもしれません。 –

+0

コードが質問に追加されました。 –

2

これはあなたのために働く必要があります。

label.addMouseListener(new MouseAdapter() { 
    @Override 
    public void mouseClicked(MouseEvent e) { 
      System.out.println(label.getText()); 
    } 
}); 
+0

ええ、私はそれを知っていますが、複数のラベルに1つのマウスを使用しています –

関連する問題