import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableModelListenerDemo extends JFrame
{
JPanel contentpane=new JPanel();
JTable table;
JScrollPane jScrollPane1=new JScrollPane();
JTextArea jTextArea1=new JTextArea();
JScrollPane jScrollPane2=new JScrollPane(jTextArea1);
public TableModelListenerDemo()
{
try
{jbInit();}
catch(Exception e){}
}
public static void main(String[] args)
{
TableModelListenerDemo frame=new TableModelListenerDemo();
frame.setVisible(true);
}
//当窗口关闭时清空内存
protected void processWindowEvent(WindowEvent e)
{
if(e.getID()==WindowEvent.WINDOW_CLOSING)
{
System.exit(0);
}
}
private void jbInit() throws Exception
{
contentpane=(JPanel)this.getContentPane();
//设置窗口的标题,大小与布局
setTitle("ListSelectionListner 程序演示");
setSize(new Dimension(421,340));
contentpane.setLayout(null);
Object[][] data={
{"小李","男","滑雪",new Integer(20),"英语",new Boolean(true)},
{"小青","女","保龄球",new Integer(17),"绘画",new Boolean(true)},
{"小吴","男","跑步",new Integer(23),"管理",new Boolean(true)},
{"小和","女","演讲",new Integer(25),"会计",new Boolean(false)},
{"小许","女","游泳",new Integer(15),"数学",new Boolean(false)}
};
String[] columnNames={"姓名","性别","爱好","年龄","专业","是否被录取"};
//创建一个简单的表格
table=new JTable(data,columnNames);
table.setRowHeight(20);//设置表格的行高度
//当表格的内容改变的时候取得表格的内容
final TableModel model=table.getModel();
model.addTableModelListener(new TableModelListener(){
public void tableChanged(TableModelEvent e)
{
//表格的行与列从0开始
int row=e.getFirsRow();
int column=e.getColumn();
//取得列表框的数据
Object data=model.getValueAt(row,column);
jTextArea1.append("单元格("+(row+1)+","+(column+1)+")="+data.toString()+"\n");
table.requestFocus();
}
});
//向容器加入各个控件
jScrollPane1.getViewport().add(table);
jScrollPane1.setBounds(new Rectangle(19,30,377,142));
jScrollPane2.setBounds(new Rectangle(21,203,376,105));
contentpane.add(jScrollPane1,null);
contentpane.add(jScrollPane1,null);
}
}
这是全部代码
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableModelListenerDemo extends JFrame
{
JPanel contentpane=new JPanel();
JTable table;
JScrollPane jScrollPane1=new JScrollPane();
JTextArea jTextArea1=new JTextArea();
JScrollPane jScrollPane2=new JScrollPane(jTextArea1);
public TableModelListenerDemo()
{
try
{jbInit();}
catch(Exception e){}
}
public static void main(String[] args)
{
TableModelListenerDemo frame=new TableModelListenerDemo();
frame.setVisible(true);
}
//当窗口关闭时清空内存
protected void processWindowEvent(WindowEvent e)
{
if(e.getID()==WindowEvent.WINDOW_CLOSING)
{
System.exit(0);
}
}
private void jbInit() throws Exception
{
contentpane=(JPanel)this.getContentPane();
//设置窗口的标题,大小与布局
setTitle("ListSelectionListner 程序演示");
setSize(new Dimension(421,340));
contentpane.setLayout(null);
Object[][] data={
{"小李","男","滑雪",new Integer(20),"英语",new Boolean(true)},
{"小青","女","保龄球",new Integer(17),"绘画",new Boolean(true)},
{"小吴","男","跑步",new Integer(23),"管理",new Boolean(true)},
{"小和","女","演讲",new Integer(25),"会计",new Boolean(false)},
{"小许","女","游泳",new Integer(15),"数学",new Boolean(false)}
};
String[] columnNames={"姓名","性别","爱好","年龄","专业","是否被录取"};
//创建一个简单的表格
table=new JTable(data,columnNames);
table.setRowHeight(20);//设置表格的行高度
//当表格的内容改变的时候取得表格的内容
final TableModel model=table.getModel();
model.addTableModelListener(new TableModelListener(){
public void tableChanged(TableModelEvent e)
{
//表格的行与列从0开始
int row=e.getFirsRow();
int column=e.getColumn();
//取得列表框的数据
Object data=model.getValueAt(row,column);
jTextArea1.append("单元格("+(row+1)+","+(column+1)+")="+data.toString()+"\n");
table.requestFocus();
}
});
//向容器加入各个控件
jScrollPane1.getViewport().add(table);
jScrollPane1.setBounds(new Rectangle(19,30,377,142));
jScrollPane2.setBounds(new Rectangle(21,203,376,105));
contentpane.add(jScrollPane1,null);
contentpane.add(jScrollPane1,null);
}
}
这是全部代码
解决方案 »
- 关于StringBuilder
- 一个奇怪的问题!用eclipse运行一个简单的线程问题!!
- 如何还原double科学计数法后的值
- 讨论一个时间转换的难题,大家讨论
- 急问:怎样取得一个汉字的内码值?在线等...
- 急!怎样将两个字符串转化为整形数字再比较数值大写?
- Double数据类型如何保留指定的小数位?
- 请问各位对中间件有研究的高手
- JTable问题
- 求助大神能帮我这这种时间字符串“31-Oct-2014 02:08:57 PM”(时间还有可能是AM),翻译成这种格式"yyyy-MM-dd HH:mm:ss"
- 一个菜鸟级的小case,请大虾们指教。
- 终于连上了NOTES数据库,欢迎有这面经验的人进来讨论!!
import javax.swing.event.TableModelListener;还有这句有问题:
int row=e.getFirsRow();
应该是:int row=e.getFirstRow(); 少了个“t”,拼写错误,OK了
加入了那个包后这句又出了同样的错
import javax.swing.event.*;推荐使用JB7,你用JB7系统就提示你了我已经编译通过了!逻辑上有没有错我就不知道了