Komplexes Problem
lima-city → Forum → Programmiersprachen → Java
anbieten
anwendung
austausch
austauschen
befinden
bleiben
code
feld
fenster
folgende probleme
folgenden versuchen
folgendes probieren
halten
letzte komponente
machen
paar
pack
pixel
position
rest
-
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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage