当前位置: 首页 > news >正文

java复选框添加选中事件_Java的JTable中添加JCheckBox,点击事件处理问题,求高手指点迷津...

展开全部

package p1;

import java.awt.Dimension;

import java.awt.GridLayout;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.AbstractTableModel;

public class TableDemo extends JPanel

{

private boolean DEBUG = true;

public TableDemo ()

{

32313133353236313431303231363533e78988e69d8331333335343364super (new GridLayout (1, 0));

JTable table = new JTable (new MyTableModel ());

table.setPreferredScrollableViewportSize (new Dimension (500, 70));

table.setFillsViewportHeight (true);

JScrollPane scrollPane = new JScrollPane (table);

add (scrollPane);

}

class MyTableModel extends AbstractTableModel

{

private String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian" };

private Object[][] data = { { "Kathy", "Smith", "Snowboarding", new Integer (5), new Boolean (false) },

{ "John", "Doe", "Rowing", new Integer (3), new Boolean (true) },

{ "Sue", "Black", "Knitting", new Integer (2), new Boolean (false) },

{ "Jane", "White", "Speed reading", new Integer (20), new Boolean (true) },

{ "Joe", "Brown", "Pool", new Integer (10), new Boolean (false) } };

public int getColumnCount ()

{

return columnNames.length;

}

public int getRowCount ()

{

return data.length;

}

public String getColumnName ( int col )

{

return columnNames[col];

}

public Object getValueAt ( int row, int col )

{

return data[row][col];

}

public Class getColumnClass ( int c )

{

return getValueAt (0, c).getClass ();

}

public boolean isCellEditable ( int row, int col )

{

if (col 

{

return false;

}

else

{

return true;

}

}

public void setValueAt ( Object value, int row, int col )

{

if (DEBUG)

{

System.out.println ("Setting value at " + row + "," + col + " to " + value + " (an instance of "

+ value.getClass () + ")");

}

data[row][col] = value;

fireTableCellUpdated (row, col);

if (DEBUG)

{

System.out.println ("New value of data:");

printDebugData ();

}

}

private void printDebugData ()

{

int numRows = getRowCount ();

int numCols = getColumnCount ();

for ( int i = 0; i 

{

System.out.print ("    row " + i + ":");

for ( int j = 0; j 

{

System.out.print ("  " + data[i][j]);

}

System.out.println ();

}

System.out.println ("--------------------------");

}

}

private static void createAndShowGUI ()

{

JFrame frame = new JFrame ("TableDemo");

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

TableDemo newContentPane = new TableDemo ();

newContentPane.setOpaque (true);

frame.setContentPane (newContentPane);

frame.pack ();

frame.setVisible (true);

}

public static void main ( String[] args )

{

javax.swing.SwingUtilities.invokeLater (new Runnable ()

{

public void run ()

{

createAndShowGUI ();

}

});

}

}

相关文章:

  • java thread类是抽象类_抽象类详解
  • 摘要认证 java_摘要认证及实现HTTP digest authentication
  • ssdp java_SSDP 简单服务发现协议
  • suse tomcat mysql_suse 安装jdk和tomcat工作记录
  • javascript java 语法_JavaScript
  • java.lang.nullpointerexception:group_为什么会出现java.lang.nullpointerexception错误
  • java数组查找指定元素_Java在数组中查找指定元素的方法
  • k8s mysql volume_k8s实践(七):存储卷和数据持久化(Volumes and Persistent Storage)
  • java 能够完成多个http请求并回应_Java Web请求与响应实例详解
  • mysql 交叉查询_MySQL连接查询,内连接,外连接,全连接,交叉连接
  • java中 springurl_基于SpringMVC中的路径参数和URL参数实例
  • java句子倒序_Java实现英文句子中的单词顺序逆序输出的方法
  • JAVA边学边练答案_Struts2边学边练(1)-HelloWorld
  • php gzip css 乱码,php使用gzip压缩传输js和css文件的方法
  • php静态检测工具,PHP静态代码分析工具,可以检测未捕获的异常?
  • [笔记] php常见简单功能及函数
  • CSS中外联样式表代表的含义
  • Python socket服务器端、客户端传送信息
  • Python3爬取英雄联盟英雄皮肤大图
  • 普通函数和构造函数的区别
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 驱动程序原理
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • NLPIR智能语义技术让大数据挖掘更简单
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (Matlab)使用竞争神经网络实现数据聚类
  • (办公)springboot配置aop处理请求.
  • (六)c52学习之旅-独立按键
  • (十六)Flask之蓝图
  • (转)为C# Windows服务添加安装程序
  • ****Linux下Mysql的安装和配置
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net下的富文本编辑器FCKeditor的配置方法
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [cogs2652]秘术「天文密葬法」
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [hive] 窗口函数 ROW_NUMBER()
  • [IE编程] 了解Urlmon.dll和Wininet.dll
  • [JavaScript]_[初级]_[关于forin或for...in循环语句的用法]
  • [LeetCode刷题笔记]1 - 两数之和(哈希表)
  • [LitCTF 2023]Http pro max plus
  • [MSSQL]GROUPING SETS,ROLLUP,CUBE初体验