Fit JTable zu füllen JPanel

Hi hier sind meine codes für meine Tabelle Einstellungen:

String [] column = {"MacAddress","PcName","OperatingSystem","IpAddress","Port","Status"};
    model = new DefaultTableModel(0,column.length);
    model.setColumnIdentifiers(column);
    mainTable = new JTable(model);
    mainTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    for(int i=0;i<=column.length-1;i++){
    mainTable.getColumnModel().getColumn(i).setPreferredWidth(300);
    }
    pane = new JScrollPane(mainTable);
    pnlTabel = new JPanel();
    pnlTabel.setBorder(BorderFactory.createTitledBorder(""));
    pnlTabel.setPreferredSize(new Dimension(dim.width*70/100, dim.height*60/100));
    pnlTabel.add(pane);
addMainPanel(pnlTabel);

Hier ist mein addMainPanel () - Funktion:

public void addMainPanel(Component pnl){
    mainPanel.add(pnl);
    mainPanel.revalidate();
}

Und hier ist mein code für mein mainPanel:

    mainPanel = new JPanel();
mainPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
add(mainPanel,"Center");

und ich bin mit border-layout für meinen Rahmen:

setLayout(new BorderLayout(0,0));

Mein problem ist, dass auch ich mit diesem Satz von code, um meine JTable zu passen, aber es scheint nicht alle die, diese, diese-code:

 mainTable.setAutoResizeMode(JTa![enter image description here][1]ble.AUTO_RESIZE_OFF);
for(int i=0;i<=column.length-1;i++){
mainTable.getColumnModel().getColumn(i).setPreferredWidth(300);
}

Wann wird diesen code, meine jtable nicht die Größe ändern sondern nur hinzufügen, auf eine horizontale scroll-Leiste am unteren Rand.

die Gefahren der Verwendung von setXXSize 😉 DONT, je, nach, dass ein Bestandteil, der wird NIE WIEDER versuchen zu berechnen, die Größen-Hinweise ... details

InformationsquelleAutor Chris | 2012-10-03

Schreibe einen Kommentar