我是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();
}
});
}
}
答案 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) },
};