2016-06-12 15 views
0

私は、より大きな四角形の六角形のボードを持っています。ボタンの上にマウスを置くと、そのボタンが前面に表示されます

g.setColor(getBackground()); 
g.fillPolygon(hexagon); 
g.setColor(getForeground()); 
g.drawPolygon(hexagon); 

各六角形がホバーされるたびに、全体矩形が他の六角形を重複エッジの周りに現れる白い矩形が得られ、正面にもたらされます。 http://prntscr.com/bfiixt < - この問題の例。

どのようにしてこの背景を透明にすることができますか?私はこの問題を抱えていませんか、またはボタンを前面に持っていくのを止めるにはどうすればいいですか?おかげさまで このコードを追加することによって修正

FontMetrics fm = getFontMetrics(getFont()); 
     Rectangle viewR = getBounds(); 
     Rectangle iconR = new Rectangle(); 
     Rectangle textR = new Rectangle(); 

     SwingUtilities.layoutCompoundLabel(this, fm, getText(), null, SwingUtilities.CENTER, 
       SwingUtilities.CENTER, SwingUtilities.BOTTOM, SwingUtilities.CENTER, viewR, iconR, textR, 0); 

     Point location = getLocation(); 
     g.drawString(getText(), textR.x - location.x, textR.y - location.y + fm.getAscent()); 
+0

私たちを助けるためのコードはありますか? – SomeDude

+0

@svasaこれを編集してコードを追加しました。 – oodle600

答えて

0

:この問題を有する他の人のため

btn.setContentAreaFilled(false); 
btn.setFocusPainted(false); 
btn.setBorderPainted(false); 

、これは透明に物体内部六角形の外側何かを変更することによってそれを修正しました。

関連する問題