JButtonを(ボーダーを含めて)透明にすることはできますが、テキストはできませんか? swingのJButtonを拡張し、これをオーバーライドします。
@Override
public void Paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0));
super.Paint(g2);
g2.dispose();
}
しかし、それはテキストを含むすべてを透明にします。ありがとう。
button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);
以下はトリックを行う必要があります。
public class PlainJButton extends JButton {
public PlainJButton (String text){
super(text);
setBorder(null);
setBorderPainted(false);
setContentAreaFilled(false);
setOpaque(false);
}
// sample test method
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel pane = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pane.add(new PlainJButton("HI!!!!"));
frame.add(pane);
frame.pack();
frame.setVisible(true);
}
}