为了账号安全,请及时绑定邮箱和手机立即绑定

JTable中 setValueAt() 方法ArrayIndexOutOfBounds

JTable中 setValueAt() 方法ArrayIndexOutOfBounds

梵蒂冈之花 2019-03-12 13:15:18
想对对(1,1)单元格进行复制,代码如下package org.occ.gui.table;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;public class TableTest {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        JFrame frame = new JFrame("welcome");        JTable table2= new JTable();        String name = "name";        table2.setValueAt(name, 1, 1);        JScrollPane scr = new JScrollPane(table2);        frame.add(scr);        frame.setSize(370,90);        frame.setVisible(true);        frame.addWindowListener(new WindowAdapter(){            public void windowClosing(WindowEvent arg0){                System.exit(1);            }        });    }}报以下异常Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 >= 0    at java.util.Vector.elementAt(Vector.java:427)    at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)    at javax.swing.JTable.convertColumnIndexToModel(JTable.java:2553)    at javax.swing.JTable.setValueAt(JTable.java:2719)    at org.occ.gui.table.TableTest.main(TableTest.java:27)
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

关键是你set的时候位置都不存在...

先把column和row添加上去吧,因为你set的位置是1,1 至少2行2列



package org.occ.gui.table;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;


import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.SwingUtilities;

import javax.swing.table.DefaultTableModel;



public class TableTest {


    /**

     * @param args

     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub


        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                JFrame frame = new JFrame("welcome");

                JTable table2 = new JTable();

                String name = "name";

                DefaultTableModel model = (DefaultTableModel) table2.getModel();

                model.addColumn("id");

                model.addColumn("name");

                Object[] row1 = new Object[]{1, null};

                model.addRow(row1);

                Object[] row2 = new Object[]{2, null};

                model.addRow(row2);

                table2.setValueAt(name, 1, 1);


                JScrollPane scr = new JScrollPane(table2);

                frame.add(scr);

                frame.setSize(370, 90);

                frame.setVisible(true);

                frame.addWindowListener(new WindowAdapter() {

                    public void windowClosing(WindowEvent arg0) {

                        System.exit(1);

                    }

                });

            }

        });

    }


}


查看完整回答
反对 回复 2019-04-21
  • 1 回答
  • 0 关注
  • 1207 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号