JscrollPane ignoriert ComponentOrientation

Status
Nicht offen für weitere Antworten.

jabbah

Mitglied
Hallo zusammen,

ich habe ein kleines Problem mit meiner JScrollPane.
Ich habe zwei JscrollPanes nebeneinander die auch jeweils eine Tabelle enthalten. Die linke ScrollPane soll daher eine ComponentOrientation RIGHT_TO_LEFT haben, damit der untere Scrollbalken ganz rechts ist.
Dies funktioniert auch wunderbar. Nur sobald ich die Größe des Fensters mit der Maus ändere, wird die ComponentOrientation ignoriert und der horizontale Scrollbalken ist wieder in der linken Ecke.

Java:
public void initFrame() {
//....
getTrendPanel().addMouseMotionListener( new MouseMotionListener() {

            @Override
            public void mouseMoved( MouseEvent e ) {}

            @Override
            public void mouseDragged( MouseEvent e ) {
                leftScrollPane.getHorizontalScrollBar().setValue(  leftScrollPane.getHorizontalScrollBar().getMinimum() );
                rightScrollPane.getHorizontalScrollBar().setValue( rightScrollPane.getHorizontalScrollBar().getMinimum() );
            }
        } );
//...

initComponents();
}

public void initComponents() {
//....
leftScrollPane = new JScrollPane();
        leftScrollPane.setName( "leftScrollPane" );
        GridBagConstraints gridBagConstraints = new GridBagConstraints();
        gridBagConstraints.gridx = gridx;
        gridBagConstraints.gridy = gridy;
        gridBagConstraints.fill = GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        gridBagConstraints.insets = new Insets( 1, 1, 1, 1 );
        splittedPane.add( leftScrollPane, gridBagConstraints );
}

public void setLeftComponentToSplittedPane( Component leftComponent ) {
        leftScrollPane.setViewportView( leftComponent );
        // wenn ich es bei der Erstellung des scrollpanes mache, wird es dann scheinbar auch ignoriert. daher hier.
        leftScrollPane.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT );   
}


Achso, den MouseMotionListener kann ich leider nicht zum Fenster selbst adden, da ich nur mit dem Panel arbeite und das Panel erst später auf ein JFrame oder JInternalFrame gesetzt wird.


Wäre schön, wenn mir hier jemand helfen kann, weil der Fehler ist doch schon recht ärgerlich.


Gruß
Jasmin
 

Ebenius

Top Contributor
Ich glaube, [c]applyComponentOrientation(...)[/c] ist Dein Freund. Oder ich hab Dein Problem falsch verstanden. :)

Allerdings halte ich das für äußerst unschön. ComponentOrientation gibt's für Araber und Hebräer. Normaler Weise lässt man die einfach so, wie das System sie gesetzt hat (es sei denn man testet sein GUIs).

Ebenius
 

jabbah

