/ / Czy możesz dodać dane z int, double lub just string do JTable - java, eclipse, swing, jtable

Czy możesz dodać dane z int, double lub just string do JTable - java, eclipse, swing, jtable

Jestem nowy w Javie. Zajmuję się głównie C #. Patrzyłem na przykład pod linkiem poniżej:

Prosty przykład JTable do wyświetlania

Ale daje mi błąd podczas tworzenia tablicy 2dktóry zawiera liczbę całkowitą, podwójną wartość boolen i ciąg znaków. Błąd mówi „Niedopasowanie typu nie może zostać przekonwertowane z int na obiekt”. Czy to oznacza, że ​​sposób pokazany w tym przykładzie jest niewłaściwy? Używam Eclipse Juno. Każda pomoc będzie mile widziana

To jest kod: 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();
}
});
}
}

Odpowiedzi:

4 dla odpowiedzi № 1

Czy możesz sprawdzić wersję java, którą jesteśbieganie? Korzystam z wersji 7 i kod jest dla mnie dobrze skompilowany. Jestem również w stanie zobaczyć wynik. W wersji java przed wersją 5 automatyczne boksowanie prymitywnych typów danych, takich jak int, float do klas Integer i Float, musi być wykonane samodzielnie. Możesz spróbować ponownie określić / zdefiniować dane w następujący sposób i ponownie uruchomić program: -

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) },
};