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

使用DefaulTableModel将项目ArrayList到JTable

使用DefaultTableModel将项目ArrayList到JTable的步骤如下:

  1. 创建一个DefaultTableModel对象,该对象将用于存储表格数据。
  2. 创建一个String数组,用于存储表格的列名。
  3. 将列名数组传递给DefaultTableModel的构造函数,以创建一个带有指定列名的表格模型。
  4. 创建一个ArrayList对象,用于存储项目数据。
  5. 遍历项目ArrayList,将每个项目的数据存储在一个Object数组中。
  6. 将每个Object数组添加到DefaultTableModel中,以添加项目数据到表格模型。
  7. 创建一个JTable对象,并将DefaultTableModel对象设置为其数据模型。
  8. 将JTable添加到一个JScrollPane中,以支持滚动功能。
  9. 将JScrollPane添加到一个容器中,以显示表格。

下面是一个示例代码,演示如何使用DefaultTableModel将项目ArrayList到JTable:

代码语言:txt
复制
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.util.ArrayList;

public class ProjectTableExample extends JFrame {
    private JTable table;
    private DefaultTableModel tableModel;

    public ProjectTableExample() {
        // 创建表格列名数组
        String[] columnNames = {"项目名称", "项目描述", "开始日期", "结束日期"};

        // 创建表格模型
        tableModel = new DefaultTableModel(columnNames, 0);

        // 创建项目ArrayList并添加数据
        ArrayList<Project> projects = new ArrayList<>();
        projects.add(new Project("项目1", "这是项目1的描述", "2022-01-01", "2022-01-31"));
        projects.add(new Project("项目2", "这是项目2的描述", "2022-02-01", "2022-02-28"));
        projects.add(new Project("项目3", "这是项目3的描述", "2022-03-01", "2022-03-31"));

        // 将项目数据添加到表格模型
        for (Project project : projects) {
            Object[] rowData = {project.getName(), project.getDescription(), project.getStartDate(), project.getEndDate()};
            tableModel.addRow(rowData);
        }

        // 创建JTable并设置数据模型
        table = new JTable(tableModel);

        // 创建JScrollPane并添加JTable
        JScrollPane scrollPane = new JScrollPane(table);

        // 设置窗口布局和添加JScrollPane
        setLayout(new BorderLayout());
        add(scrollPane, BorderLayout.CENTER);

        setTitle("项目表格");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(ProjectTableExample::new);
    }

    // 项目类
    private static class Project {
        private String name;
        private String description;
        private String startDate;
        private String endDate;

        public Project(String name, String description, String startDate, String endDate) {
            this.name = name;
            this.description = description;
            this.startDate = startDate;
            this.endDate = endDate;
        }

        public String getName() {
            return name;
        }

        public String getDescription() {
            return description;
        }

        public String getStartDate() {
            return startDate;
        }

        public String getEndDate() {
            return endDate;
        }
    }
}

这个示例代码创建了一个包含项目名称、项目描述、开始日期和结束日期的表格,并使用DefaultTableModel将项目ArrayList中的数据添加到表格中。你可以根据实际需求修改表格的列名和项目数据。

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

相关·内容

共80个视频
2024年go语言初级1
福大大架构师每日一题
这个初级Go语言视频课程将带你逐步学习和掌握Go语言的基础知识。从语言的特点和用途入手,课程将涵盖基本语法、变量和数据类型、流程控制、函数、包管理等关键概念。通过实际示例和练习,你将学会如何使用Go语言构建简单的程序。无论你是初学者还是已有其它编程语言基础,该视频课程将为你打下扎实的Go编程基础,帮助你进一步探索和开发个人项目。
共11个视频
2024年go语言初级2
福大大架构师每日一题
这个初级Go语言视频课程将带你逐步学习和掌握Go语言的基础知识。从语言的特点和用途入手,课程将涵盖基本语法、变量和数据类型、流程控制、函数、包管理等关键概念。通过实际示例和练习,你将学会如何使用Go语言构建简单的程序。无论你是初学者还是已有其它编程语言基础,该视频课程将为你打下扎实的Go编程基础,帮助你进一步探索和开发个人项目。
共63个视频
《基于腾讯云EMR搭建离线数据仓库》
腾讯云开发者社区
本项目由尚硅谷大数据研究院与腾讯云团队共同合作研发,依托国内电商巨头的真实业务场景,基于各大互联网企业对于腾讯云EMR架构体系的需求,将整个电商的离线数据仓库体系搭建在腾讯云架构上。全方面完成了整个离线数据仓库架构的海量数据采集、存储、计算、可视化展示,整个业务流程全部搭建在腾讯云服务器上并且全部使用腾讯云EMR的服务组件,将各腾讯云EMR服务组件充分进行联动。
共69个视频
《腾讯云AI绘画-StableDiffusion图像生成》
学习中心
人工智能正在加速渗透到千行百业与大众生活中,个体、企业该如何面对新一轮的AI技术浪潮?为了进一步帮助用户了解和使用腾讯云AI系列产品,腾讯云AI技术专家与传智教育人工智能学科高级技术专家正在联合打造《腾讯云AI绘画-StableDiffusion图像生成》训练营,训练营将通过8小时的学习带你玩转AI绘画。并配有专属社群答疑,助教全程陪伴,在AI时代,助你轻松上手人工智能,快速培养AI开发思维。
领券