Mitglied
leider funktioniert es auch nicht mit applyComponentOrientation. :-(

Es ist ja nicht so, das die von mir gesetzte ComponentOrientation komplett ignoriert werden. Wenn ich den Dialog öffne, ist die ComponentOrientation der JScrollPane korrekt gesetzt. Fange ich aber nun an das Fenster mit der Maus zu Vergrößern und Verkleinere, dann scheint die ComponentOrientation wieder ignoriert zu werden.

Also Verkleinere ich ihn, dann 'wandert' die horizontale ScrollBar in die Mitte. Wenn ich es danach wieder Vergrößere ist die ScrollBar wieder in der in rechten Ecke.
Verkleinere ich das Fenster aber danach wieder, ist die ScrollBar plötzlich in der linken Ecke.

Ich benutze die ComponentOrientation aus folgendem Grund:
Ich habe einen Dialog der zwei JScrollPanes nebeneinander anzeigt. Diese JScrollPanes enthalten je eine Tabelle.
Diese Tabellen stehen für die Seite 'Kaufen' und 'Verkaufen'. Daher haben beide die selben Spaltennamen (Preis, Stückzahl, Anzahl der Angebote).
Die Spalten der 'Kaufen'-Seite (Anzahl d. Angebote, Stückzahl, Preis) sind in umgekehrter Reihenfolge als die der 'Verkaufen'-Seite (Preis, Stückzahl, Anzahl d. Angebote). So das die PreisSpalten jeweils in der Mitte sind.
Daher muss für diesen Fall die ComponentOrientation der JScrollPane der 'Kaufen'-Seite auf Right_To_Left stehen.

Oder wisst ihr da eine andere Lösung? Bin für Vorschläge offen.

Danke und Gruss
Jasmin
 

Ebenius

Top Contributor
ComponentOrientation ist meiner Meinung nach falsch. Der vertikale Scrollbalken sollte immer rechts sein, weil man ihn nunmal links nicht sucht. Die Spaltenreihenfolge kann man per [c]TableColumnModel[/c] festlegen bzw. ändern. Wenn das alles ist, was Du Dir wünschst.

ComponentOrientation hat viele Effekte. Zum Beispiel werden auch die Zelleninhalte rechts- statt linksbündig angezeigt, die Textfelder des CellEditors sollten ebenfalls auf RTL eingestellt werden, die Spaltenbeschriftung wird rechts- statt linksbündig (abhängig vom L&F natürlich), der Text-Cursor sieht anders aus, und noch viele andere Dinge die mir jetzt nicht einfallen.

Trotzdem: Kannst Du nicht ein winziges, ausführbares Beispielprogramm schreiben, das Dein Problem beinhaltet (und möglichst wenig anderes)? Sonst kann man da sicher wenig helfen.

Ebenius
 

jabbah

Mitglied
die Tabellenspalten habe ich bereits umgedreht. mir nützt das aber nix, wenn ich jetzt die wichtigste spalte, den Preis, nicht mehr sehe, weil die aus den sichtbaren Bereich raus gescrollt ist.

ich weiß, so blöd. aber der Kunde ist dieses Verhalten gewöhnt und möchte sich da nicht umstellen. denn so sieht er die wichtigsten spalten sofort.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JScrollPane ignoriert JPanel mit überschriebener pai.nt() AWT, Swing, JavaFX & SWT 11
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
B Swing JScrollPane scrollt nicht AWT, Swing, JavaFX & SWT 10
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
P Swing JEditorPane in Kombination mit JScrollPane AWT, Swing, JavaFX & SWT 29
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
MaxG. Swing JScrollPane AWT, Swing, JavaFX & SWT 10
Soloeco Swing JScrollPane AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
P MalProgramm mit JScrollPane und Canvas AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
Bluedaishi JScrollpane AWT, Swing, JavaFX & SWT 0
L JScrollPane scrollt nicht !! AWT, Swing, JavaFX & SWT 3
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
F JTable mit JScrollPane AWT, Swing, JavaFX & SWT 4
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
B Swing JPanel in JScrollPane einfügen AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Transparentes JScrollPane AWT, Swing, JavaFX & SWT 0
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
A Swing JScrollPane Problem AWT, Swing, JavaFX & SWT 6
H Swing JScrollPane mit "viel Inhalt" scrollt zu langsam (inkl. See-For-Yourself.jar :D) AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane in JScrollPane - Problem AWT, Swing, JavaFX & SWT 3
K Bug in JScrollPane? AWT, Swing, JavaFX & SWT 4
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
M JScrollPane Header AWT, Swing, JavaFX & SWT 3
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
V LayoutManager JScrollPane verwirft Elementanordnung AWT, Swing, JavaFX & SWT 3
B JScrollPane Problem AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane AWT, Swing, JavaFX & SWT 7
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
B JScrollPane Horizontal klappt nicht. AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
C jPanel auf jScrollPane zentrieren AWT, Swing, JavaFX & SWT 3
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Swing Korrekte JTable.rowAt(point) für JTable in JScrollPane AWT, Swing, JavaFX & SWT 5
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
X JScrollPane zu JTable hinzufügen AWT, Swing, JavaFX & SWT 16
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
D LayoutManager JScrollPane mit dynamischem Inhalt AWT, Swing, JavaFX & SWT 8
P Swing JScrollpane AWT, Swing, JavaFX & SWT 2
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
J JScrollPane Probleme AWT, Swing, JavaFX & SWT 3
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
D Swing JTable in JScrollpane beliebig verbreitern AWT, Swing, JavaFX & SWT 5
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
J Swing Unteren Abstand für JTable in JScrollPane festlegen AWT, Swing, JavaFX & SWT 10
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
M JScrollPane Problem AWT, Swing, JavaFX & SWT 6
S Swing JScrollpane und ViewPort AWT, Swing, JavaFX & SWT 4
D JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 12
X JScrollPane funzt net... AWT, Swing, JavaFX & SWT 5
H jscrollpane AWT, Swing, JavaFX & SWT 12
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
A Problem mit JScrollPane in einer JScrollpane AWT, Swing, JavaFX & SWT 4
B JScrollPane Problem AWT, Swing, JavaFX & SWT 25
T Swing JScrollPane- und Tabelle-Header Problem AWT, Swing, JavaFX & SWT 25
P Swing JScrollPane-Inhalt: Grösse anpassen AWT, Swing, JavaFX & SWT 6
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
A JScrollPane AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben