ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
749
749
EMPFEHLEN
-
Servus
hab mir ein Frame gemacht und darauf leg ich mir dann ein JPanel jetzt hab ich nur das problem das ich die Größe dieses JPanel nicht ändern kann. es bleibt in der Größe so wie es will. Ich hab schon alles abgesucht (api, mein progi hundertmal) aber ich find kein fehler.
ok hier ist mein quellcode ich hoffe ihr habt ne lösung für dieses seltsame Problem.
Danke
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
public static JPanel Ergebniss = null; //HauptFenster(Ergebnis) private static JScrollPane jReScrollPane1 = null; public static JTable jTable = null; public static DefaultTableModel dtm1 = null; public static Vector columnNames = new Vector(); public static JPanel getErgebniss(){ if(Ergebniss==null){ Ergebniss = new JPanel(); System.out.println("Die Größe meines Panels(höhe) "+Ergebniss.getHeight()); System.out.println("Die Größe meines Panels(breite) "+Ergebniss.getWidth()); Ergebniss.setBorder(javax.swing.BorderFactory.createTitledBorder (javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED), " Ergebnis ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); Ergebniss.add(getJReScrollPane1(0)); } return Ergebniss; }
so zeigt er mir bei der ausgabe alle beite werte mit 0 an aber es ändert sich die größe nicht
und wenn ich das dazu mache (kann beliebige werte eingeben und seh keine veränderung)
Ergebniss.setLocation(20, 20);
Ergebniss.setSize(220, 330);
freu mich auf jeden tip
-
Kann es sein dass du mit einem LayoutManager Arbeitest?
Soweit ich weiss kannst du dann die grösse und Position nur relativ bestimmen, variert je nach layoutmanager.
Falls du alle Komponenten auf dem Frame von Hand setzten willst, musst du den LayoutManager ausschalten und zwar mit setLayout(null)
-
lege das panel direkt auf das frame. also hab ich wie du gesagt hast das mit dem setLayout(null) gemacht.
es ist was passiert was ich auch sehr gut finde.
1. Ergebniss das Panel bleibt immer noch so groß wie vorher
2. Ergebniss das JScrollpane was ich immer zu einer bestimmten zeit auf das panel lege reagiert jetzt auf die anweisungen wie setbounds();
ok so kann man das lassen.
aber wieso kann ich die größe von dem panel nicht ändern ?
-
jedes panel hat einen eigenen layoutmanager, ich nehme an, du setzt den layoutmanger des panles auf null, daher reagiert die jscollpane jetzt auf setbounds.
du musst den layoutmanager des frames auf null setzten.
Code :1 2 3 4 5 6 7 8 9 10
public class TestFrame extends JFrame{ public TestFrame(){ super(); this.getContentPane().setLayout(null); JPanel p = new JPanel(); p.setSize(100, 200); p.setLocation(30, 20); this.getContentPane().add(p); } }
-
das layout vom contentpane ist auf null gesetzt
-
Zeig mal deinen Code, vileicht kann ich dir dann weiterhelfen, ansonsten weiss ich auch nicht mehr weiter
-
Moin,
Zitat von Serethos
wie sieht es denn aus, wenn Du stattdessen einen Layoutmanager benutzt? Probier mal aus, wie es sich verhält, wenn Du ein BorderLayout oder GridLayout verwendest.
-
servus also hier ist mein code
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
public class Query{ public static JPanel getJPanel3() { if (jPanel3 == null) { jPanel3 = new javax.swing.JPanel(); jPanel3.setLayout(null); jPanel3.setName("Query"); jPanel3.add(getJPanel30(), null); //jPanel3.add(Root.getJPanel20(), null); jPanel3.add(getJPanel1(), null); } return jPanel3; } /** * Diese Methode initialisiert jPanel30: * Das Panel bildet den Hauptrahmen im Karteireiter "Datenbankabfragen" * @return javax.swing.JPanel */ public static JPanel getJPanel30() { if (jPanel30 == null) { jPanel30 = new javax.swing.JPanel(); jPanel30.setLayout(null); jPanel30.setSize(920, 600); jPanel30.setLocation(0, 0); jPanel30.setMinimumSize(new java.awt.Dimension(920,580)); jPanel30.setPreferredSize(new java.awt.Dimension(920,580)); jPanel30.setBorder(javax.swing.BorderFactory.createTitledBorder (javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED), " Daten abfragen ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); jPanel30.setFont(new java.awt.Font("Microsoft Sans Serif", java.awt.Font.PLAIN, 12)); jPanel30.add(getJTabbedPane300(), null); } return jPanel30; } /** * Diese Methode initialisiert jTabbedPane300: * jTabbedPane300 bildet den Container für die Karteireiter "Abfrage" und "Ergebnis" * @return javax.swing.JTabbedPane */ public static JTabbedPane getJTabbedPane300() { if (jTabbedPane300 == null) { jTabbedPane300 = new javax.swing.JTabbedPane(); jTabbedPane300.setSize(908, 573); jTabbedPane300.setLocation(5, 20); jTabbedPane300.addTab("Abfrage", null, getJPanel3000(), null); jTabbedPane300.addTab("Ergebnis", null,Result.getErgebniss(), null); jTabbedPane300.setFont(new java.awt.Font("Microsoft Sans Serif", java.awt.Font.PLAIN, 12)); } return jTabbedPane300; } } public class Result(){ public static JPanel getErgebniss(){ if(Ergebniss==null){ Ergebniss = new JPanel(); Ergebniss.setLayout(null); Ergebniss.setLocation(5, 5); Ergebniss.setSize(550, 550); Ergebniss.setBorder(javax.swing.BorderFactory.createTitledBorder (javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED), " Ergebnis ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); } return Ergebniss; } }
bitte schön
-
Du setzt ja alle Layouts auf NULL. Probier doch mal aus was passiert, wenn Du ein Layout verwendest. Hatte ich übrigens auch schon oben empfohlen.
Zitat von Serethos
Ähnliche Themen
-
JPanel Problem
Von yax im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 22Letzter Beitrag: 12.08.10, 22:43 -
Problem mit repaint() in JPanel
Von HansWernerM im Forum JavaAntworten: 4Letzter Beitrag: 17.06.07, 00:02 -
GridBagLayout in JPanel: Wie stelle ich es an das Komponenten im JPanel ...
Von mungoparks im Forum JavaAntworten: 7Letzter Beitrag: 16.05.07, 17:03 -
JPanel Instanz in einen JPanel laden ?
Von mkoeni1 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 15.01.07, 12:15 -
Problem mit JPanel
Von Shizzl_chrizzl im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 09.12.04, 12:35





Zitieren
Login





