Я хочу, чтобы создать красный JButton
:Установить цвет для JButton без регулировки границы
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);
}
});
}
}
Есть ли способ, чтобы сделать красную кнопку без использования
setBorderPainted(false);
Когда он не используется, границы но не сама кнопка, однако я не хочу использовать эту строку, потому что она удаляет мягкие края кнопки. Есть ли другой способ покрасить кнопку?
Альтернативное решение: Вы можете нарисовать свою границу с выбранным цветом, как это: button2.setBorder (BorderFactory.createLineBorder (Color.black)); –
В другом сообщении уже дан ответ, что это вопрос LAF. Эта информация не упоминалась в этом вопросе. Если вы используете Mac и знаете решение, проверьте другую публикацию. Содержите всю информацию о проблеме вместе в одном сообщении, чтобы все знали, что уже обсуждалось и предлагалось. – camickr