Ganon
2005-05-14, 20:21:37
Hi.
Ich brauche eine Möglichkeit, in einem JFrame mehrere Inhalte anzeigen zu können.
Also z.B. auf einer Seite eine Übersicht in Form einer Tabelle und auf der anderen Seite eine Detailsicht eines Datensatzes in Form von Feldern.
Da ich nicht direkt was dazu finden konnte, habe ich halt selbst mal "rumprobiert". Mein Test funktioniert auch erst mal so, aber ich wollte fragen, ob das so i.O. ist, oder ob ich ganz schwer was falsch mache?
Hier das Beispiel. Beim Klick auf den Schalter wechselt er jeweils die Seite.
package paradoxPorter;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUI extends JFrame implements ActionListener {
private static final long serialVersionUID = 3257005449487529271L;
JLayeredPane pag1 = new JLayeredPane();
JLayeredPane pag2 = new JLayeredPane();
public void togglePag() {
if(pag1.isVisible()) {
pag1.setVisible(false);
pag2.setVisible(true);
}
else {
pag2.setVisible(false);
pag1.setVisible(true);
}
}
public GUI() throws HeadlessException {
super("Paradox-Porter");
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pag1 = this.getLayeredPane();
pag1.setLayout(null);
pag1.setSize(640,480);
pag1.setVisible(true);
JButton cmd1 = new JButton("Hallo");
cmd1.setBounds(200,200,100,100);
cmd1.addActionListener(this);
pag1.add(cmd1);
pag2 = new JLayeredPane();
pag2.setLayout(null);
pag2.setSize(640,480);
pag2.setVisible(false);
JButton cmd2 = new JButton("Du");
cmd2.setBounds(200,200,100,100);
cmd2.addActionListener(this);
pag2.add(cmd2);
this.getRootPane().add(pag2);
}
public void actionPerformed(ActionEvent e) {
this.togglePag();
}
}
Kann man das so machen, oder erstelle ich die falschen Panes? Oder sollte ich es anders machen?
Ich brauche eine Möglichkeit, in einem JFrame mehrere Inhalte anzeigen zu können.
Also z.B. auf einer Seite eine Übersicht in Form einer Tabelle und auf der anderen Seite eine Detailsicht eines Datensatzes in Form von Feldern.
Da ich nicht direkt was dazu finden konnte, habe ich halt selbst mal "rumprobiert". Mein Test funktioniert auch erst mal so, aber ich wollte fragen, ob das so i.O. ist, oder ob ich ganz schwer was falsch mache?
Hier das Beispiel. Beim Klick auf den Schalter wechselt er jeweils die Seite.
package paradoxPorter;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUI extends JFrame implements ActionListener {
private static final long serialVersionUID = 3257005449487529271L;
JLayeredPane pag1 = new JLayeredPane();
JLayeredPane pag2 = new JLayeredPane();
public void togglePag() {
if(pag1.isVisible()) {
pag1.setVisible(false);
pag2.setVisible(true);
}
else {
pag2.setVisible(false);
pag1.setVisible(true);
}
}
public GUI() throws HeadlessException {
super("Paradox-Porter");
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pag1 = this.getLayeredPane();
pag1.setLayout(null);
pag1.setSize(640,480);
pag1.setVisible(true);
JButton cmd1 = new JButton("Hallo");
cmd1.setBounds(200,200,100,100);
cmd1.addActionListener(this);
pag1.add(cmd1);
pag2 = new JLayeredPane();
pag2.setLayout(null);
pag2.setSize(640,480);
pag2.setVisible(false);
JButton cmd2 = new JButton("Du");
cmd2.setBounds(200,200,100,100);
cmd2.addActionListener(this);
pag2.add(cmd2);
this.getRootPane().add(pag2);
}
public void actionPerformed(ActionEvent e) {
this.togglePag();
}
}
Kann man das so machen, oder erstelle ich die falschen Panes? Oder sollte ich es anders machen?