首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JTable动态更改行高

在Java中,要动态更改JTable的行高,您可以使用TableModelListener来监听表格模型的变化,并在变化发生时更新行高

代码语言:javascript
复制
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import java.awt.*;

public class DynamicRowHeightTable {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Dynamic Row Height JTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 400);

        // 创建表格模型
        DefaultTableModel model = new DefaultTableModel(new Object[][]{
                {"Row1-Column1", "Row1-Column2"},
                {"Row2-Column1", "Row2-Column2"},
                {"Row3-Column1", "Row3-Column2"}
        }, new Object[]{"Column1", "Column2"});

        // 创建JTable并设置模型
        JTable table = new JTable(model);

        // 添加TableModelListener以动态更改行高
        model.addTableModelListener(new TableModelListener() {
            @Override
            public void tableChanged(TableModelEvent e) {
                int rowCount = table.getRowCount();
                for (int i = 0; i < rowCount; i++) {
                    table.setRowHeight(i, 30); // 设置行高为30像素
                }
            }
        });

        JScrollPane scrollPane = new JScrollPane(table);
        frame.add(scrollPane);
        frame.setVisible(true);
    }
}

在这个示例中,我们创建了一个包含3行2列的JTable。我们为表格模型添加了一个TableModelListener,当表格模型发生变化时(例如,添加或删除行),它会遍历所有行并将行高设置为30像素。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券