Wie Panel neu Laden/Malen/Aktualisieren?

Fastkiller

Mitglied
Guten Abend!

Ich habe da eine frage..
Ich hab ein JFrame, in dem JFrame befindet sich ein Panel mit einem JTable drinen.
Nun möchte ich bei Klick auf einen Button das Panel(inkl dem JTable) verkleinern bzw neu ausrichten.
Das mache ich so:

Code:
getJPanel4().setPreferredSize(new java.awt.Dimension(806, 399)); 
getJPanel4().paint(getJPanel4().getGraphics()); 
getJPanel4().repaint(); 
jTable1.paint(jTable1.getGraphics());




Wenn ich dann auf den Button gedrückt habe tut sich allerdings nix, d.h. das Panel(inkl dem Table) wird nicht kleiner und es bleibt gleich. Das Panel wird also grafisch nicht kleiner, sondern bleibt gleich.

Wie Kann ich das nun machen das sich das Panel aktualisiert und sich anhand der neuen Größe neu Ausrichtet.


Ich hoffe Ihr habt verstanden was ich meine.
Wenn nicht dann einfach fragen

Danke schonmal!:)
 
Zuletzt bearbeitet:
Hallo,

erstmal diese Zeilen kannst du raus lassen.

Code:
jTable1.paint(jTable1.getGraphics());
getJPanel4().paint(getJPanel4().getGraphics());

Ich weiß nicht warum du die eingefügt hast.

Nutzt du einen LayoutManager.

MFG

Sascha
 
Jigloo ist kein LayoutManager sondern ein GUI-Builder.

Poste bitte mal den ganzen Quellcode.

MFG

Sascha
 
:)hi!

Den Ganzen Code werd ich zwar jetzt nicht Posten(Da zu groß) aber die wichtigesten ausschnitte.

Nochmal zur Erklärung:

Ich habe ein JFrame. In dem JFrame ist ein Panel. In diesem Panel befindet sich ein JTabbedPane(mit 4 verschiedenen Tabbs).
Ich habe es nun geschafft, dass sich das ganze Panel bei klick auf einen Button verkleinert.
Das habe ich mit dem hier gemacht:
Code:
getJPanel4().setBounds(0, 20, 720, 300);
Das wollte ich erreichen, allerdings gibt es da einen Fehler. Wenn ich dann ein anderes Tab auswähle springt die größe des Panels wieder in die Standartgröße zurück. Es bleibt also nicht klein.

Jetzt habe ich versucht mittels MouseListener(vom TabbedPane) dort das Panel zu verkleinern. Das funktioniert zwar allerdings auch nicht richtig. Wenn ich auf ein Tab klicke und die Maustaste gedrückt halte dann vergrößert sich das Pane wieder. Lasse ich die maustaste dann los ist das Panel wieder klein. Mit MousePressed funktioniert das ganze irgendwie nicht.

Wie geht das, dass Das Panel dann die größe beibehält und sich nicht immer wieder neu ausrichtet?

Ich bin verzweifelt =(
Ich hoffe ihr habt verstanden was ich meine ansonsten mach ich gern einen Screenshot von meinem Problem.

Hier die codeAbschnitte:

Das steht im MouseClicked Listener vom TabbedPane:
Code:
System.out.println("jTabbedPane2.mouseClicked, event="+evt); 
      System.out.println("TEEESTKLICKET");    
      getJPanel4().setBounds(0, 20, 720, 300); 
      getJPanel5().setBounds(0,10,700,250); 
      getJPanel10().setBounds(0,10,700,250); 
      getJPanel13().setBounds(0,10,700,250); 

      jTable1.setBounds(0, 10, 700, 250); 
      jTable2.setBounds(0,10,700,250); 
      getJPanel4().validate(); 
      getJPanel5().validate(); 
      getJPanel10().validate(); 
      getJPanel13().validate(); 
      jTable1.validate(); 
      jTable2.validate(); 
      repaint();

Hier der code wo ich das Panel über dem Frame definiere:


Code:
private JPanel getJPanel4() { 
      if (jPanel4 == null) { 
         jPanel4 = new JPanel(); 
         AnchorLayout jPanel4Layout = new AnchorLayout(); 
         jPanel4.setLayout(jPanel4Layout); 
         jPanel4.setBorder(BorderFactory.createTitledBorder(null, 
               "Schulverwaltungs - System Version 2.0", 
               TitledBorder.LEADING, TitledBorder.TOP)); 
         jPanel4.setForeground(new java.awt.Color(192, 192, 192)); 
         jPanel4.add(getJTabbedPane2(), new AnchorConstraint(66, 986, 977, 
               14, AnchorConstraint.ANCHOR_REL, 
               AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, 
               AnchorConstraint.ANCHOR_REL)); 
         jPanel4.setBounds(0, 20, 720, 300); 

      } 
      return jPanel4; 
   }

Hier das TabbedPane:
Code:
 private JTabbedPane getJTabbedPane2() { 
      if (jTabbedPane2 == null) { 
         jTabbedPane2 = new JTabbedPane(); 
         jTabbedPane2.addTab("Alle Schulen - Schulverwaltung", 
               new ImageIcon(getClass().getResource("http://www.tutorials.de/forum/images/406-up.gif")), 
               getJScrollPane1(), "Alle Schulen in einer Datenbank"); 
         jTabbedPane2.addTab("Favoriten - Verwaltung", new ImageIcon( 
               getClass().getResource("http://www.tutorials.de/forum/images/Favorites.png")), 
               getJPanel5(), "Aktuelle Favoritenliste"); 
         jTabbedPane2.addTab("Schule Ermitteln", new ImageIcon(getClass() 
               .getResource("http://www.tutorials.de/forum/images/Search.png")), getJPanel10(), 
               "Passende Schule ermitteln"); 

         jTabbedPane2.addTab("Informationen", new ImageIcon(getClass() 
               .getResource("http://www.tutorials.de/forum/images/InfoBox.png")), getJPanel13(), null); 

      } 
      return jTabbedPane2; 
   }

Ich Hoffe ihr könnt mir helfen!

Danke schonmal =)
 
Zuletzt bearbeitet:
Zurück