我正在嘗試將JTable放入JTable中。一切正常,我可以獲得所有軌道信息,并成功地將其放入模型和insideTable中,唯一的問題是我無法渲染它。甚至嘗試將insideTable前景色設(shè)置為紅色,但仍然看不到任何變化 table.setDefaultRenderer(List.class, new DefaultTableCellRenderer(){ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { String[] columns = {"Name","Duration","Location"}; List<Track> tracks = (ArrayList<Track>) value; DefaultTableModel model = new DefaultTableModel(columns,0); JTable insideTable = new JTable(model); for(Track t: tracks){ String[] r = {t.getName(),t.getDuration(),t.getLocation()}; model.addRow(r); } model.fireTableDataChanged(); insideTable.setVisible(true); return insideTable; } });這就是它的外觀。這個(gè)使用默認(rèn)渲染。
1 回答

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
好的,我解決了它給行自定義高度,然后修復(fù)了尚未顯示的 columnNames。
table.setRowHeight(row, 20 + (15 * insideTable.getRowCount()));
JScrollPane columnFix = new JScrollPane(insideTable);
columnFix.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
添加回答
舉報(bào)
0/150
提交
取消