Swing - Frage zur Umsetzung von einem Menü auf der linken Seite

hesk

Erfahrenes Mitglied
Hallo!

Was ich gerne hätte:

Stellt euch ein Fenster vor. Oben gibt es eine Menübar mit zb (Datei, Ansicht, ...)
Der Rest des Fensters ist leer.
Jetzt möchte ich gerne auf der linken Seite ein Menü haben, wo man zu gewisse Seiten kommt(diesen sollen sich dann im rechten Fenster öffnen).
Das Menü auf der linken Seite und das rechte Hauptfenster ist mit einer Linie getrennt.

Mit JTabbedPane habe ich es fast so hinbekommen wie ich es gerne hätte.
Der Code:

Code:
UIManager.put( "TabbedPane.focus", mainJFrame.getBackground() );
JTabbedPane tabbedPane = new JTabbedPane( JTabbedPane.LEFT, JTabbedPane.WRAP_TAB_LAYOUT);
        
         
tabbedPane.addTab( resourceMap.getString( "tab1.text" ), null, new JPanel() );
tabbedPane.addTab( resourceMap.getString( "tab2.text" ), null, new JPanel() );
tabbedPane.addTab( resourceMap.getString( "tab3.text" ), null, new JPanel() );
tabbedPane.addTab( resourceMap.getString( "tab4.text" ), null, new JPanel() );
tabbedPane.addTab( resourceMap.getString( "tab5.text" ), null, new JPanel() );
tabbedPane.addTab( resourceMap.getString( "tab6.text" ), null, new JPanel() );
        
mainJFrame.add( tabbedPane, BorderLayout.WEST );

So schaut es schon gut aus(siehe Anhang). Mittels den Tabs kann man jetzt zwischen den einzelnen Seiten springen.
Jetzt hätte ich aber noch gern ein Suchfeld in der linken Menüleiste.
Dem JTabbedPane kann man kein Suchfeld übergeben, sondern nur Tabs.

Was ist hier die beste Umsetzung wie ich das realisieren kann was ich will?
Ist es vielleicht am besten alles händisch zu machen. Also Buttons anlegen, Trennlinie machen, usw.

Mit einer JMenuBar auf der linken Seite geht es auch nicht. Weil da die "menüpunkte" schon beim rollover ausgelöst werden. Außerdem kann man da auch kein Suchfeld einbauen.


Hoffe es ist halbwegs verständlich:)
 

Anhänge

  • AppBild.JPG
    AppBild.JPG
    16,1 KB · Aufrufe: 24
Schreibe doch einfach eine neue Klasse, die von JMenuItem erbt/es implementiert. Mit den Tabs wird es etwas schwieriger, da müsstest du wahrscheinlich die JTabbedPane überschreiben.
 
Als Suchfeld habe ich einfach ein JTextField gemeint. Es geht um einen Lagerbetand. Über die Menüitems kann man gewisse Sachen machen. Über das Suchfeld kann man einen bestimmten Artikel suchen.

Ich habe es nun so gemacht dass ich einfach Buttons genommen habe und als Trenner einen Separator.

Ich habe versucht den Separator so zu gestalten, dass er aussieht wie der von TabbedPane.
Man kann ihn auch mittels UIManager umgestalten, nur bei L&F "Nimbus" verändert sich nichts.

Hat hier jemand erfahrung wie man den Separator umgestalten kann?
Zb dass er nicht von ganz ob bis ganz unten geht, sondern kürzer.
Oder irgendwie anders, sodass er nicht so plump aussieht.

Wie es momentan aussieht ist wieder im Anhang.
 

Anhänge

  • AppBild.JPG
    AppBild.JPG
    14,9 KB · Aufrufe: 10
Also in dem Fall hätte ich mir mit nem LayoutManager und n paar JPanels alles so zurecht gebastelt das das "Suchfeld" *das damit ein JTextField gemeint war war mir klar ... es ging nur darum WAS und WO du was damit suchen willst* komplett außerhalb des JTabbedPane ist. Sowas gehört halt nicht als weiterer Tab ins "Menü" sondern oben drüber. Dann kannst du auch weiterhin das JTabbedPane verwenden.
 
Bin jetzt eigentlich mit der selber gebastelten Navigation sehr zufrieden.
Einzig wie ich den Separator verändere würde mich noch interessieren.
 
Zurück