ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1721
1721
EMPFEHLEN
-
Hallo,
ich habe fogendes Problem:
ich möchte mit einem Klick auf einen Button eine Instanz von einem JPanel in ein JFrame laden und dadurch einen JPanel ersetzen.
Geht das:
Zuvor hatte ich das mit einem JScrollPane in den ich einen JPanel aufgerufen hatte.
Code :1 2 3 4 5 6 7 8 9 10 11 12
private void btnumfrageanfordernMouseClicked(java.awt.event.MouseEvent evt) { .... try{ mainPanel.setViewportView(questionPanel); questionPanel.setVisible(true); } catch (Exception e){ mainPanel.setViewportView(null); } ...... }
In der API habe ich nichts gefunden. Hat schon mal einer sowas gemacht in der letzen Zeit ?
die JPanels liegen einem JFrame zugrunde (BorderLayout). Ich möchte jetzt das Zentrum (center JPanel) mit einem neuen JPanel nach Klick auf einen Button ersetzen.
Gruß
MGeändert von mkoeni1 (11.01.07 um 10:48 Uhr) Grund: Kurzerläuterung
-
Hi !
Ich würde sowas in der Art machen :
Code java:1 2
frame.remove(mainPanel); frame.add(questionPanel);
Gruss,
Krösi
-
12.01.07 15:19 #3
- Registriert seit
- Apr 2005
- Beiträge
- 12
Hi,
ist ganz einfach
so müßte das auf jedenfall funktionierenCode java:1 2 3 4
frame.removeAll(); frame.add(newPanel); frame.validate(); frame.repaint();
-
Hallo Leute, das funktioniert so nicht. Ich habe jetzt mal in der Methode ( void jbtnloginMouseClicked() {...} ) der Klasse LoginMain.java folgendes programmiert:
Hinweis: Ein Objekt der Klasse MainPanel wird zuvor in der Klasse ClientMainFrame.java aufgerufen.
Vorgehensweise der Anwendung:
ClientMainFrame -> ClientMainFrame +(LoginMain) -> ClientMainFrame +(Questions) (hier ist mein Problem, ich bekomme keinen Wechsel nach Klick auf einen Button von LoginMain nach Questions innerhalb der Klasse ClientMainFrame, unabhängig jetzt mal auf User und PW Überprüfung !!)
Code :1 2 3 4 5
private void jbtnloginMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: ClientMainFrame cmfl = new ClientMainFrame(); cmfl.setVisible(true); legt eine komplett neue Instanz der Anwendung an */ }
Das will ich ja soo aber nicht haben,dass da eine neue Anwendung gestartet wird. Ich möchte das bestehende Objekt der Klasse ClientMainFrame() weiterhin offen halten und benutzen und einen Wechsel der Zentrum der Anwendung (JFrame -> BroderLayout -> Center -> JScrollPane) vornehmen. Dort möchte ich eine neues Objekt der Klasse Questions einfügen, aber alles immernoch innerhalb der Klasse ClientMainFrame.
Weiterer Hinweis:
In der Klasse ClientMainFrame gibt es eine Main-Methode mit folgendem Code:
Klar, das da eine neue Anwendung aufgeht (wie ich es weiter oben schon erwähnt hatte).Code :1 2 3 4 5 6 7
public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ClientMainFrame().setVisible(true); } }); }
Kann mir da Jemand eine Hilfestellung geben. Da hänge ich jetzt schon seit 3 Tagen davor.
Vielen Dank
M
-
Hallo Leute,
@mywaymylife:
@kroesi:
Danke für die Tipps, hat alles gepasst. Besonders.
Vielen Dankthis.removeAll();
questionPanel = new Questions();
this.add(questionPanel);
this.validate();
this.repaint();
M
Ähnliche Themen
-
JPanel in Jframe Laden
Von mckruep im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 10Letzter Beitrag: 03.11.08, 22:48 -
Jpanel in Jpanel laden
Von mckruep im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 08.04.08, 19:08 -
GridBagLayout in JPanel: Wie stelle ich es an das Komponenten im JPanel ...
Von mungoparks im Forum JavaAntworten: 7Letzter Beitrag: 16.05.07, 17:03 -
Aus JPanel Image laden
Von guethc04 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 08.03.05, 18:13 -
JPanel nach wert in JFrame laden
Von joli im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 13Letzter Beitrag: 09.08.04, 15:49





Zitieren
Login





