2017-05-08 2 views
1

ich eine Tabelle mit JTable erstellt, aber es scheint, kleiner als die Platte, wie Sie im Bild unten sehen ...JTable erscheint kleiner

enter image description here

der Code

  tableModel1 = new DefaultTableModel(data1,column_header1); 

      table_1 = new JTable(tableModel1); 
      JScrollPane scrollPane1 = new JScrollPane(table_1); 


      scrollPane1.setBounds(1, 1, 1050, 500); 
      panel_3.add(scrollPane1); 

+2

Was ist der Layout-Manager auf 'panel_3'? Es sollte wahrscheinlich "BorderLayout" sein und Sie sollten den Bildlaufbereich bei "BorderLayout.CENTER" hinzufügen. –

Antwort

-1

I Nehmen Sie an, dass Ihre jtable-Inhalte an jpanel angepasst sind. Versuchen Sie, weitere Zeilen in der jtable hinzuzufügen, sodass möglicherweise vertikale Bildlaufleisten angezeigt werden. Technisch vertikale/horizontale Bildlaufleisten erscheinen in der notwendigen Situation. In Ihrem Fall keine Möglichkeit der vertikalen Scrollbalken, da Sie nur 4 Zeilen und keine horizondal haben auch da Ihre Spalten Breite auf die Plattenbreite fit sind ... Fügen Sie die Eigenschaft in Ihrem Code und überprüfen ..

scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
2

Wir wirklich Sie müssen den Layout-Manager kennen, den Sie für "panel_3" verwenden. Der beste Ort, um einen JScrollPane zu platzieren, ist die CENTER-Position eines BorderLayout. Dies liegt daran, dass die Position CENTER den gesamten verbleibenden Speicherplatz erhält. Wenn Sie die Größe des Fensters ändern, wird es bei Bedarf vergrößert/verkleinert.

In Panel_3 setzen Sie Ihr Layout auf BorderLayout. Dann fügen Sie Ihre JScrollPane an der Position CENTER hinzu:

Dann entfernen Sie diesen Aufruf zu setBounds().