自java 9以来,swing TitleBorder的外观发生了更改

jtw3ybtb  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(216)

我注意到一只猫的外表有所不同 TitledBorder 在具有本机外观的windows上的Java8(及更早版本)和Java9(及更高版本)之间。从Java9开始,边框更暗,没有圆角。尤其是嵌套的 TitledBorder ,这看起来令人不安。有没有一种方法可以使用Java9并像Java8那样绘制边框?

mwe:

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;

public class TitledBorderWithJava9 {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (Exception e) {
                //...
            }
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(150, 100);
            JPanel panel = new JPanel();
            frame.add(panel);

            TitledBorder border = BorderFactory.createTitledBorder("Title");
            panel.setBorder(border);

            frame.setVisible(true); 
        });
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题