养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

java setValueAt设置了值后如何动态更新

时间:2024-10-28 04:19:29

Java中的JTable对象可以用来展现表格,同事可以实时动态修改表格单元格的值,这里介绍如何使用JTable对象的setValueAt方法设置单元格的值

工具/原料

Java8

Eclipse

方法/步骤

1、创建JFrame视窗并添加一个JTable表格对象用来展现数据 JFramef=艘绒庳焰newJFrame();Object缪梨痤刻[][]dataSet={ {"丁丁",newInteger(66),newInteger(32),newInteger(98),newBoolean(false),newBoolean(false)},{"阿道克",newInteger(82),newInteger(69),newInteger(128),newBoolean(true),newBoolean(false)},};String[]n={"姓名","语文","数学","总分","及格","作弊"};JTabletable=newJTable(dataSet,n);table.setPreferredScrollableViewportSize(newDimension(550,30));table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); //设置JTable某个单元格的值 table.setValueAt(newInteger(99),0,1);JScrollPanescrollPane=newJScrollPane(table); f.getContentPane().add(scrollPane,BorderLayout.CENTER);f.setTitle("TigerTable");f.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0); } });

2、添加一个按钮用来动态修改表格单元格的数值JButtonupdateBtn=newJButton(); updateBtn.setText("通过按钮随机修改"); Randomrand=newRandom(); updateBtn.addActionListener(newActionListener(){ @Override publicvoidactionPerformed(ActionEventarg0){ //通过按钮动态设置JTable某个单元格的值 table.setValueAt(newInteger(rand.nextInt()),1,1); updateBtn.setText(""+table.getValueAt(1,1)); } }); f.getContentPane().add(updateBtn,BorderLayout.NORTH);

3、添加一个按钮用来实时获取表格单元格的动态值JButtondynamicBtn=newJButton(); dynamicBtn.setText("获取表格动态修改值"); f.getContentPane().add(dynamicBtn,BorderLayout.SOUTH); dynamicBtn.addActionListener(newActionListener(){ @Override publicvoidactionPerformed(ActionEventarg0){ dynamicBtn.setText("表格动态修改值(1,1)="+table.getValueAt(1,2)); //动态更新table值 table.setValueAt(newInteger(rand.nextInt()),1,1); } });

4、完整的代码:package咯悝滩镞tiger;importjavax.swing.*;importjavax.swing.table.*;importjava.a臃扮哀坷wt.*;importjava.awt.event.*;importjava.util.*;publicclassTigerTable{ publicTigerTable(){ JFramef=newJFrame(); Object[][]dataSet={ {"丁丁",newInteger(66),newInteger(32),newInteger(98),newBoolean(false),newBoolean(false)}, {"阿道克",newInteger(82),newInteger(69),newInteger(128),newBoolean(true),newBoolean(false)},}; String[]n={"姓名","语文","数学","总分","及格","作弊"}; JTabletable=newJTable(dataSet,n); table.setPreferredScrollableViewportSize(newDimension(550,30)); table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); //设置JTable某个单元格的值 table.setValueAt(newInteger(99),0,1); JScrollPanescrollPane=newJScrollPane(table); f.getContentPane().add(scrollPane,BorderLayout.CENTER); f.setTitle("TigerTable"); f.addWindowListener( newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } }); JButtonupdateBtn=newJButton(); updateBtn.setText("通过按钮随机修改"); Randomrand=newRandom(); updateBtn.addActionListener(newActionListener(){ @Override publicvoidactionPerformed(ActionEventarg0){ //通过按钮动态设置JTable某个单元格的值 table.setValueAt(newInteger(rand.nextInt()),1,1); updateBtn.setText(""+table.getValueAt(1,1)); } }); f.getContentPane().add(updateBtn,BorderLayout.NORTH); JButtondynamicBtn=newJButton(); dynamicBtn.setText("获取表格动态修改值"); f.getContentPane().add(dynamicBtn,BorderLayout.SOUTH); dynamicBtn.addActionListener(newActionListener(){ @Override publicvoidactionPerformed(ActionEventarg0){ dynamicBtn.setText("表格动态修改值(1,1)="+table.getValueAt(1,2)); //动态更新table值 table.setValueAt(newInteger(rand.nextInt()),1,1); } }); f.pack(); f.show(); f.setVisible(true); } publicstaticvoidmain(String[]args){ newTigerTable(); }}

java setValueAt设置了值后如何动态更新

java setValueAt设置了值后如何动态更新

java setValueAt设置了值后如何动态更新

© 一点知识