Est-il possible de rendre un JButton transparent (y compris la bordure) mais pas le texte? J'étends le JButton de swing et je remplace ceci:
@Override
public void Paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0));
super.Paint(g2);
g2.dispose();
}
mais cela rend tout transparent, y compris le texte. Merci.
button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);
Ce qui suit devrait faire l'affaire.
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);
}
}