当前位置:  技术问答>java相关

Swing中的JTable这个问题请高手解答,谢谢!!………

    来源: 互联网  发布时间:2015-02-12

    本文导语:  照搬一程序如下: import javax.swing.*; import javax.swing.table.*; public class JTableTest extends JFrame{  public static void main(String args[]) {   JTableTest test=new JTableTest();   test.setSize(300,200);   test.show();  }  public JTableTest() {  ...

照搬一程序如下:
import javax.swing.*;
import javax.swing.table.*;
public class JTableTest extends JFrame{
 public static void main(String args[]) {
  JTableTest test=new JTableTest();
  test.setSize(300,200);
  test.show();
 }
 public JTableTest() {
  JTable jt=new JTable(new MyTableModel());
  jt.setRowHeight(20);
  getContentPane().add(new JScrollPane(jt));
 }
}
class MyTableModel extends AbstractTableModel {
 private String[] columns={"姓名","年龄","已婚"};
 private Object[][] data={{"王小明",new Integer(28),new Boolean(true)},
                          {"陈小华",new Integer(26),new Boolean(false)},
                          {"张小英",new Integer(35),new Boolean(true)},
                          {"林小莉",new Integer(18),new Boolean(false)}};
 public int getColumnCount() {
  return (columns.length);
 }
 public int getRowCount() {
  return(data.length);
 }
 public String getColumnName(int col) {
  return(columns[col]);
 }
 public Object getValueAt(int row,int col) {
  return(data[row][col]);
 }
 public Class getColumnClass(int col) {
  return(getValueAt(0,col).getClass());
 }
 public boolean isCellEditable(int row, int col) {
  return(col>0);
 }
 public void setValueAt(Object value, int row, int col) {
  if(col==1) {
   try{
    data[row][col]=new Integer((String)value);
   }
   catch(NumberFormatException e) {
   }
  }
  else 
   data[row][col]=value;
  fireTableCellUpdated(row,col);
 }
}
再javac JTableTest.java  成功
 java  JTableTest     也成功,并出现图框,但点选其中任意框后,在点选其它框则出现异常,提示如下:
 Exception occurred during event dispatching:
java.lang.ClassCastException: java.lang.Integer
        at MyTableModel.setValueAt(JTableTest.java:42)
        at javax.swing.JTable.setValueAt(JTable.java:1734)
        at javax.swing.JTable.editingStopped(JTable.java:2989)
        at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.
java:112)
        at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultC
ellEditor.java:242)
        at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:
176)
        at javax.swing.JTable$GenericEditor.stopCellEditing(JTable.java:3308)
        at javax.swing.JTable.editCellAt(JTable.java:2359)
        at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(Ba
sicTableUI.java:464)
        at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:22
1)
        at java.awt.Component.processMouseEvent(Component.java:3714)
        at java.awt.Component.processEvent(Component.java:3546)
        at java.awt.Container.processEvent(Container.java:1167)
        at java.awt.Component.dispatchEventImpl(Component.java:2595)
        at java.awt.Container.dispatchEventImpl(Container.java:1216)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2458
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2217)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2132)
        at java.awt.Container.dispatchEventImpl(Container.java:1203)
        at java.awt.Window.dispatchEventImpl(Window.java:918)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:134)
我把public Class getColumnClass(int col) 除掉后,则修改图框内容不会发生异常,但记录的最后一项“boolean"会显示为字符串,而不是图框形式。
请高手释疑!!!!谢谢!!!

|

    data[row][col]=new Integer((String)value);
改为
    data[row][col]=value;

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于Swing的问题,请高手进来!!!
  • 有关swing的问题,请高手回答
  • 关于jb7的问题。如何让程序中的swing组件在design中可见?请高手指教!
  • jTextField 的输入问题?swing高手请进.
  • 请问高手,用Swing做的APPLET,浏览器是否一定要安装Plug-in才能看见?
  • 请教Swing高手,如何在JTree中如何通过一个TreePath判断它代表的节点是不是叶节点?
  • 关于在swing JTable的一个问题,请高手赐教!急!!
  • 用java swing JTable做一个属性编辑器遇到的问题,请高手赐教!急,急!!
  • *****请教SWING高手,我想让JTree一开始的某个节点处于展开,用的是expandPath(TreePath p),请问如何构造TreePath参数,用字符串可以吗
  • ☆☆★★☆☆★★ 会用Swing的高手请进,高分!!! ◇◇◆◆◇◇◆◆◇◇◆◆
  • java命名空间javax.accessibility类accessiblerole的类成员方法: swing_component定义及介绍
  • Swing开发辅助工具 Swing Explorer
  • java命名空间javax.swing类abstractbutton的类成员方法: getdisabledicon定义及介绍
  • 谁知道在哪里能下到SWING包吗,还是一定要用SWING这个软件啊!!!
  • java命名空间javax.swing类jviewport的类成员方法: firestatechanged定义及介绍
  • VAJ中父类JApplet为缺失是不是因为没有swing包?那swing包又怎么加载呢?
  • java命名空间javax.swing类jfilechooser的类成员方法: getfilefilter定义及介绍
  • swing是轻量级的容器,awt是重量级的,但swing继承自awt,极度疑惑中。。。。。
  • java命名空间javax.swing类jspinner的类成员方法: geteditor定义及介绍
  • IE5.0好像不支持Swing,怎样才能让一个带有Swing的程序在IE中正确显示呢
  • java命名空间javax.swing类jlabel的类成员方法: getdisabledicon定义及介绍
  • Swing界面分析和调试工具 Swing Inspector
  • java命名空间javax.swing.text类asyncboxview的类成员方法: updatelayout定义及介绍
  • 请教Swing 与AWT的关系?
  • java命名空间javax.swing.text类view的类成员方法: updatelayout定义及介绍
  • 引用Swing问题
  • java命名空间javax.swing类transferhandler的类成员方法: exportasdrag定义及介绍
  • Swing appframework
  • java命名空间javax.swing类abstractbutton的类成员方法: getdisabledselectedicon定义及介绍
  • 为Swing而生的ajax AjaxSwing
  • java命名空间javax.swing类jfilechooser的类成员方法: getchoosablefilefilters定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3