Aloha , ich steh grad etwas auf dem schlauch , ich habe folgende Situation:
Ein JFrame, und ein Panel, in diesem Panel möchte ich bei Button Betätigung ein neues Panel erstellen, soweit so gut es sieht zzt. folgendermaßen aus
fügt das panel dem mainframe hinzu
added auf Buttonklick dem panel eine neue "Komponente" und übergibt dieser die Referenz auf das elternelement
und zu guter letzt das panel was innen dargestellt werden soll, dieses erbt in diesem fall von JPanel, ich hab allerdings auch schon versucht es von JComponent erben zu lassen, das ergebnis bleibt allerdings das gleiche ....
So sieht es dann aus:
wenn ich Debugge referenziert
folgende werte
, warum um alles in der Welt stellt er es nur so klein da ^^
vielleicht gibt es ja auch eine einfachere Lösung sowas zu realisieren, wenn ja nehmen ich Tipps gerne entgegen , ich möchte lediglich erreichen das ich diesen bereich später ausdrucken kann, mit samt seinem Inhalt
Ein JFrame, und ein Panel, in diesem Panel möchte ich bei Button Betätigung ein neues Panel erstellen, soweit so gut es sieht zzt. folgendermaßen aus
fügt das panel dem mainframe hinzu
Java:
private void createPrintPanel(){
printPanel = new JPanel(new BorderLayout());
printPanel.setSize(frame.getHeight(), frame.getWidth());
frame.add(BorderLayout.CENTER, printPanel);
}
added auf Buttonklick dem panel eine neue "Komponente" und übergibt dieser die Referenz auf das elternelement
Java:
switch(e.getActionCommand()){
case "new":
printPanel.add(BorderLayout.CENTER, new Invoice(printPanel));
break;
und zu guter letzt das panel was innen dargestellt werden soll, dieses erbt in diesem fall von JPanel, ich hab allerdings auch schon versucht es von JComponent erben zu lassen, das ergebnis bleibt allerdings das gleiche ....
Java:
public class Invoice extends JPanel{
private static final long serialVersionUID = 1L;
JPanel parent;
Dimension d;
public Invoice(JPanel parent) {
super();
this.parent = parent;
d = parent.getSize();
init();
}
private void init(){
setSize(d);
setBackground(Color.cyan);
repaint(); // das hier war nur ein versuche ob es vielleicht nicht richtig gezeichnet wird
setVisible(true);
}
}
So sieht es dann aus:

wenn ich Debugge referenziert
Code:
d
Code:
height = 1019 width = 954
vielleicht gibt es ja auch eine einfachere Lösung sowas zu realisieren, wenn ja nehmen ich Tipps gerne entgegen , ich möchte lediglich erreichen das ich diesen bereich später ausdrucken kann, mit samt seinem Inhalt
Zuletzt bearbeitet: