2017-10-26 17 views
0

mouseClickedを使用してJLabelの背景を青に変更したいとします。私のJLabelの名前はlblKembaliです。このコードを試してみましたが、ラベルをクリックしようとしたときに背景が変わっていませんでした。助けてください。ありがとうございました。JavaのJLabelをクリックしたときにJLabelの背景を変更するには

lblKembali = new JLabel("Kembali"); 
lblKembali.setPreferredSize(new Dimension(400,30)); 
lblKembali.setMaximumSize(getPreferredSize());  
lblKembali.addMouseListener(new java.awt.event.MouseAdapter() { 
      @Override 
      public void mouseClicked(MouseEvent e) { 
        lblKembali.setBackground(Color.BLUE); 
      } 
     }); 
+0

あなた 'JLabel'を作ってみましょう不透明: 'lblKembali.setOpaque(true)' – Berger

+0

[JLabelの背景色を設定するにはどうすればいいですか?](https://stackoverflow.com/questions/2380314/how-do-i-set-a-jlabels-背景色) – BrenoQ

答えて

2

デフォルトでは、JLabelは非不透明であるため、その背景はペイントされません。あなたはそれを作成するときにラベルを不透明にする必要があります。

lblKembali = new JLabel("Kembali"); 
lblKembali.setOpaque(true); 

それが実行して、複数のコンポーネントで共有することができますので、また、あなたのリスナーが、より汎用的にすることができます。

public void mouseClicked(MouseEvent e) 
{ 
    Component c = e.getComponent(); 
    c.setBackground(Color.BLUE); 
} 
+0

ありがとう:D –

関連する問題