jMenü scrollbar machen

JavaRentner

Mitglied
Hallo Wissende

Ich generiere ein JMenu basierend auf einem Ordner im Homeverzeichnis.
Java:
public class MyMenuFile extends JMenu {
    private static final long serialVersionUID = 1L;

    MyMenuFile(String text, ImageIcon ic, String ac, String name, Font fnt) {
        setOpaque(true);
        setFont(fnt);
        setText("<html>"+text+"</html>");
        setIcon(ic);
        setName(name);
        setActionCommand(ac);
       
    }
}

Darin werden alle Objekte (Ordner und Dateien) als JMenuItem geaddet.
Das habe ich hinbekommen...
Leider werden nur exakt soviele JMenuItems angezeigt, wie in der Höhe des Monitors platz haben...

Die JMenuItems (Einträge aus dem Pfad) haben eine höhe von 20px.
Wenn es jetzt mehr als 54 Objekte im Pfad (MenuItem) sind, sollte es doch möglich sein, das JMenu zu scrollen.

Bei MonitorHeight 1080 können nur 54 JMenuItem (Höhe 20px) angezeigt werden. (wegen Taskleise ev. etwas weniger)

Dieses Problem wurde hier schon mal behandelt, habe aber keine für mich verständliche Lösung gefunden.

