You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置JTable列宽?照搬示例代码仍报错求解答

问题解析与修复

你的代码核心错误是错误使用了不存在的JString类,Java标准库中没有JString这个类型,定义列名数组应该用String[],这个语法错误会导致后续所有代码无法正常编译,表现为列宽设置语句报错。

修正后的代码如下:

import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

// 修正:将JString改为String
String[] columnNames = {"New Line Name", "Point1", "Point2", "Angle", "Parallel Line Name",      
                             "Distance From Line", "Group"};
DefaultTableModel linesTableModel = new DefaultTableModel(null, columnNames);
JTable tblLines = new JTable(linesTableModel);
TableColumnModel colModel = tblLines.getColumnModel(); 
colModel.getColumn(0).setPreferredWidth(100);
colModel.getColumn(1).setPreferredWidth(50);
colModel.getColumn(2).setPreferredWidth(80);
colModel.getColumn(3).setPreferredWidth(150);
colModel.getColumn(4).setPreferredWidth(200);
colModel.getColumn(5).setPreferredWidth(100);
colModel.getColumn(6).setPreferredWidth(90);

额外注意:确保这段代码在Swing的**事件调度线程(EDT)**中执行,避免线程安全问题,比如通过SwingUtilities.invokeLater()包裹代码逻辑。

内容的提问来源于stack exchange,提问作者Edelweiss Monville

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:34:58