为了账号安全,请及时绑定邮箱和手机立即绑定

JTable里面的JTable不渲染

JTable里面的JTable不渲染

胡说叔叔 2022-07-20 21:08:08
我正在尝试将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);


查看完整回答
反对 回复 2022-07-20
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信