удалить синий цвет из JTabbedPane - PullRequest
2 голосов
/ 04 марта 2011

Это первый раз, когда я использую JTabbedPane. Кажется, что внешний вид по умолчанию отображает синюю рамку границы над вкладкой и вокруг самого компонента. Как я могу отключить этот эффект?

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Ну, одним простым и быстрым способом вы можете удалить этот «эффект», установив LookAndFeel в SystemLookAndFeel (или любой другой lookandfeel):

    UIManager.setLookAndFeel(
        UIManager.getSystemLookAndFeelClassName());

Пожалуйста, прочитайте эту статью, чтобы вы могли лучше понять эту тему: http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

0 голосов
/ 03 июня 2014

Изменение внешнего вида с помощью "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);
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...