java - sirve - Transparent JButton
propiedades jbutton java (2)
¿Es posible hacer que un JButton sea transparente (incluido el borde) pero no el texto? Extiendo el JButton de swing y anulo esto:
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0));
super.paint(g2);
g2.dispose();
}
pero hace que todo sea transparente, incluido el texto. Gracias.
Lo siguiente debería hacer el truco.
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);
}
}
button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);