Look & Feel und JSplitPane Problem

Status
Nicht offen für weitere Antworten.
H

harry_t

Gast
Hallo,

ich möchte diese JSplitPane benutzen und nutze für Look & Feel

UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

An sich funktioniert auch fast alles, außer die OneTouchExpandable Buttons sind nicht vorhanden.

Diese Buttons sehe ich nur wenn ich das Standard Java Look & Feel benutze.

Gibt es eine Möglichkeit, manuell kleine Buttons an diese JSplitPane "anzubringen" die eben diese OneTouchExpandable Funktionalität unterstützen.
 
G

Gast

Gast
Dazu müsste man wissen welches Betriebssystem bei dir läuft. Es kann sein, dass die Knöpfe bei bestimmen Betriebssystemen standardmäßig deaktiviert sind. Wobei ich sie hier sowohl unter MacOS als auch unter Windows sehe.

Ansonsten: Versuch doch mal die Knöpfe mit
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JSplitPane.html#setOneTouchExpandable(boolean)
einzuschalten.
 
G

Guest

Gast
Hallo,

danke für die schnelle Antwort.

ich nutze Linux. Diese OneTouch... Option steht auf true..

Scheint also ein Betriebssystem abhängige Sache zu sein.. na dann werde ich da mal etwas nachforschen ..
 
G

Guest

Gast
Komisch,
bei mir funktionierts:
fotorl6.png

Hier der Quellcode dazu:
Code:
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class DemoTest extends JFrame{

	public DemoTest(){
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedLookAndFeelException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		setLayout(new BorderLayout());
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JSplitPane split = new JSplitPane();
		split.setOneTouchExpandable(true);
		
		add(new JScrollPane(split),BorderLayout.CENTER);

		pack();
		setSize(400,300);
		setVisible(true);
	}
	
	
	public static void main(String[] args) {
		new DemoTest();
	}

}

Wobei es IMHO für Linux ja gar kein Native-Look-And-Feel gibt, also sowieso das Standard-Java Cross-Platform-L&F verwendet wird. (wie auch oben zu sehen).
 

L-ectron-X

Gesperrter Benutzer
Wahrscheinlich liegts an der Divider-Breite. Ist er zu schmal, werden die Pfeile nicht angezeigt.
 
H

harry_t

Gast
L-ectron-X hat gesagt.:
Wahrscheinlich liegts an der Divider-Breite. Ist er zu schmal, werden die Pfeile nicht angezeigt.

Leider nein, egal wie groß die Knöpfe erscheinen leider nicht.

Wobei es IMHO für Linux ja gar kein Native-Look-And-Feel gibt, also sowieso das Standard-Java Cross-Platform-L&F verwendet wird. (wie auch oben zu sehen).

Bei mir nicht. Soweit mir bekannt ist, wird seit Java6, dass Aussehen des OS übernommen

Dein Beispiel sieht bei mir so aus:

taqx676u.png
 
G

Gast

Gast
Poste doch mal bitte folgende Infos:
- Welches Linux verwendest du?
- Welches L&F verwendest du?

Hier der code dazu:
Code:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Test extends JFrame{
   public Test(){
	   JLabel label=null;JLabel label2 = null;
      try {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
         label = new JLabel(UIManager.getSystemLookAndFeelClassName());
         label2 = new JLabel(System.getProperty("os.name"));
      } catch (ClassNotFoundException e) {e.printStackTrace();
      } catch (InstantiationException e) {e.printStackTrace();
      } catch (IllegalAccessException e) {e.printStackTrace();
      } catch (UnsupportedLookAndFeelException e) {e.printStackTrace();
      }    
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JSplitPane split = new JSplitPane();
      split.setOneTouchExpandable(true);
      add(label,BorderLayout.NORTH);
      add(label2,BorderLayout.SOUTH);
      add(new JScrollPane(split),BorderLayout.CENTER);
      pack();
      setSize(400,300);
      setVisible(true);
   }
   public static void main(String[] args) {
      new Test();
   }
}
 
H

harry_t

