Я француз и новичок в Java. У меня есть проект, касающийся "regates" (гонок) "voilier" (корабля). Есть комбо регейта и это должно сделать Jtable корабля где мы можем добавить время окончания их гонки. Моя проблема в том, что я хочу сделать этот Jtable, когда мы нажимаем на один элемент комбо, но я не знаю, как это сделать.
Мой код:
package eole;
import java.awt.event.ItemEvent;
public class ArrivéesVoiliers extends JFrame implements ItemListener {
private JPanel contentPane;
private JTable tableArrivées;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ArrivéesVoiliers frame = new ArrivéesVoiliers();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ArrivéesVoiliers() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JComboBox combRegate = new JComboBox();
combRegate.setBounds(30, 25, 90, 20);
contentPane.add(combRegate);
ArrayList<Regate> lesReg = Application.getRegates();
for (Regate laReg : lesReg) {
combRegate.addItem(laReg.getNomReg());
}
combRegate.addItemListener(this);
String nom = (String) combRegate.getSelectedItem();
Regate regSelec = Application.getRegate(nom);
JLabel lblDateDep = new JLabel(regSelec.getDate());
lblDateDep.setBounds(130, 31, 60, 14);
contentPane.add(lblDateDep);
JLabel lblHeuredepart = new JLabel(regSelec.getTime());
lblHeuredepart.setBounds(200, 31, 60, 14);
contentPane.add(lblHeuredepart);
ArrayList<Voilier> voiliersPart = Application.getVoiliers(regSelec);
String[] entetes = { "Voiliers participants", " Classe", "Rating",
"Heure arrivée", "en seconde", "Abandon", "Stop Chrono",
"Ajout" };
DefaultTableModel voilPart = new DefaultTableModel();
voilPart.setColumnCount(8);
for (Voilier unVoil : voiliersPart) {
voilPart.addRow(new Object[] { unVoil.getNom(), unVoil.getNum(),
unVoil.getRating(), "Heure arrivée", "en seconde",
new Boolean(false), new Boolean(false), "Ajouter" });
}
new AbstractTableModel() {
public int getColumnCount() {
return 0;
}
public int getRowCount() {
return 0;
}
public Object getValueAt(int rowIndex, int columnIndex) {
return null;
}
public boolean isCellEditable(int row, int col) {
if (col == 4) {
return true;
} else {
return false;
}
}
};
tableArrivées = new JTable(voilPart);
tableArrivées.setBounds(50, 228, 312, -125);
contentPane.add(tableArrivées);
}
@Override
public void itemStateChanged(ItemEvent e) {
}
}