0

ボタンがクリックされたときに、JTableのリストがString単一の列に挿入されるようにしています。JTable

これは、このタイプのデータで可能ですか:

String datelist = format.format(cal2.getTime()));
List<String> wordList = Arrays.asList(datelist);
System.out.println(wordList);

出力は次のようになります。

[2013-05-10]

[2013-05-11]

[2013-05-12]

[2013-05-13]

[2013-05-14]

[2013-05-15]

[2013-05-16]

[2013-05-17]

[2013-05-18]

[2013-05-19]

[2013-05-20]

私はDefatulTableModelを使用しています:

table_4 = new JTable (new DefaultTableModel(
                new Object[][] {
                        {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                    {"", "", "", "", "", "", "", "", "", "", "", ""},
                },
                new String[] {
                    "", "", "", "", "", "", "", "", "", "", "", ""
4

1 に答える 1

2

まず、エラーがあると思います... DateList は文字列ですが、リストに変換していますか?

List<String> wordList = Arrays.asList(datelist);

これにより、ゼロ要素のリストが得られると思います。

次に、 https://stackoverflow.com/a/5107112/1688441などの例に基づいて 、次のコードを作成しました。

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class TableDemo extends JFrame {

    DefaultTableModel model;

    public TableDemo() {

        JButton btnNewButton = new JButton("Insert Data");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                model.setValueAt("Testing", 0, 0);
            }
        });
        getContentPane().add(btnNewButton, BorderLayout.NORTH);
    }
    JTable jTable1;

    public static void main(String... args) {

        TableDemo tableDemo = new TableDemo();
        tableDemo.pamnel();

        JFrame frame = new TableDemo();

    }

    public void initComponents() {
    }

    public void pamnel() {
        initComponents();
        String[] columnNames = { "", "", "", "", "", "", "", "", "", "", "", "" };

        String[][] data = { { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" },
                { "", "", "", "", "", "", "", "", "", "", "", "" } };
        model = new DefaultTableModel(data, columnNames);

        jTable1 = new JTable(model);

        getContentPane().add(new JScrollPane(jTable1));
        pack();
        setVisible(true);
    }
}

この呼び出しを使用してmodel.setValueAt("VALUE HERE", ROW, COLUMN);、既存のデータ内に任意の値を設定できます。

さらに、モデル オブジェクトを使用して、新しい行と新しい列を追加できます。

したがって、最初の列が日付である新しい行を挿入する場合:

model.addRow(new String[]{ datelist, "", "", "", "", "", "", "", "", "", "", "" });
于 2013-05-30T01:37:19.087 に答える