从JTabbedPane中删除蓝色颜色

3

这是我第一次使用JTabbedPane。默认的外观似乎在选项卡上和组件周围显示一个蓝色边框。我该如何禁用这个效果?

2个回答

4

嗯,您可以通过将LookandFeel设置为SystemLookAndFeel(或任何其他lookandfeel)来轻松快速地消除此“效果”:

    UIManager.setLookAndFeel(
        UIManager.getSystemLookAndFeelClassName());

请阅读这篇文章,以便更好地了解该主题:http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html。该文章与IT技术有关,涵盖Swing用户界面UI的外观和感觉选项。它旨在帮助开发人员定制和美化其应用程序的外观。

0

使用 "UIManager" 更改外观和感觉

            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Enabled].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Enabled+MouseOver].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Enabled+Pressed].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Focused+MouseOver+Selected].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Focused+Pressed+Selected].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Focused+Selected].backgroundPainter", new BackgroundPainter(Color.GRAY));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[MouseOver+Selected].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Pressed+Selected].backgroundPainter", new BackgroundPainter(Color.white));
            UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab[Selected].backgroundPainter", new BackgroundPainter(Color.white));

BackgroundPainter类

public class BackgroundPainter implements Painter<JComponent> {

private Color color = null;

BackgroundPainter(Color c) {
    color = c;
}

@Override
public void paint(Graphics2D g, JComponent object, int width, int height) {
    if (color != null) {
        g.setColor(color);
        g.fillRect(0, 0, width - 1, height - 1);
    }
}

}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接