自动调整1列,留下另一列以占用剩余的可用空间。在JScrollPane中使用JTable。
我一直在寻找这个问题,我似乎找不到这样做的例子。
我在ScrollPane中有一个JTable,有两列,多行。第一列仅显示少量数据,通常长度相同,而在第二列中,长度可能会有很大差异。
我想调整第一列的大小以适应数据,然后允许第二列用尽剩下的空间。我不希望它在整个小组中平均分配。
我见过将一列设置为自动调整大小的示例,但第二列会怎么做?
任何帮助将不胜感激!
感谢。
史蒂夫
答案 0 :(得分:2)
代码是这样的
private JScrollPane textPanel() {
String header[] = {"Date/Time","Log Entry"};
String data[][] =
{
{"18-08-2014 - 16:21","Something"},
{"18-08-2014 - 16:21","Something"},
{"18-08-2014 - 16:21","Something"}
};
JTable tPanel = new JTable(data,header);
tPanel.setFont(new Font(Font.SANS_SERIF,Font.BOLD, 14));
tPanel.setGridColor(Color.BLACK);
tPanel.setForeground(Color.WHITE);
tPanel.setBackground(Color.BLACK);
tPanel.getTableHeader().setResizingAllowed(false);
tPanel.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
TableColumnAdjuster tca = new TableColumnAdjuster(tPanel);
tca.adjustColumns();
JScrollPane sPanel;
sPanel = new JScrollPane(tPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
sPanel.getViewport().setBackground(Color.BLACK);
return sPanel;