我正在嘗試將JTable放入JTable中。一切正常,我可以獲得所有軌道信息,并成功地將其放入模型和insideTable中,唯一的問題是我無法渲染它。甚至嘗試將insideTable前景色設置為紅色,但仍然看不到任何變化 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; } });這就是它的外觀。這個使用默認渲染。
1 回答

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