Ответ 1
button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);
Можно ли сделать 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);
}
}