Brauch ne kleine Hilfe bei der GUI-Programmierung



  • Hi,
    ich hab folgendes vor:
    Ich hab nen Button und sobald man draufklickt, soll eine "Fläche" nach unten aufgehen, in der dann zB Details drinstehen.

    Ich weiss nur nicht so genau was ich in den ActionListener schreiben muss, und ehrlich gesagt, weiss ich auch nicht nach was ich suchen soll.

    Wäre toll wenn mir hemand helfen kann!



  • Am einfachsten ist es ein JPanel zu erstellen, in das die zunaechst versteckten informationen kommen. Dann in der init() Funktion das Panel verstecken (setVisible). In den ActionListener des Buttons musst du dann eine OnMouseClick Aktion bauen mit panel.setVisible(true). Thats it 🙂 Wenn du Eclipse oder NetBeans verwendest, ist das ne sache von 3 Minuten, da diese Tools Codetemplates dafuer liefern.



  • Hmm, hört sich gut an. Danke schonmal für die Gedankenanregung.
    Nur, bin ich mir nicht sicher, ob das so funktioniert weil:
    Der Button ist ziemlich weit unten vom Frame. Wenn ich da dann das JLabel hinmach, wird es ja nur noch mit ein paar Pixeln angezeigt, oder? Sorry, ist ein bisschen schwierig zu beschrieben, hoffe du verstehst wie ich das meine.



  • Ich glaube am einfachsten ist so etwas mit JPopupMenu zu erledigen. Diese Komponente fasst nämlich nicht nur Menüs, sondern beispielsweise auch Panels, die man mit der add()-Methode hinzufügen kann.

    Mit der show()-Methode von JPopupMenu kann man das Panel dann auf dem Button anzeigen. Größter Vorteil der Methode ist der, dass Popup-Menüs nicht außerhalb des Bildschirms verschwinden.



  • Cole schrieb:

    Hmm, hört sich gut an. Danke schonmal für die Gedankenanregung.
    Nur, bin ich mir nicht sicher, ob das so funktioniert weil:
    Der Button ist ziemlich weit unten vom Frame. Wenn ich da dann das JLabel hinmach, wird es ja nur noch mit ein paar Pixeln angezeigt, oder? Sorry, ist ein bisschen schwierig zu beschrieben, hoffe du verstehst wie ich das meine.

    Nein, der Layouter dreht das so hin, dass alles wieder gut aussieht 🙂 Zumindest hat das bei mir in Verbindung mit GridBagLayout super geklappt...



  • Varus schrieb:

    Ich glaube am einfachsten ist so etwas mit JPopupMenu zu erledigen. Diese Komponente fasst nämlich nicht nur Menüs, sondern beispielsweise auch Panels, die man mit der add()-Methode hinzufügen kann.

    Mit der show()-Methode von JPopupMenu kann man das Panel dann auf dem Button anzeigen. Größter Vorteil der Methode ist der, dass Popup-Menüs nicht außerhalb des Bildschirms verschwinden.

    An ein PopupMenu hab ich auch schon gedacht (ist mir gestern abend eingefallen). Ich denke sogar, dass das die einfachste und evtl. auch eleganteste Lösung ist.
    Werd mich damit mal ein wenig auseinandersetzen.
    Danke an alle!


Anmelden zum Antworten