プログラムを補って下さい(swing)
下記のプログラムで実装できない所がありますので補える方は教えてください
1.チェックボックスで削除を選択した、行番号をコンソールに表示したい。
2.コンボボックスで選択されたコンボボックスの文字列と選択されたコンボボックス
のインデックス番号が知りたい
以上です。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.Class;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableModel;
public class JTableSample1 implements ActionListener{
JComboBox comboBox;
public static void main(String[] args) {
new JTableSample1().init();
}
public void init() {
String[] title = { "削除", "String", "Integer", "JComboBox" };
String prompt = "選んで下さい";
Object[][] records = {
{ Boolean.FALSE, "Rachel Green", new Integer(1970), prompt },
{ Boolean.FALSE, "Monica Geller", new Integer(1969), prompt },
{ Boolean.FALSE, "Phoebe Buffay", new Integer(1967), prompt },
{ Boolean.FALSE, "Joey Tribbiani", new Integer(1967), prompt },
{ Boolean.FALSE, "Chandler Bing", new Integer(1968), prompt },
{ Boolean.FALSE, "Ross Geller", new Integer(1967), prompt } };
TableModel model = new DefaultTableModel(records, title) {
public Class<?> getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
};
JTable table = new JTable(model);
comboBox = new JComboBox();
comboBox.addItem("ごはん食べてる");
comboBox.addItem("テレビみてる");
comboBox.addItem("仕事してる");
comboBox.addItem("寝てる");
TableCellEditor editor = new DefaultCellEditor(comboBox);
table.getColumnModel().getColumn(3).setCellEditor(editor);
JFrame frame = new JFrame("Joey Table");
frame.getContentPane().add(new JScrollPane(table));
frame.setSize(640, 240);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
System.out.println("選択されたコンボボックス:"+(String)comboBox.getSelectedItem());
System.out.println("選択されたコンボボックスのインデックス番号:"+comboBox.getSelectedIndex());
}
}
お礼
探し方が悪いっていやそうなんですが、 なんでAPIマニュアルにそういう簡単な方法を書いてくれないんですかね。 どう考えても数値オブジェクトだったら勝手に右寄せになるっていうのは もしそれだけしか機能がないのであれば、おかしいですもんね。あそうか、JTableクラスの部分に限っての記載だからか。 Javaって敷居高いですね。助かりましたありがとうございました。