LookAndFeel Erstellung :: Problem mit JTabbedPanes

Status
Nicht offen für weitere Antworten.
Hi. Ich bin dabei mein eigenes LookAndFeel zu entwickeln.
Bin auch schon recht fertig, allerdings gibt es bei einer Komponente ein nerviges Problem: JTabbedPane.
Ich hab mein UI dafür von BasicTabbedPaneUI abgeleitet und die Methode paintTabBackground entsprechend überschrieben, so dass ein Verlauf gezeichnet wird.
Wenn die Tabs nur eine Zeile in anspruch nehmen funktioniert das einwandfrei, sobald allerdings mehrere Zeilen benötigt werden sieht das ganze wesentlich schlechter aus.
Der Verlauf ist dann nur in der ersten Zeile sichtbar, d.h. korrekt. Die anderen bekommen sozusagen nur noch die Ausläufe des Verlaufs mit.

Wer's testen möchte:
Neuste Version inkl. SourceCode downloaden
Anleitung: Deutsch | Englisch

Hier die entsprechende Methode:
Code:
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex,
                                  int x, int y, int w, int h, boolean isSelected ) {
	Graphics2D gfx = (Graphics2D)g;
	Color a;
	Color b;
	if(isSelected) {
		a = UIManager.getColor("tabbedPaneTabSelectedGradientTop");
		b = UIManager.getColor("tabbedPaneTabSelectedGradientBottom");
	} else {
		a = UIManager.getColor("tabbedPaneTabGradientTop");
		b = UIManager.getColor("tabbedPaneTabGradientBottom");
	}
	gfx.setPaint(new GradientPaint(0, 0, a, 0, h, b));
	switch(tabPlacement) {
		case LEFT:  gfx.fill(new Rectangle(x+1, y+1, w-2, h-3));
			break;
		case RIGHT: gfx.fill(new Rectangle(x, y+1, w-2, h-3));
			break;
		case BOTTOM: gfx.fill(new Rectangle(x+1, y, w-3, h-1));
			break;
		case TOP: default: gfx.fill(new Rectangle(x+1, y+1, w-3, h-1));
	}
}

Ist noch nicht wirklich sauber programmiert, aber es funktioniert zumindest - bis auf die eine Ausnahme.
Ich bin leider mit meinem Latein am Ende und kann den Fehler nicht nachvollziehen. Vielleicht hat ja jemand von euch eine Idee?

Ich sag schonmal danke. :)
 
B

Beni

Gast
Man erhält das hier...
forum_037.png


... indem man die Koordinaten des GradientPaint leicht anders setzt:
Code:
    protected void paintTabBackground( Graphics g, int tabPlacement,
            int tabIndex, int x, int y, int w, int h, boolean isSelected ) {
        
        Graphics2D gfx = (Graphics2D) g;
        Color a;
        Color b;
        if (isSelected) {
            a = UIManager.getColor( "tabbedPaneTabSelectedGradientTop" );
            b = UIManager.getColor( "tabbedPaneTabSelectedGradientBottom" );
        } else {
            a = UIManager.getColor( "tabbedPaneTabGradientTop" );
            b = UIManager.getColor( "tabbedPaneTabGradientBottom" );
        }

        // Die Koordinaten sind anders gesetzt
        gfx.setPaint( new GradientPaint( 0, y+1, a, 0, y+1+h, b ) );
        
        switch (tabPlacement) {
        	case LEFT:
        	    gfx.fill( new Rectangle( x + 1, y + 1, w - 2, h - 3 ) );
        	    break;
        	case RIGHT:
        	    gfx.fill( new Rectangle( x, y + 1, w - 2, h - 3 ) );
        	    break;
        	case BOTTOM:
        	    gfx.fill( new Rectangle( x + 1, y, w - 3, h - 1 ) );
        	    break;
        	case TOP:
        	default:
        	    gfx.fill( new Rectangle( x + 1, y + 1, w - 3, h - 1 ) );
        }
    }
 
