アプリ版:「スタンプのみでお礼する」機能のリリースについて

JTableで表計算について質問です
全くもって素人なので分かり易く教えて頂けると幸いです

値の列にたとえば9を入力すると、平方根の列には3が自動に表示されるものを作っているのですが…
分からないのは計算結果の表示です
上手くCellRendererやsetValueAtなどを使いこなせません


他の方が同じ質問をされていますが、その回答をやろうとしても分かりませんでした
どうかアホにも分かるように教えてください

※添付画像が削除されました。

A 回答 (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);
}
}
入力チェックなどは何もしていませんので注意してください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/10/01 21:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!