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

当按钮被点击时,从arraylist添加项目到JTable

当按钮被点击时,从ArrayList添加项目到JTable的过程可以通过以下步骤实现:

  1. 创建一个按钮,并为其添加点击事件的监听器。
  2. 在点击事件的处理方法中,获取需要添加到JTable的项目信息。
  3. 将获取到的项目信息添加到ArrayList中。
  4. 创建一个TableModel对象,用于管理JTable的数据。
  5. 将ArrayList中的数据转换为二维数组,并将其设置为TableModel的数据。
  6. 创建一个JTable对象,并将TableModel设置为其数据模型。
  7. 将JTable添加到界面中显示。

以下是一个示例代码:

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

public class AddItemToJTableExample {
    private ArrayList<String[]> itemList; // 用于存储项目信息的ArrayList

    public AddItemToJTableExample() {
        itemList = new ArrayList<>();

        // 创建按钮
        JButton addButton = new JButton("添加项目");
        addButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取项目信息(示例中使用固定的数据)
                String[] item = {"项目名称", "项目描述", "项目日期"};

                // 将项目信息添加到ArrayList
                itemList.add(item);

                // 将ArrayList中的数据转换为二维数组
                String[][] data = new String[itemList.size()][];
                for (int i = 0; i < itemList.size(); i++) {
                    data[i] = itemList.get(i);
                }

                // 创建TableModel,并设置数据
                DefaultTableModel model = new DefaultTableModel(data, new String[]{"名称", "描述", "日期"});

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

                // 将JTable添加到界面中显示(示例中使用弹窗显示)
                JOptionPane.showMessageDialog(null, new JScrollPane(table));
            }
        });

        // 将按钮添加到界面中显示(示例中使用弹窗显示)
        JOptionPane.showMessageDialog(null, addButton);
    }

    public static void main(String[] args) {
        new AddItemToJTableExample();
    }
}

在这个示例中,当按钮被点击时,会将固定的项目信息添加到ArrayList中,并将ArrayList中的数据显示在JTable中。你可以根据实际需求修改代码中的数据来源和界面展示方式。

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

相关·内容

vue3 model.ts render中的按钮被点击时将事件传递到vue页面

