• ベストアンサー

JTableで表計算について質問です

JTableで表計算について質問です 全くもって素人なので分かり易く教えて頂けると幸いです 値の列にたとえば9を入力すると、平方根の列には3が自動に表示されるものを作っているのですが… 分からないのは計算結果の表示です 上手くCellRendererやsetValueAtなどを使いこなせません 他の方が同じ質問をされていますが、その回答をやろうとしても分かりませんでした どうかアホにも分かるように教えてください

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

Jtableは初めて触るので、参考程度にしてください。 public class JtableTest extends JFrame { private String[] columnNames = { "番号", "値", "平方根" }; private String[][] data = { { "1", "", "" }, { "2", "", "" }, { "3", "", "" }, { "4", "", "" }, { "5", "", "" }, { "6", "", "" }, { "7", "", "" }, { "8", "", "" }, { "9", "", "" }, { "10", "", "" } }; JtableTest() { setBounds(10, 10, 500, 300); TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public Object getValueAt(int row, int col) { return data[row][col]; } public String getColumnName(int arg0) { return columnNames[arg0]; } public void setValueAt(Object value, int row, int col) { String input = (String) value; double sqrt = Math.sqrt(Integer.parseInt(input)); data[row][col] = input; data[row][col + 1] = Double.toString(sqrt); } public boolean isCellEditable(int arg0, int arg1) { return arg1 == 1; } }; JTable table = new JTable(dataModel); table.setRowSelectionAllowed(false); JScrollPane scrollpane = new JScrollPane(table); getContentPane().add(scrollpane, BorderLayout.CENTER); } public static void main(String[] args) { JtableTest test = new JtableTest(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); } } 入力チェックなどは何もしていませんので注意してください。

noname#183916
質問者

お礼

回答ありがとうございます。 AbstractTableModeを使うんですね~。 自分はずっと明後日の方向にやってたようです。 参考になります。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A