既に作成されたテーブルに行を入力しようとしていますが、このウェブサイトで解決策を見つけましたが、それはうまくいきません。私は「JTableのセクションコード」を抽出し、新しいクラスを作成し、それは以下のいずれかです。エラーが登場JTableのセクションコードにデータを追加しました。キャストの問題
public static void main(String[] args) {
String[] columnToken = {"No. consecutivo", "Token", "Lexema", "No. de linea"};
String[] columnError = {"No. consecutivo", "Error", "No. de linea"};
Object[][] datac1= {};
Object[][] datac2= {};
JTable tabTokens = new JTable(datac1, columnToken);
JTable tabError = new JTable(datac2, columnError);
JFrame frameTokens = new JFrame("JTable Tokens Display");
JFrame frameError = new JFrame("JTable Errors Display");
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
JScrollPane tokenTabContainer = new JScrollPane(tabTokens);
JScrollPane errorTabContainer = new JScrollPane(tabError);
panel.add(tokenTabContainer, BorderLayout.CENTER);
frameTokens.getContentPane().add(panel);
panel.add(errorTabContainer, BorderLayout.CENTER);
frameError.getContentPane().add(panel);
for(int i=0; i<4; i++) {
DefaultTableModel token100 = (DefaultTableModel) tabTokens.getModel();
token100.addRow(new Object[]{"Hola", 100, 196, "adios"});
DefaultTableModel token101 = (DefaultTableModel) tabTokens.getModel();
token101.addRow(new Object[]{"Hola", 100, 196, "adios"});
DefaultTableModel token102 = (DefaultTableModel) tabTokens.getModel();
token102.addRow(new Object[]{"Hola", 100, 196, "adios"});
}
frameTokens.pack();
frameTokens.setVisible(true);
//frameError.pack();
//frameError.setVisible(true);
}
}が次のいずれかです。スレッドで
例外「メイン」 java.lang.ClassCastException:javax.swing.JTable $ 1をjavax.swing.table.DefaultTableModelにキャストすることはできません
キャストの問題だと私は知っていますが、これは私がインターネットで設立した唯一の解決策です。 サイクル内でデータを何度も入力する必要があるので、私は別の「入力デザイン」を知らないので、誰も助けてくれますか? ありがとうございました!
tabTokensに直接行を追加するのではなく、同じことをする最終的な中間オブジェクトを作成するのではありません。 –