你能用int,double或者只是字符串添加数据到JTable

时间:2015-07-06 17:58:12

标签: java eclipse swing jtable

我是Java新手。我主要做C#。我在下面的链接中查看示例:

A Simple JTable Example for Display

但是在创建包含int,double和bolen以及字符串的2d数组时,它会给我一个错误。错误说"类型不匹配无法从int转换为object"。这是否意味着此示例显示的方式不正确?我正在使用Eclipse Juno。任何帮助将不胜感激

这是代码: TableExample.java

package net.codejava.swing;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

public class TableExample extends JFrame 
{
public TableExample()
{
    //headers for the table
    String[] columns = new String[] {
        "Id", "Name", "Hourly Rate", "Part Time"
    };

    //actual data for the table in a 2d array
    Object[][] data = new Object[][] {
        {1, "John", 40.0, false },
        {2, "Rambo", 70.0, false },
        {3, "Zorro", 60.0, true },
    };

    //create table with data
    JTable table = new JTable(data, columns);

    //add the table to the frame
    this.add(new JScrollPane(table));

    this.setTitle("Table Example");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       
    this.pack();
    this.setVisible(true);
}

public static void main(String[] args)
{
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new TableExample();
        }
    });
}   
} 

1 个答案:

答案 0 :(得分:4)

您可以查看正在运行的java版本吗?我正在运行版本7,代码编译正常。我也能看到输出。在版本5之前的java版本中,原始数据类型(如int,float)的自动装箱分别需要由用户自己完成。您可以尝试按以下方式重新声明/重新定义数据并再次运行程序: -

Object[][] data = new Object[][] {
    {new Integer(1), new String("John"), new Float(40.0), new Boolean(false) },
    {new Integer(2), new String("Rambo"), new Float(70.0), new Boolean(false) },
    {new Integer(3), new String("Zorro"), new Float(60.0), new Boolean(true) },
};