2017-09-08 10 views
0

多くの見えないJButtonを含むプログラムを作成しましたが、マウスの上にマウスを移動すると、それらはすべて左上のJButtonの背景になり、実際に使用するのが難しくなります。また、右下にマウスを置くとすべてがリセットされます。なぜこのようなことが起こるのか?ありがとう。それが機能する場合にはWhen initiating the programWhen using the mouse透明なJButtonは他のバックグラウンドを取って、それを修正する方法は?

ため

画像は、方法は、私は(JButtonのの拡張である)のボタンが見えないペイントオーバーライド機能は何もしないことによってであることを確認してください。

public void paint(Graphics g) { 

} 
+2

'setVisible'の何が問題なのですか? – MadProgrammer

+0

すぐに役立つように、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –

答えて

1

非表示として、塗装方法を混乱させないでください。ここでそれを行う方法です。

private JButton getInvisibleButton() { 
    // create a TRANSPARENT image to give the button a size 
    BufferedImage bi = new BufferedImage(16,16,BufferedImage.TYPE_INT_ARGB); 
    JButton b = new JButton(new ImageIcon(bi)); 
    b.setBorderPainted(false); 
    b.setContentAreaFilled(false); 
    b.addActionListener(actionListener); 
    // change to false to hide them even when focused 
    b.setFocusPainted(true); 
    return b; 
} 
関連する問題