ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
4173
4173
EMPFEHLEN
-
Moin moin,
ich habe jetzt schon einiges über die Layoutmanager gelesen und wie schön sie eigentlich die Fensterelemente (Buttons, Labels, etc.) automatisch beim Maximieren oder Minimieren an die Fenstergröße anpassen.
Leider klappt das mit meinem JTable nicht.
Ich habe ein JPanel angelegt und da hinein mein JScrollpane. Das JScrollpane enthält mein JTable.
Aber leider bleibt die Größe meiner Tabelle immer die gleiche. Es werden die Spalten zusammengeschoben, so daß die Spaltenüberschriften nicht komplett gelesen werden können und die Größe verändert sich auch nicht beim Maximieren oder Minimieren!
Was mache ich da falsch
Hier noch ein kleiner Codeschnipsel:
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
/* Titel setzen */ this.setTitle(progName); this.setSize(new Dimension(800, 600)); Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); int xpos = (screenSize.width - getWidth()) / 2; int ypos = (screenSize.height - getHeight()) / 2; this.setLocation(xpos, ypos); this.setLayout(new FlowLayout() ); /* Menü erzeugen WICHTIG: muss vor setVisible geschehen, sonst wird Menü nicht angezeigt */ this.createMenu(); /* wenn Fenster geschlossen wird, wird auch Anwendung beendet */ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* Panel für die Übersichts-Tabelle */ JPanel tablePanel = new JPanel(new GridBagLayout()); JTable tableOverview = new JTable(new eBayOrgaMainDTableModel()); JTableHeader header = tableOverview.getTableHeader(); tableOverview.getModel().addTableModelListener(this); header.setBackground(Color.GRAY); header.setForeground(Color.white); /*Scrollbar für die Übersichts-Tabelle */ JScrollPane scrollPane = new JScrollPane(tableOverview); //scrollPane.setPreferredSize(this.getSize()); tablePanel.add(scrollPane); /* Panel für Übersichts-Tabelle auf das Frame legen */ this.add(tablePanel); /* Fenster maximieren */ this.setExtendedState(MAXIMIZED_BOTH); /* Programm-Icon setzen */ //TODO: this.setIconImage(getToolkit().getImage(this.getClass().getResource("/Mediafiles/" + "icon.jpg"))); /* visible setzen sonst sehen wir das Fenster gar nicht */ this.setVisible(true);
Danke im voraus für eure Hilfe!
Gruss
Muecke
-
Statt this.setLocation(xpos, ypos); kannst du auch setLocationRelativeTo(null); nehmen, dann musst du da nicht rumrechnen.
Versuch mal statt:
JPanel tablePanel = new JPanel(new GridBagLayout());
lieber
JPanel tablePanel = new JPanel(new BorderLayout());
Nen GridBagLayout ist ja unnötig bei nur einer Komponente.
-
-
Hast du es auch ins CENTER gesetzt?
Sollten weitere Probleme sein oder immer noch das selbe dan poste doch mal ausführabren Code. Es kann nehmlich sein das du ein Borderlaoyut in ein anderres Layout hast was alles zunichte macht.
-
mit GridLayout(1,1) funktionierts
Ähnliche Themen
-
JTree in JScrollPane: JScrollPane automatisch anpassen
Von Guadrion im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 14.06.10, 09:12 -
JTable Größe an Frame automatisch anpassen
Von RalU im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 30.01.10, 14:52 -
Fenstergröße anpassen
Von Slazer im Forum C/C++Antworten: 9Letzter Beitrag: 19.01.08, 07:41 -
Fenstergröße anpassen
Von uwee im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 14.01.05, 13:34 -
Fenstergröße automatisch an Auflösung anpassen
Von ZAntjeZ im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 30.08.04, 12:58





Zitieren


Login