Gast
Linux: Archlinux 06/2008 und Ubuntu 8.04 beides mit GNOME Oberfläche

L&F: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
 
G

Gast

Gast
Dann haben wir ja den Übeltäter: Anscheinend unterstützt das GTK L&F die von dir gewünschte Funktion nicht.

Bei meinem Linux wird nämlich das Cross-Platform L&F verwendet.

Du kannst jetzt folgendes machen, falls die Anwendung auf verschiedenen Systemen eingesetzt wird: Einfach eine simple if-Abfrage, falls das native L&F das GTK wäre, dann verwende das Cross-Platform L&F ansonsten verwende das native L&F.
 
H

harry_t

Gast
Hey danke für die Mühen.. na dann werde ich das wohl erstmal so umsetzen
 

Wildcard

Top Contributor
Gast hat gesagt.:
Du kannst jetzt folgendes machen, falls die Anwendung auf verschiedenen Systemen eingesetzt wird: Einfach eine simple if-Abfrage, falls das native L&F das GTK wäre, dann verwende das Cross-Platform L&F ansonsten verwende das native L&F.
Ist es das Wert? Solange keine wichtige Funktion ausfällt, lieber das System Look and Feel.
 
G

Gast

Gast
Würde auch immer auf das System L&F zurückgreifen, aber anscheinend ist für harry_t dieser Knopf ja sehr wichtig.
 

Wildcard

Top Contributor
Dann vielleicht eher im Falle des GTK Look and Feels eine eigene Implementierung verwenden die den Divider um zwei Knöpfe erweitert.
 
G

Gast

Gast
Wobei ich das eh komisch finde mit dem GTK. Unter Linux gibts halt mal kein einheitliches L&F da kann man gleich auf das von Sun zurückgreifen.
 

Wildcard

Top Contributor
Was findest du daran komisch? Unter Linux gibt es kein einheitliches Look and Feel, weil jeder die freie Wahl hat welchen Fenstermanager er verwenden will. Linux Anwender mögen es eben die Wahl zu haben. Das bedeutet jedoch nicht, das man als Entwickler diese Wahl einfach ignorieren soll.
 
H

harry_t

Gast
Wildcard hat gesagt.:
Dann vielleicht eher im Falle des GTK Look and Feels eine eigene Implementierung verwenden die den Divider um zwei Knöpfe erweitert.

Das ist eine gute Idee.. aber wie setze ich diese genau um. Du hast nicht rein zufällig ein kleines Beispiel, wo genau das realisiert wird ?


Ansonsten... wusste ich nicht das es unter Linux kein einheitliches L&F gibt. Da ich ausschliesslich Gnome somit GTK verwende... und mit java 6 dann die Programme alle so aussahen wie Systemeigene, dachte ich das seitens Sun da irgendwas Neues, Großartiges implementiert wurde, was eben genau das systeminterne L&F nimmt.. unabhängig vom verwendeten Fenstermanager und Betriebssystem.. nagut wieder was dazu gelernt ;)
 

Wildcard

Top Contributor
Schau dir mal die BasicSplitPaneDivider Klasse an. Das Verhalten sollte sich mit etwas Handarbeit einbauen lassen.
Ansonsten... wusste ich nicht das es unter Linux kein einheitliches L&F gibt.
Sun hat eher ein Augenmerk auf Gnome, wegen Solaris. So ein Look and Feel erstellt man leider nicht innerhalb von 3 Wochen und bei der Vielzahl der Window Manager für Linux wird es dann schwierig (Gnome, KDE, Fluxbox, XFCE,...).
Möglicherweise gibt es für einen Teil dieser Windowmanager eine externe Implementierung. Sun Java verwendet bei GTK das GTK Look and Feel, ansonsten aber Cross Plattform.
 

Wildcard