Habe versucht eine abgeleitete Klasse von JMenu zu generieren in der ich ein:
JPanel menPanel = new JPanel(new BorderLayout(0,0);
geaddet habe.

Im NORTH - Bereich habe ich ein JLabel platziert das bei mouseEntered(...) nach oben scrollen sollte!
Äquivalent im SOUTH - Bereich ein JLabel das nach unten scrollen sollte.

Im CENTER - Bereich wollte ich eigentlich die JMenuItems adden.

Ein JMenuItem in den CENTER - Bereich zu legen, kriege ich nicht hin.
Vermute mal dass ich das JMenu extended habe... :confused:

Wäre wundervoll wenn mir Jemand erklären könnte, wie ich mein JMenu (scrollable) aufbauen müsste.
Vielen Dank!
 
Zuletzt bearbeitet:

JavaRentner

Mitglied
Ich denke, dass JMenu keine gute Wahl für die Darstellung einer Ordner Struktur ist. Was hindert dich daran dafür JTree zu verwenden?
Habe ein TrayIcon gebastelt...
welches aus einer Datenbank alle vom User erfassten Einträge enthält.
(funktioniert echt gut)

Wenn ein Eintrag ein Pfad zu einem Ordner ist, z.B. .../Dokumente, dann kann das (mehr als anzeigbare) Objekte enthalten.
Der Inhalt des Ordners wird in einem neuen JMenu aufgelistet!!! Und dieses sollte jetzt scrollbar sein, begrenzt auf sagen wir mal 800px Höhe,
der Rest sollte iwie scrollbar sein.

Wie baue ich ein JTree innerhalb eines JMenu auf???
Vielen Dank für ein Lösung.

die beste Loesung vermutlich MenuScroller
wäre schon die richtige Lösung!

Versuche gerade das irgendwie umzusetzen... :(
 
Zuletzt bearbeitet:

Robert Zenz

Top Contributor
Ich weisz ehrlich gesagt nicht mehr ob man beliebige `JComponent`s in ein Menue bekommt. Du koenntest schummeln und beim Klick auf das Tray-Icon einen JFrame aufmachen (ohne Fensterdekoration) welcher grob an der Stelle des Tray-Icons ist, und bei Fokusverlust wieder zugeht.
 

JavaRentner

Mitglied
@Robert Zenz
Ich weisz ehrlich gesagt nicht mehr ob man beliebige `JComponent`s in ein Menue bekommt.
Haste Recht!!
Bis jetzt konnte ich nur entweder ein JMenu oder ein JMenuItem adden.

Jeder gelistete Eintrag erhält ein MouseListener!

Wenn ich als JMenu ein Ordner eintrage, ist der Name des JMenu gleich OrdnerName.
Fahre ich mit der Maus auf JMenu(OrdnerName), wird ein neuer JDialog geöffnet (Position richtet sich nach dem JMenu).

Das Problem ist, wenn es mehr Objekte im Ordner (OrdnerName) hat als vertikal am Bildschirm gelistet werden kann
(abhängig der definierten Schriftgrösse) , wäre es hübsch, dass das gescrollt werden könnte.

Es funktioniert alles Perfekt, bis auf die Übergrösse bei zu vielen Objekten (Ordner / Dateien) in einem Ordner.

Mein Wunsch wäre es das JMenu in der Höhe zu beschränken mit einer Möglichkeit den Überlauf zu scrollen...

Ich bin noch am Basteln....
Vielen Dank
 

JavaRentner

Mitglied
Guten Tag
Konnte jetzt den implementieren und auch die Position und Grösse des JMenu.getPopupMenu passt jetzt.

Mein Problem:
Wie löse ich jetzt das Scrollen aus?
Finde keinen Einstieg wo ich beim drüberfahren resp. mouesPressed auf das gepaintete Objekt das Scrollen (timer) auslösen kann.

Es passiert rein gar nichts, wenn ich mit mouseEntered resp. mousePressed auf dem gepainteten Objekt bin.

Vielen Dank.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MJannek Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
CptK Ordentlicher Code & Panel ab bestimmter Komponentenzahl scrollbar machen AWT, Swing, JavaFX & SWT 12
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
G Wie Scrollbar einfügen? AWT, Swing, JavaFX & SWT 1
A Swing Panel mit ScrollBar AWT, Swing, JavaFX & SWT 7
M JavaFX TextArea disabled - ScrollBar enabled AWT, Swing, JavaFX & SWT 3
H JavaFX Abstand rechts zur scrollbar AWT, Swing, JavaFX & SWT 1
I Swing Scrollbar AWT, Swing, JavaFX & SWT 2
W Scrollbar in Registerkarte AWT, Swing, JavaFX & SWT 1
M eigene horizontale Scrollbar AWT, Swing, JavaFX & SWT 1
M JTable horizontale scrollbar löschen AWT, Swing, JavaFX & SWT 3
G Scrollbar AWT, Swing, JavaFX & SWT 13
G Scrollbar für das Fenster einfügen AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
A Scrollbar gestalten AWT, Swing, JavaFX & SWT 2
E JavaFX ScrollBar in TableView bei Column Resize AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
B Export eines Panel mit ScrollBar AWT, Swing, JavaFX & SWT 4
5 Scrollbar AWT, Swing, JavaFX & SWT 4
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
H Swing JTextPane hat unästhetisches Scrollbar AWT, Swing, JavaFX & SWT 3
M Horizontal Scrollbar wird ignoriert AWT, Swing, JavaFX & SWT 10
M Swing Scrollbar im JFrame (JPanel?) AWT, Swing, JavaFX & SWT 6
W jTable Scrollbar Problem AWT, Swing, JavaFX & SWT 2
A Swing JPanel in JScrollBar scrollbar machen AWT, Swing, JavaFX & SWT 4
M SWT Table disabled und Scrollbar enabled AWT, Swing, JavaFX & SWT 11
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
0 2D-Grafik Screenshot von ScrollBar-Inhalt AWT, Swing, JavaFX & SWT 2
D JList Scrollbar machen geht nicht AWT, Swing, JavaFX & SWT 4
D Scrollbar für Tabelle AWT, Swing, JavaFX & SWT 2
J Beliebtes Problem: Scrollbar in JTextArea AWT, Swing, JavaFX & SWT 4
S SWT ScrollBar Bug AWT, Swing, JavaFX & SWT 5
B GridLayout und scrollbar AWT, Swing, JavaFX & SWT 5
L Scrollbar übermalt AWT, Swing, JavaFX & SWT 2
H JList in JScrollPane -> ScrollBar ans Ende setzen AWT, Swing, JavaFX & SWT 5
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
N Swing JTable Überschrift ohen scrollbar? AWT, Swing, JavaFX & SWT 2
R Scrollbar nur ohne STRG AWT, Swing, JavaFX & SWT 4
D Swing Spaltenköpfe verschieben sich nicht mit, wenn man an horizontaler Scrollbar zieht AWT, Swing, JavaFX & SWT 9
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
P JTextbox mit Scrollbar AWT, Swing, JavaFX & SWT 6
Roumeo Swing jTable mit Scrollbar AWT, Swing, JavaFX & SWT 13
D Swing [Erledigt]Panel mit ScrollBar , anpassbare Größe AWT, Swing, JavaFX & SWT 15
velocity Swing JList Scrollbar passt sich an AWT, Swing, JavaFX & SWT 4
S Scrollbar in einem JTabbedPane AWT, Swing, JavaFX & SWT 4
slawaweis JXTreeTable, jede Spalte einzeln scrollbar machen? AWT, Swing, JavaFX & SWT 2
Spot84 scrollbar die linksbündig angezeigt wird nur anzeigen wenn sie gebraucht wird AWT, Swing, JavaFX & SWT 5
K Größe einer Scrollbar im Dialogfenster ändern AWT, Swing, JavaFX & SWT 2
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
T JList ScrollBar AWT, Swing, JavaFX & SWT 2
T ScrollBar aus ScrollPane verstecken AWT, Swing, JavaFX & SWT 2
J JList ohne vertikale Scrollbar AWT, Swing, JavaFX & SWT 3
M Scrollbar anpassen (Position) AWT, Swing, JavaFX & SWT 6
T Scrollbar wird nicht angezeigt - aber warum? AWT, Swing, JavaFX & SWT 3
O ScrollBar.setValue(int value); ? AWT, Swing, JavaFX & SWT 3
A JTable Header + ScrollBar AWT, Swing, JavaFX & SWT 4
N eine Zeichnung scrollbar machen AWT, Swing, JavaFX & SWT 4
DeeDee0815 JDesktopPane scrollbar AWT, Swing, JavaFX & SWT 2
ModellbahnerTT Problem mit Scrollbar AWT, Swing, JavaFX & SWT 10
S JTextArea soll mit Scrollbar ausgestattet sein AWT, Swing, JavaFX & SWT 4
Tom299 JScrollPane(JTextArea) Scrollbar soll am Anfang stehen AWT, Swing, JavaFX & SWT 2
S ScrollBar, bitte helft mir! AWT, Swing, JavaFX & SWT 9
G ScrollBar mit Frame verbinden? AWT, Swing, JavaFX & SWT 8
G Scrollbar hinzufügen AWT, Swing, JavaFX & SWT 10
C Grafikkomponente und Scrollbar AWT, Swing, JavaFX & SWT 5
N Scrollbar zu einem Dialog hinzufügen AWT, Swing, JavaFX & SWT 4
M Scrollbar AWT, Swing, JavaFX & SWT 4
L scrollbar von rot nach greun AWT, Swing, JavaFX & SWT 2
L Mehrere Scrollbar objekte miteinander verbinden AWT, Swing, JavaFX & SWT 3
G Wieso wird meine Scrollbar nicht angezeigt? AWT, Swing, JavaFX & SWT 3
M Scrollbar AWT, Swing, JavaFX & SWT 1
W Rat zur GUI - Scrollbar (SWT) AWT, Swing, JavaFX & SWT 2
A SWT: Group Scrollbar machen. AWT, Swing, JavaFX & SWT 5
G Scrollbar größe regeln AWT, Swing, JavaFX & SWT 18
A vertikale Scrollbar AWT, Swing, JavaFX & SWT 6
lhein Breite der Scrollbar in einer Combobox ändern AWT, Swing, JavaFX & SWT 5
K Mouse Events der Scrollbar/pane AWT, Swing, JavaFX & SWT 2
S JTextArea mit Scrollbar,append Text mit Fokus? AWT, Swing, JavaFX & SWT 5
A Update von Frameinhalt und Scrollbar AWT, Swing, JavaFX & SWT 11
M JTextPane mit ScrollBar AWT, Swing, JavaFX & SWT 5
K Scrollbar funzt net :-/ AWT, Swing, JavaFX & SWT 4
T JScrollPane Scrollbar-Position AWT, Swing, JavaFX & SWT 2
R JScrollPane die ScrollBar manipulieren ? AWT, Swing, JavaFX & SWT 3
S keine ScrollBar AWT, Swing, JavaFX & SWT 15
lin Startposition einer ScrollBar AWT, Swing, JavaFX & SWT 2
S scrollbar AWT, Swing, JavaFX & SWT 2
D JList ohne Scrollbar-ich weiss es ist durchgelutscht,aber. AWT, Swing, JavaFX & SWT 3
G Bei JScrollpane statt Scrollbar eine Vorschau verwenden AWT, Swing, JavaFX & SWT 3
B einzelne Zellen scrollbar machen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 3
javasdann Vertical ScrollBar in JTable verfälscht anzeigen. AWT, Swing, JavaFX & SWT 12
D Scrollbar AWT, Swing, JavaFX & SWT 6
Student JTable - eine fixe Spalte, der Rest scrollbar AWT, Swing, JavaFX & SWT 18
P Scrollbar/Pane auch mit negativen x,y - Werten AWT, Swing, JavaFX & SWT 2
R Wert von ScrollBar ausgeben AWT, Swing, JavaFX & SWT 7
M Scrollbar: Scrollbalken versetzen AWT, Swing, JavaFX & SWT 2
L JTextArea Scrollbar-Problem! AWT, Swing, JavaFX & SWT 2
chik Scrollbar AWT, Swing, JavaFX & SWT 26
L Probleme mit Scrollbar und LayoutManager AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben