kostenloser Webspace werbefrei: lima-city


Komplexes Problem

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    Ich stehe vor einem sehr komplexen Problem, das ich im Folgenden versuchen werde, so einfach zu halten, wie möglich:

    Innerhalb eines JFrames werden ein Paar JButtons angelegt, die dort bleiben sollen, wo sie sind, egal, was passiert. Jetzt gibt es aber noch ein JLayeredPane, auf dem der ganze Rest angezeigt werden soll. Folgende Probleme resultieren hieraus:
    - Entweder die JButtons befinden sich in dem JLayeredPane, dann gibt es keine Anzeigefehler, das soll aber nicht so sein.
    - Oder ich setze die JButtons in ein JPanel, dann werden diese aber falsch angezeigt, obwohl ich ihnen (auch dem JPane) genaue Größen und Positionen zugeordnet habe.
    - Oder ich lasse die JButtons lose, dann vergrößert sich aber die letzte Komponente automatisch auf die gesamte Fenstergröße. Das ist in dem Fall ein JButton. Ich hatte schon einmal ein 1*1 Pane als letzte Komponente hinzugefügt, dann waren die JButtons aber nicht mehr bedienbar...

    Was muss ich machen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn ich dich richtig verstanden habe (was nicht unbedingt sein muss:-)), dann würde ich z.B. folgendes probieren:

    - JFrame (VBoxLayout)
    |--------- JPanel (FlowLayoutPanel)
    |           |------- JButton
    |           |------- JButton
    |           |------- JButton
    |           |-------- ....
    |--------- JLayeredPane


    Beitrag zuletzt geändert: 5.11.2010 20:26:03 von tangoal
  4. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    Das klappt so weit. Wenn ich jetzt aber das JLayeredPane bei Klick austauschen möchte (ich habe ein Feld davon angelegt), stoppt immernoch der interne paint()- Prozess:
    remove(Fenster.this.getComponents().length - 1); // JLayeredPane wird gelöscht
    add(/*JLayeredPanes*/.get(n)); // Neues JLayeredPane
    repaint();
    pack(); // Macht das Fenster so klein, wie alle Komponenten insgesamt groß sind, das Fenster verkleinert sich aber auf 0x0 Pixel


    Beitrag zuletzt geändert: 5.11.2010 20:44:30 von toolz
  5. Moin,

    was für einen LayoutManager nutzt Du denn auf dem JLayeredPane?
    Zum "Austausch" würde sich ja eventuell das CardLayout anbieten, sofern das bei Dir denn Anwendung finden würde.

    Gruß,
    Pawnee
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!