Liste in eine 1D JTable

batok

Grünschnabel
Hallo an alle,

habe folgendes Problem.
Habe eine List<String> results = new ArrayList<String>(); in der ich
Stringelemente eingefügt habe. Nun will ich diese in einer JTable der
Form (nx1) einfügen, also einfach in einer Spalte alle Werte einfügen.
Die JTable ist in einer ScrollPane integriert.
Wie füge ich nun die Werte ein? Komme mit dem JTables nicht klar ....

Gruß
batok
 
Hallo!

Code:
/**
 * 
 */
package de.tutorials;

import java.util.ArrayList;
import java.util.List;

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

/**
 * @author Tom
 * 
 */
public class JTableExample extends JFrame {

    public JTableExample() {
        super("JTableExample");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        JTable table = new JTable(createRowData(), new Object[] { "Values" });
        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane);
        pack();
        setVisible(true);
    }

    private Object[][] createRowData() {
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < 100; i++) {
            list.add(String.valueOf(i));
        }

        Object[][] o = new Object[list.size()][1];
        for (int i = 0; i < 100; i++) {
            o[i][0] = list.get(i);
        }

        return o;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        new JTableExample();
    }
}
Also an deiner Stelle wuerde ich da eher ne JList fuer nehmen.

Gruss Tom
 
Hallo!

Code:
/**
 * 
 */
package de.tutorials;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;

/**
 * @author Tom
 * 
 */
public class JListExample extends JFrame {

    public JListExample() {
        super("JListExample");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        JList list = new JList(createListData());
        JScrollPane scrollPane = new JScrollPane(list);
        add(scrollPane);
        pack();
        setVisible(true);
    }

    private Object[] createListData() {
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < 100; i++) {
            list.add(String.valueOf(i));
        }
        return list.toArray();
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        new JListExample();
    }
}
Weils dann einfacher waere ;)

Gruss Tom
 
Zurück