背景:列表中的字段配置放在model.ts中,models.ts中某个字段可以点击,当点击发生时需要将点击事件传递到vue页面,页面再做出相应处理。...我的model.ts配置的表格列:再点击button时,该点击事件仅在model.ts内可用,无法传递到外部,所以使用vue的依赖注入方法,代码也比较简单,我的感受是有点类似于emit。...我们来到需要接收事件的vue页面: import { provide } from 'vue'; const handleFieldClick = (data: any) => { console.log('字段被点击了...,数据:', data); // 在这里处理点击事件 }; provide('fieldClicked', handleFieldClick); // 提供方法这个方法代码量也比较少,看着也直观,实测没问题...我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。

9210

1小时学会通过Java Swing Design设计java图形化

,故而咱们的学习目标如下: 其中设计到的控件:文本框、输入框、按钮、表格,数据库是JDBC绑定数据集类型就行。...---- 1、项目创建 使用eclipse直接创建一个java的空项目即可,唯一要注意的就是创建【java】的时候不是点击【class】而是创建【JFrame】,通过【JFrame】才能使用设计工具【Design...列表 JTable 表格 画的有些乱,但是基本上一眼就能看出来是啥:  表格JTable: JPanel设置上下布局,JScrollPane设置,这样才能显示table的标题列 添加一些测试数据...: JTable需要绑定一下俩数据: //添加标题 Vector vTitle = new Vector(); //添加数据 Vector vdate = new Vector(); //绑定到控件...:如果有单选按钮得分组 为了方便操作,别忘改一个控件的名称:  双击添加按钮: 添加编码: package com.item.ui; import java.awt.BorderLayout

1.2K10
  • java超市仓库管理系统(超市条形码管理系统)

    JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;添加2个JButton,分别用来实现商品查询及添加商品...图2 3、单击“添加商品”按钮,弹出如图3所示的窗体,此时必须输入所有商品信息, 否则将弹出如图4所示的对话框;当商品信息输入完毕,单击“确定”按钮,实现商品的添加, 在弹出如图5所示的对话框后,释放窗体...GoodsManagement,在其下新建文件夹“lib”,复制jar包文件(mysql-connector-java-5.1.34-bin.jar)存入其中,导入jar包到项目; 2、添加一个类GoodsManager...4、单击“显示所有商品”、“按编号查询”及“按名称查询”按钮时调用DBManager.runSelectSql方法实现;单击“修改商品”、“删除商品”或“添加商品”按钮调用DBManager.runUpdateSql...this.setResizable(false);//让窗口大小不可改变 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户单击窗口的关闭按钮时程序执行的操作

    3.5K20

    Java Swing 期末大作业-----图书借阅管理系统

    输入用户名和密码后点击添加实现注册功能。...6.读者查询与修改功能实现   点击查询,如果上面的下拉框是全部,那么查询所有图书信息,并显示到面板中,如果下拉框是书名,那么根据书名进行查询并把结果显示到中间面板中.点击修改,输入对应的内容,修改对应图书的信息...点击退出,正常退出界面 7.读者类型管理功能实现 8.图书类型管理功能实现   在表单显示所有的类型信息,点击添加,给booktype表中添加数据,点击修改,修改对应类型编号的数据的相关信息。...点击关闭页面正常退出。 10.图书归还功能实现    在表单中显示所有已经被借走的书籍信息,点击归还,将借阅的信息进行删除。点击关闭页面正常退出。...11.用户增加功能实现    在文本框中输入用户名和密码,点击添加,将对应信息放到user类中,在插入到user表中。 用户名都是唯一的,不能输入已经存在过的用户名。

    3.9K40

    高级Swing 组件

    JList组件​ JList组件类似一组复选框或者单选按钮,不过JList组件的各个项目是放在单个框中,并且是通过单击项目本身而不是单击按钮来选定的。...参数:list 要绘制其单元格的列表 item 要绘制的项目 index 项目存放在列表模型中时使用的索引 isSelected * 如果设定的单元格被选定,则返回true hasFocus 如果设定的单元格拥有该焦点...简单的表格​ 与列表型控件的情况一样,JTable并不存储它自己的数据,而是从表格模型那里获得它的数据。JTable 类有一个构造器,将二维对象数组包装在一个默认模型之中。...当JTable需要查看某个值时,过滤器模型便计算实际的行索引,并且从模型中获取该值。...当检测到一个双击操作时,必须确定鼠标点击操作落在表格的那一个列上。然后,必须将表格列转换成表格模型的列,如果用户将表格列随意移动的话,那么表格与表格模型的列是不同的。

    6910

    我肚子里可能有一瓶代码,但肯定没有一滴墨水

    你让我写个简单点的程序 我可能都不用憋好久 但是一个报告,真De憋死俺了 那就借此来写一遍文章记录一下这个结论 顺便开阔一下我的思路不然 我的思路还是很堵 希望思路和这帮小崽们一样跳跃 (二) 我Java课设选的项目是...:学生信息管理系统 要求设计一个GUI 界面 实现对学生信息的增删改查 我遇到的一个问题就是从数据库中 取到多条数据之后 不知道如何添加到JTable中 就是现实多线数据 最后经过多方的努力 和Hony...哥的指导下 用了一个叫做ArrayList的东西 实现了展示数据的功能 那么ArrayList是个啥呢 “ ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素...ArrayList 上图是我程序的代码,实现了给JTbale添加数据 其实我现在中介一下,就是因为 table.setModel(new DefaultTableModel(data,columnName...JTable添加数据库的数据了 所以在这,感谢Hony哥的思路 也感谢老师最后的验收 但是,oh,我还要写报告- 可我的肚子里没有一滴墨水啊 最后让我们用James的Taco Tuuuuuesday

    31030

    Java 学生成绩管理系统「建议收藏」

    分析 这个项目有 1.学生 2.老师 3.教务人员 4.管理员四个角色分别担任不同的任务。...4.管理员 对学生老师和教务人员进行帐号注册(例如学校的教学网第一次登录不需要注册直接用学号登录然后改密码,这样防止外人注册进入到系统) 只有一个系统管理员,用来添加学生,教师和教务人员帐号,方便学习这里帐号...登录界面 因为是只有管理员才能注册新的用户,所以此页面没有注册按钮,需要注册时点击管理员按钮进入Register类进行注册。...如果要更改为每个随意注册只需添加注册按钮和相应的监听,然后转到Register类即可。...} } } return index; } } 注册页面 在登录页面点击管理员按钮后进入到此页面

    5.4K20

    java.awt.swing菜单组件

    弹出式菜单也称为快捷菜单,它是相当于某个指定组件的,当该组件受到鼠标单击时,会弹出一个菜单,这个菜单就是弹出式菜单。弹出式菜单的结构比较简单,最多只有二级菜单。...JMenuBar组件是用来摆放JMenu的菜单栏组件,当创建很多JMenu组件后,需要通过JMenuBar组件将JMenu组件加入到窗体中。...18 jpm.add(item2); 19 // 为JFrame添加鼠标点击事件监听器 20 jf.addMouseListener(new MouseAdapter() { 21...例12-14中,先创建了JFrame窗体,然后创建菜单、菜单项,在“退出”的菜单项中添加事件监听,点击“退出”窗体就会关闭,最后为JFrame窗体添加鼠标点击事件监听器,实现右键弹出菜单的效果。...例12-15运行结果 图12.17中,程序运行先创建了JFrame窗体,然后定义了表格标题和数据的两个数组,最后创建JTable时将两个数组以参数传入,利用JTable类成功展现了一个表格。

    13910

    java swing项目桌面软件还是蛮香的,至少有了我自己的桌面软件|Java 开发实战

    2、先将JTable加入jscrollpane(滚动条)中,然后在将滚动条加入到对应的控件中(Jpanel或者是Jframe).java swing 开发中加入滚动条是很常见的操作,所以这种方式的加入表格还是很推荐的...我需要一个几行几列的表格,至于每个单元格显示的内容就是通过getValueAt这个方法实现的,到这里我们就实现了,jtable的model自定义显示。...显示模块去刷新从1-6行的所有数据,所以说比如你更新了第一行的数据,而你用的两个参数是1,4.那么恭喜你,你的更新JTable无法实现,因为他只更新从第二行开始到第五行的数据。...return getValueAt(0, c).getClass();这样我们就可以显示一些其他的控件了,还有一些比如每行都需要一行按钮来实现修改改行的功能,这些按钮正常我们不需要再数据中添加(避免数据过于庞大...),如果不在数据中添加那么我们的getClass方法就起不到作用,这个用到了下面的知识来解决JTable渲染和编辑这种呢其实就是上面的getClass底层的实现方式,JTable中源码我们上面可以看出JTable

    40110

    基于java swing的设备管理系统

    StartFrame 负责登录、注册界面的显示 包含name、pwd文本输入框和login(regist)、exit按钮 当点击login(regist)按钮时,检测name、pwd中数据是否为空,如果不为空...,则将数据传递到StartDao中处理数据; 当regist成功时,跳转入login界面 当login成功时,进入ManageFrame界面 当点击exit按钮时,系统退出 ManageFrame 框架的...content panel为JTabbedPane,其有5个选项卡: (1)equipment负责所有设备的名称、运行状态的显示和状态管理,状态有①无状态 ②run ③repair ④scrap      当点击切换状态的时候...表头、数据对象,由其子类重写对应的方法;定义具体方法createScrollPane()负责创建JScrollPane可滚动面板装载createTable()创建的JTable对象,createSelectButton...()负责创建搜索按钮 2.dao数据处理层 ?

    2.6K81

    java winform开发之JTable全攻略

    这两天在研究JTable的使用,也有一些收获,所以在这里跟大家分享交流一下,下面的内容将包括:1)JTable的基本用法;2)怎样为JTable添加行点击响应事件,双击后打开窗口;3)怎样为JTable...的行添加标识,如行id等;4)怎样在JTable中动态添加新行;     1)JTable的基本用法: 我用的IDE是NetBeans,由于也是简单做几个页面的客户端,主要还是Web开发的,所以暂时不打算深究...2)怎样添加行点击事件 首先,在JTable的设计视图中先选中JTable,然后右击,在事件的弹出菜单中依次选中"mouse-click”就可以捕捉表格的点击事件了,在这个事件监听方法中,会传入一个java.awt.event.MouseEvent...类的实例evt,用evt.getClickCount(),就可以知道触发该事件时用户的点击次数,只要这个方法返回的值大于等于2,就说明用户双击了,下面的示例代码,供大家参考: if(evt.getClickCount...4)怎样在JTable中动态添加新行 其实这个问题非常简单,只要根据列模型生成相应的行对象,然后通过调用JTable的model对象的addRow方法就ok了,由于过于简单,所以直接贴代码来说明问题:

    1.2K30

    Java Swing JTable

    除了将数据从应用程序复制到DefaultTableModel之外,还可以将数据包装在TableModel接口的方法中,以便可以将数据直接传递到JTable,如上例所示。...使用情况的完整示例,涵盖了如何使用JTable提供从数据库获取的数据的可编辑视图以及如何修改显示中的列。...JTable仅使用整数来引用它显示的模型的行和列。 JTable只是采用表格形式的单元格范围,并在绘制过程中使用getValueAt(int,int)从模型中检索值。...添加表格到容器中有两种方式: 添加到普通的中间容器中,此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。...(int rowHeight) // 设置指定行的行高 void setRowHeight(int row, int rowHeight) /** 设置当手动改变某列列宽时,其他列的列宽自动调整模式,

    5.1K10

    如何在Java中使用Table

    在Java中,开发人员可以使用JTable方法在其应用程序中创建表。JTable是从JComponent类继承的Swing组件。 如何在Java中创建表 要创建表,需要创建JTable类的实例。...frame.setLocationRelativeTo(null); frame.setVisible(true); } } 如果在Idea中运行此代码,它将生成以下输出: 当您单击上述任何一个单元格时...此外,在向用户演示时,所有数据都被视为字符串。 另一个值得关注的问题是,如果您在数据库对象中查询特定值,则必须将所有值复制到数组或向量中。 为了避免这些问题,您可以使用模型创建表格。...所有表(包括使用JTable方法创建的表)都使用表模型来管理其数据。当开发人员没有向JTable的构造函数提供表模型时,将自动为其创建DefaultTableModel的实例。...上面显示的代码示例将表直接添加到JFrame容器中。但是,您可以将表添加到滚动窗格中,这样当数据超出容器时,用户可以轻松浏览数据。

    2.2K40

    HT图形组件设计之道(三)

    ,从这个角度说目前很少有图形框架能让我们满意,相信很多人有类似痛苦的经历,一段时间不用某套框架后,要用时完全忘记如何入手,Swing老手不看老代码不知如何对JTree和JTable添加数据,Flex老手一下子想不起来...因此由以上视频你会发现在chrome下当点击到第16个包含Graph3dView的页签后就出现了”Too many active WebGL contexts....Oldest context will be lost.”的异常,在WebGL中可通过对Canvas添加webglcontextlost的事件监听可判断自己的上下文被销毁了,并可通过添加webglcontextrestored...在我们这个案例中要让系统资源恢复,我们必须让过多的Tab页签中的Graph3dView被彻底回收,因此工具条上的另外两个按钮从代码逻辑可知,我们将Graph3dView设置了一个新的空得DataModel...当点击构建20个页签按钮后,Profiles能看到Objects Count为21: ? 当我们点击两个删除按钮销毁6个Tab页签后发现,Objects Count下降到了15: ?

    2.6K90

    HarmonyOS实战—实现相亲APP

    布局实现 新建项目:MakeFriendsApplication 把以下九个girl图片复制到 media 文件夹下 [在这里插入图片描述] [在这里插入图片描述] 有需要上面图片素材的小伙伴可以自取:...] 接着给按钮添加点击事件,两个按钮都要添加,分别是“next”和“get”按钮 实现本类中点击事件 [在这里插入图片描述] 当next按钮被点击后,就会执行本类中的onClick方法 [在这里插入图片描述...] get 按钮同上也要添加单击事件 [在这里插入图片描述] 然后在 onClick 方法中判断点击是 next 按钮 或 get 按钮 因为在 onClick 方法中要用到按钮的对象,所以把按钮的对象提升为...“下一个” [在这里插入图片描述] [在这里插入图片描述] 当点击“下一个”按钮时,信息也会随之一起获取的到,所以有需求的小伙伴可以扩展下,当点击“下一个”按钮时信息是隐藏的,只有当点击“获取联系方式”...时才能显示出对应的信息,或也可以添加充值页面,当点击“获取联系方式”时,就跳转到充值页面,只有充值完后才能看到对应的信息。

    31840

    java swing 添加 jcheckbox复选框

    小贴士二:使用add方法向控件添加内容控件。 ①首先我们需要面板(JPanel)或其他容器控件承载表格(JTable),值得一提的是:由于窗体本身就是容器型控件,您可以考虑将表格单个地放置在窗体上。...而一般情况使用JTable(Vector rowData,Vector columnNames)       在Java方法中,如果参数需要传递接口,可以在调用方法时传递一个(匿名)对象,该对象是一个不具名的类的实例...必须保证该列能够被编辑,否则无法更改状态 89 87 // (此步骤可以省略,省略时不要忘记将列设为不可编辑) 90 88 // table.getColumnModel...109 112 110 // 在多选是需要按住Ctrl键或者鼠标按住拖过连续的需要选中的行,应该给用户说明 113 111 // 第一种方法是被推荐的...btn.setLocation((panel.getWidth()) / 2 - 40, panel.getHeight() - 80); 121 119 122 120 // 按钮点击时显示当前选中项

    3.3K00
    领券