Danke dir. :)
Ich sitz da jetzt schon ein paar Wochen dran ... hatte schon mit den Koordinaten gespielt, allerdings hat sich das Ergebnis dabei nur verschlechtert gehabt.
Danke dir. :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
F Setzen des LookAndFeel AWT, Swing, JavaFX & SWT 4
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
U LookAndFeel für eine Komponente AWT, Swing, JavaFX & SWT 2
N LookAndFeel Wie kann ich mein eigenes LookAndFeel machen? AWT, Swing, JavaFX & SWT 6
I LookAndFeel setzen AWT, Swing, JavaFX & SWT 17
I LookAndFeel AWT, Swing, JavaFX & SWT 15
GUI-Programmer Translucent JFrame mit System-LookAndFeel AWT, Swing, JavaFX & SWT 4
D LookAndFeel setzen AWT, Swing, JavaFX & SWT 2
hdi Swing ListCellRenderer und LookAndFeel AWT, Swing, JavaFX & SWT 11
K LookAndFeel LookAndFeel nur für einen Frame? AWT, Swing, JavaFX & SWT 6
B LookAndFeel für einen Komponenten AWT, Swing, JavaFX & SWT 2
J Swing LookAndFeel Klassenname herausfinden AWT, Swing, JavaFX & SWT 2
FuriKuri LookAndFeel in Linux setzen AWT, Swing, JavaFX & SWT 16
T Swing Substance LookAndFeel verhält sich merkwürdig AWT, Swing, JavaFX & SWT 4
G LookAndFeel AWT, Swing, JavaFX & SWT 5
G setLookAndFeel to default LookAndFeel? AWT, Swing, JavaFX & SWT 4
D LookAndFeel mit WindowBlinds AWT, Swing, JavaFX & SWT 2
DeeDee0815 LookAndFeel während der Laufzeit verstellen AWT, Swing, JavaFX & SWT 4
I LookAndFeel AWT, Swing, JavaFX & SWT 3
B Frage zu Synth LookAndFeel AWT, Swing, JavaFX & SWT 4
G Windows LookAndFeel - Classpath AWT, Swing, JavaFX & SWT 6
G Ändern der Standartschrift vom LookAndFeel AWT, Swing, JavaFX & SWT 4
G JButton LookAndFeel AWT, Swing, JavaFX & SWT 2
O LookAndFeel und Performance AWT, Swing, JavaFX & SWT 7
M Problem mit LookAndFeel auf unterschiedlichen Rechnern AWT, Swing, JavaFX & SWT 3
B XP-LookAndFeel + modifizierter JTableHeader unsichtbar AWT, Swing, JavaFX & SWT 3
M LookAndFeel? Erst beim 2.Mal Öffnen eines Menüs? AWT, Swing, JavaFX & SWT 3
D Font eines JLabels verändern, JLabel mit LookAndFeel-Format AWT, Swing, JavaFX & SWT 2
N LookAndFeel - Nicht gleich alles überschreiben AWT, Swing, JavaFX & SWT 8
G JFileChooser: leeres Fenster nach LookAndFeel-Wechel AWT, Swing, JavaFX & SWT 7
M LookAndFeel und Mnemonische Kürzel AWT, Swing, JavaFX & SWT 7
G LookAndFeel in extra Fenster einstellbar AWT, Swing, JavaFX & SWT 2
B wie behält man die aktuellen LookAndFeel einstellungen? AWT, Swing, JavaFX & SWT 7
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
L JavaFX WebView Erstellung nicht möglich AWT, Swing, JavaFX & SWT 4
J Swing Erstellung eines User Interface AWT, Swing, JavaFX & SWT 2
I Erstellung eines kleinen Programmes AWT, Swing, JavaFX & SWT 8
E 3D-Grafik LWJGl OpenGL Version vor Erstellung des Displays abfragen AWT, Swing, JavaFX & SWT 2
G LookAndFeel Tutorial für Erstellung eines eigenen Look And Feel AWT, Swing, JavaFX & SWT 3
T Erstellung einer ShadowMap mit Java3D AWT, Swing, JavaFX & SWT 6
R Tool für die Erstellung von Mockups AWT, Swing, JavaFX & SWT 2
W Swing gute Ide für GUI Erstellung gesucht AWT, Swing, JavaFX & SWT 3
R Arten der GUI-Erstellung AWT, Swing, JavaFX & SWT 2
E Swing Problem bei Erstellung von GUI für Routenplaner AWT, Swing, JavaFX & SWT 3
F Frage zu Dialogen mit JDialog -Erstellung des Konstruktors AWT, Swing, JavaFX & SWT 3
L JFreeChart - Performance bei PNG-Erstellung AWT, Swing, JavaFX & SWT 5
H Swing Saubere Erstellung einer Tabelle AWT, Swing, JavaFX & SWT 3
L Frage zu Erstellung des Menu mit JFace AWT, Swing, JavaFX & SWT 2
M Probleme bei Erstellung eines jar archives AWT, Swing, JavaFX & SWT 10
P Erstellung eines GUI. Wie fängt man an? AWT, Swing, JavaFX & SWT 6
B Problem bei der Erstellung einer Bilddatei aus einem JPanel AWT, Swing, JavaFX & SWT 16
T Problem bei der Erstellung eines GridBagLayouts AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben