我正在使用Netbeans 7.1和MySQL。 我需要jtable中的1列,其中包含jradiobutton,用户可以选择任何1行的jradiobutton 请参阅图中的详细信息。选择RB后,将对jbutton点击事件进行进一步处理。
这是代码 -
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
final Object[] columnNames=new String[] {"Date","Flight Name","Departure Time","BC Seats Available","XC Seats Available","EC Seats Available"};
DefaultTableModel dtm=new DefaultTableModel(columnNames,0);
String origin=jComboBox3.getSelectedItem().toString();
String target=jComboBox4.getSelectedItem().toString();
String fclass=jComboBox1.getSelectedItem().toString();
String search = "";
Date dt;
//Economy Class Processing
try
{
smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = smt.executeQuery(sql);
int i = 0;
SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yyyy");
boolean empty=true;
String var1="", var2="", var3="", var4="", var5="";
while(rs.next())
{
empty=false;
var1=rs.getString(1);
strdtver1=(String) sdf.format(rs.getDate(2));
var2=Integer.toString(rs.getInt(3));
var3=Integer.toString(rs.getInt(4));
var4=Integer.toString(rs.getInt(5));
var5=rs.getString(6);
dtm.addRow(new Vector());
dtm.setValueAt(strdtver1, i, 0);
dtm.setValueAt(var1, i, 1);
dtm.setValueAt(var5, i, 2);
dtm.setValueAt(var2, i, 3);
dtm.setValueAt(var3, i, 4);
dtm.setValueAt(var4, i, 5);
i++;
}
if(empty)
{
dtm.addRow(new Vector());
strdtver2=(String) sdf.format(jDateChooser1.getDate());
dtm.setValueAt(strdtver2, i, 0);
dtm.setValueAt("No Flights", i, 1);
dtm.setValueAt("No Flights", i, 2);
dtm.setValueAt("0", i, 3);
dtm.setValueAt("0", i, 4);
dtm.setValueAt("0", i, 5);
}
jTable1.setModel(dtm);
TableColumnModel m=jTable1.getColumnModel();
TableColumn col=m.getColumn(3);
TableColumn col1=m.getColumn(4);
//List<TableColumn> removed=col;
//removed.add(col);
m.removeColumn(col);
m.removeColumn(col1);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
我只想添加JRadioButton,用户可以选择任意一行JRadioButto,
提前感谢您提出任何建议和指导
答案 0 :(得分:2)
考虑了几种替代方案here,但您可能希望显示{@ 3}}的@Guillaume Polet。它使用PropertyChangeEvent
来强制执行每行一次选择。