Top Contributor
Mit ein wenig Glück genügt es auch mit UIDefaults das Property SplitPane.supportsOneTouchButtons auf Boolean.TRUE zu setzen. Muss man versuchen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Hatsi09 Look and Feel AWT, Swing, JavaFX & SWT 6
MaxG. Swing Java Look and Feel AWT, Swing, JavaFX & SWT 2
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
G LookAndFeel Tutorial für Erstellung eines eigenen Look And Feel AWT, Swing, JavaFX & SWT 3
javampir Look&Feel von JMenuItem AWT, Swing, JavaFX & SWT 3
V Nimbus Look and Feel register Region problem AWT, Swing, JavaFX & SWT 5
J Eigenes Gui/ Look and Feel AWT, Swing, JavaFX & SWT 14
S Look und Feel ändert sich nicht AWT, Swing, JavaFX & SWT 4
B Eigenen Look&Feel erstellen?! AWT, Swing, JavaFX & SWT 2
V Nimbus Look And Feel Button textForeground AWT, Swing, JavaFX & SWT 8
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
C Swing JTattoo - Look and Feel für ALLE User AWT, Swing, JavaFX & SWT 5
N Nimbus Look & Feel AWT, Swing, JavaFX & SWT 4
B Windows Look and Feel AWT, Swing, JavaFX & SWT 2
eLogic Look And Feel - Einstellen AWT, Swing, JavaFX & SWT 3
B Look And Feel ändern (Netbeans) AWT, Swing, JavaFX & SWT 18
V Swing Nimbus Look And Feel verschiedene Buttons AWT, Swing, JavaFX & SWT 8
B LookAndFeel Cell Renderer für JTable bei Nimbus Look and Feel AWT, Swing, JavaFX & SWT 2
K LookAndFeel Look And Feel ändert sich nicht AWT, Swing, JavaFX & SWT 8
Dragonfire Swing UTF-8 BOB Probleme mit Windows Look and Feel AWT, Swing, JavaFX & SWT 4
I LookAndFeel Wie kann ich das Look and Feel "Blue Vista" verwenden? AWT, Swing, JavaFX & SWT 4
trash Look and Feel Probleme AWT, Swing, JavaFX & SWT 10
Developer_X LookAndFeel Eigenes Look And Feel erstellen AWT, Swing, JavaFX & SWT 33
J Auf die im Look and Feel eingestellten Farben zugreifen AWT, Swing, JavaFX & SWT 2
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
W Look and Feel für einzelnde JFrames AWT, Swing, JavaFX & SWT 4
S Swing: Look and Feel abändern oder für Teilkomponenten anderes LaF setzen AWT, Swing, JavaFX & SWT 2
B Look and Feel Designer für GUI AWT, Swing, JavaFX & SWT 2
aze JXTaskPane Look and Feel ändern AWT, Swing, JavaFX & SWT 2
S LookAndFeel Look and Feel mit Windows funktioniert nicht AWT, Swing, JavaFX & SWT 8
E Look & Feel - Nimbus AWT, Swing, JavaFX & SWT 12
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
G Look And Feel in Eclipse AWT, Swing, JavaFX & SWT 2
J Java Look And Feel- Welche gefallen euch am besten? AWT, Swing, JavaFX & SWT 12
T Look & Feel Skins/Themes AWT, Swing, JavaFX & SWT 9
R JScrollBar mit eigenem look and feel AWT, Swing, JavaFX & SWT 6
M Problem Nimbus Look&Feel AWT, Swing, JavaFX & SWT 2
P JTable: nicht im gewünschten Look&Feel AWT, Swing, JavaFX & SWT 3
C JTextArea und Look&Feel AWT, Swing, JavaFX & SWT 14
G windows look and feel problem AWT, Swing, JavaFX & SWT 7
M JTable Zeilenhöhe Look and Feel AWT, Swing, JavaFX & SWT 2
A Was ist Look and Feel und wie wirds bearbeitet AWT, Swing, JavaFX & SWT 7
G bestes Look & Feel ? AWT, Swing, JavaFX & SWT 15
G Look&Feel AWT, Swing, JavaFX & SWT 5
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
F Externes Look & Feel für Swing wie importieren/verwenden AWT, Swing, JavaFX & SWT 3
J Lookand Feel JGoodies <-> MetalLookAndFeel AWT, Swing, JavaFX & SWT 2
P Swing mit substance look/feel fenster repaint AWT, Swing, JavaFX & SWT 7
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
S Oyoaha Look and Feel AWT, Swing, JavaFX & SWT 4
S LOOK and FEEL fü MAC AWT, Swing, JavaFX & SWT 11
X Metal Look and Feel in schwarz AWT, Swing, JavaFX & SWT 3
B Allgemeine Frage zu Look&Feel AWT, Swing, JavaFX & SWT 2
Bernasconi Look and Feel Problem AWT, Swing, JavaFX & SWT 6
M Look&Feel, JButton ,Opaque AWT, Swing, JavaFX & SWT 2
oliver1974 Nimbus Look & Feel und die Ausgaben nach Standardaus. AWT, Swing, JavaFX & SWT 4
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
F JInternalFrame Look and Feel AWT, Swing, JavaFX & SWT 3
T Look and Feel ändern geht nicht, obwohl es geht. AWT, Swing, JavaFX & SWT 2
N JFileChooser mit WindowsLook&Feel AWT, Swing, JavaFX & SWT 6
O Look And Feel greift nicht im Hauptfenster (JFrame)! AWT, Swing, JavaFX & SWT 11
padde479 Look And Feel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D Aerith Look & Feel AWT, Swing, JavaFX & SWT 3
G Fonts bei Look And Feel AWT, Swing, JavaFX & SWT 3
G JTable wird im Windows Look&Feel nicht gedruckt AWT, Swing, JavaFX & SWT 5
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
V Lock & Feel für Error-Messages AWT, Swing, JavaFX & SWT 6
W Anderes Look And Feel AWT, Swing, JavaFX & SWT 9
Hotkey Freie Icons für Anwendung mit Java Look&Feel AWT, Swing, JavaFX & SWT 4
L Wie look & feel ändern? AWT, Swing, JavaFX & SWT 2
H Look&Feel - Mnemonics - java5 AWT, Swing, JavaFX & SWT 2
G Java 1.5 Look&Feel zur Laufzeit auf 1.4 umstellen möglic AWT, Swing, JavaFX & SWT 2
M Look&Feel - Layout - GUI - Design - SAP LnF :) AWT, Swing, JavaFX & SWT 12
G Fragen zum Ocean Look and Feel AWT, Swing, JavaFX & SWT 3
F Look and Feel zur Laufzeit ändern macht Probleme AWT, Swing, JavaFX & SWT 3
B Look & Feel AWT, Swing, JavaFX & SWT 5
S Anderes Look'n'Feel = JTextArea doppelt so gross! AWT, Swing, JavaFX & SWT 13
javasdann JTable Kopfzeile in Windows Look&Feel unschön. AWT, Swing, JavaFX & SWT 3
M Look and Feel Standard AWT, Swing, JavaFX & SWT 5
G Look&Feel geht nicht AWT, Swing, JavaFX & SWT 3
U Billiges Look And Feel AWT, Swing, JavaFX & SWT 12
L-ectron-X Kann man dieses Look & Feel einbinden? AWT, Swing, JavaFX & SWT 7
P Eigenes Look&Feel schreiben (Tutorials?) AWT, Swing, JavaFX & SWT 6
G Look&Feel wird nur teilweise angezeigt! AWT, Swing, JavaFX & SWT 9
M Frage zum Look and Feel AWT, Swing, JavaFX & SWT 4
R JScrollpane mit Look'n'Feel AWT, Swing, JavaFX & SWT 6
A Look and Feel einer Anwendung verändern AWT, Swing, JavaFX & SWT 7
M Look And Feel nur für eine Komponente? AWT, Swing, JavaFX & SWT 2
Z Look&Feel-Wechsel bringt mein GUI durcheinander AWT, Swing, JavaFX & SWT 5
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
L JSplitPane Divider Location beim Maximieren AWT, Swing, JavaFX & SWT 6
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
M Swing JSplitPane beide Seiten fixieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben