Ich mag eine rote JButton
erstellen:-Set Farbe auf JButton ohne Rand Anpassung
import java.awt.*;
import javax.swing.*;
public class RedButtonTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Red Button Color Test");
JPanel pane1 = new JPanel(new FlowLayout());
JPanel pane2 = new JPanel(new FlowLayout());
JButton button1 = new JButton();
JButton button2 = new JButton();
frame.setSize(new Dimension(300, 300));
button1.setPreferredSize(new Dimension(100, 100));
button2.setPreferredSize(new Dimension(100, 100));
button2.setBackground(Color.red);
button2.setBorderPainted(false); //This line
button2.setOpaque(true);
pane1.add(button1);
pane2.add(button2);
frame.add(pane1, BorderLayout.WEST);
frame.add(pane2, BorderLayout.EAST);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
Gibt es eine Möglichkeit, die Taste rot zu machen, ohne
setBorderPainted(false);
Wenn nicht in Gebrauch, die Grenzen rot und nicht die Schaltfläche selbst, aber ich möchte diese Zeile nicht verwenden, da sie die weichen Kanten der Schaltfläche entfernt. Gibt es eine andere Möglichkeit, eine Schaltfläche zu färben?
Alternative Lösung: Sie können die Grenze zu einer ausgewählten Farbe wie folgt malen: button2.setBorder (BorderFactory.createLineBorder (Color.black)); –
Die Antwort wurde bereits im anderen Beitrag gegeben, dass es sich um ein LAF-Thema handelt. Diese Information wurde in dieser Frage nicht erwähnt. Wenn Sie einen Mac benutzen und eine Lösung kennen, dann schauen Sie sich den anderen Beitrag an. Halten Sie alle Informationen über das Problem in einem einzigen Beitrag zusammen, damit jeder weiß, was bereits besprochen und vorgeschlagen wurde. – camickr