你好这里是我的代码为我的表设置:适合的JTable填补的JPanel
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);
这里是我的addMainPanel()函数:
public void addMainPanel(Component pnl){
mainPanel.add(pnl);
mainPanel.revalidate();
}
这里是我为我的mainPanel代码:
mainPanel = new JPanel();
mainPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
add(mainPanel,"Center");
,我使用边界布局为我的框架:
setLayout(new BorderLayout(0,0));
我的问题是,即使我使用这组代码来设置我的JTable以适应,但它似乎无法全部此,代码:
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);
}
如果是使用代码,我的JTable不会调整大小,只能添加底部的水平滚动条。
使用setXXSize ;-)的危险不要:在那之后,一个组件将永远不会再尝试计算它的大小提示... [详细信息](http://stackoverflow.com/a/7229519/203657 ) – kleopatra