java中jtable的宽度_java – 关于JScrollPane中JTable的列宽度

我想在JScrollPane中设置一个具有固定num宽度的JTable的每一列,但我不能用infoTable.getColumnModel().getColumn(0).setPreferredWidth(10);

我使用JScrollPane的默认布局,并在j2se 1.4中添加带有scrollPane的setViewPortView(infoTable)的表.

我怎么能这样做?

这是我的代码

private javax.swing.JButton jButton1;

private javax.swing.JScrollPane jScrollPane1;

public TableFrame() {

jScrollPane1 = new javax.swing.JScrollPane();

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jScrollPane1.setBorder(javax.swing.BorderFactory.createLineBorder(

new java.awt.Color(0, 0, 0)));

jButton1.setText("jButton1");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

this.setSize(new Dimension(600, 600));

this.jScrollPane1.setSize(500, 500);

this.getContentPane().add(this.jScrollPane1, BorderLayout.CENTER);

this.getContentPane().add(this.jButton1, BorderLayout.WEST);

table = new JTable(new javax.swing.table.DefaultTableModel(100, 2));

this.jScrollPane1.setViewportView(table);

table.getColumnModel().getColumn(0).setWidth(10);

}

PS.回答的问题我需要拖动列来调整大小,所以我无法设置最大和最小尺寸

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现 JTable 数据的动态更新可以通过以下步骤完成: 1. 创建 JTable 对象并设置表格模型。 2. 创建一个数据模型并将其与表格模型绑定。 3. 创建一个数据源,可以是数据库或者其他数据来源。 4. 将数据源的数据填充到数据模型。 5. 将数据模型的数据更新到表格模型。 6. 调用 JTable 的 repaint() 方法刷新表格。 下面是一个简单的示例代码,演示了如何在 JTable 实现数据动态更新: ```java import javax.swing.*; import javax.swing.table.DefaultTableModel; public class DynamicTableDemo extends JFrame { private DefaultTableModel model; private JTable table; public DynamicTableDemo() { // 创建表格模型 model = new DefaultTableModel(new String[]{"ID", "Name", "Age"}, 0); // 创建 JTable设置表格模型 table = new JTable(model); // 将 JTable 添加到窗口 add(new JScrollPane(table)); // 添加数据 addData(1, "Alice", 25); addData(2, "Bob", 30); addData(3, "Charlie", 35); // 设置窗口参数 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 300); setLocationRelativeTo(null); setVisible(true); } private void addData(int id, String name, int age) { // 添加数据到数据模型 model.addRow(new Object[]{id, name, age}); // 刷新 JTable table.repaint(); } public static void main(String[] args) { new DynamicTableDemo(); } } ``` 在上面的示例,我们创建了一个 JTable设置了表格模型。然后通过调用 addData() 方法向表格添加数据。在 addData() 方法,我们首先向数据模型添加数据,然后调用 JTable 的 repaint() 方法刷新表格。这样就可以实现 JTable 数据的动态更新了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值