JTabbedPane i kolor ramki

0

Witajcie, jak usunąć, przekolorować lub też uczynić przezroczystą tą ramkę od JTabbedPane widoczną na screenie:
user image
od razu mówię, że ustawienie empty bordera nie działa, setOpaque(false) również, ani zwykłe setBackground i setForeground.
Trochę to szpeci mój design programu, więc proszę o pomoc.
Dzięki.

1

Trochę googlania oraz wkładu własnego doprowadziło mnie do takich rezultatów...

import java.awt.Color;
import javax.swing.*;
import javax.swing.plaf.basic.BasicTabbedPaneUI;

public class PaneTest {

	public static final Color TRANSPARENT = new Color(0, 0, 0, 0);

	public static void main(String[] args)
	{
		// globalnie dla uimanagera
		UIManager.put("TabbedPane.background", TRANSPARENT);
		UIManager.put("TabbedPane.selected", TRANSPARENT);
		UIManager.put("TabbedPane.background", TRANSPARENT);

		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(400, 400);
		frame.setLocationRelativeTo(null);
		frame.setLayout(null);

		
		
		JTabbedPane pane = new JTabbedPane();
		pane.setBounds(10, 10, 200, 200);
		
		// custom ui
		pane.setUI(new BasicTabbedPaneUI() {
			@Override
			protected void installDefaults()
			{
				super.installDefaults();
				highlight = TRANSPARENT;
				lightHighlight = TRANSPARENT;
				shadow = TRANSPARENT;
				darkShadow = TRANSPARENT;
				focus = TRANSPARENT;

				contentBorderInsets.top = 0;
				contentBorderInsets.left = 0;
				contentBorderInsets.right = 0;
				contentBorderInsets.bottom = 0;
			}
		});
		pane.setBackground(TRANSPARENT);
		pane.setOpaque(false);

		pane.addTab("foo", new JPanel());
		pane.addTab("bar", new JPanel());

		frame.add(pane);

		frame.setVisible(true);
	}

}

JTabbedPane nie jest widoczny w ogóle, jedynie tytuły zakładek widać...
trochę to pozmieniasz, to będziesz miał z tego użytek

1 użytkowników online, w tym zalogowanych: 0, gości: 1