Mise à jour des Données dans une JTable
Permet de dire que j'ai une table. L'une des cellules est titulaire d'un JLabel
. Si je change le texte de la JLabel
comment puis-je obtenir le JTable
pour montrer le changement?
Regardez le code suivant, que dois-je modifier pour en faire apparaître les modifications apportées à la JLabel
?
public class ActivTimerFrame extends JFrame implements ActionListener{
//Data for table and Combo Box
String timePlay = "1 Hour";
String timeDev = "2 Hours";
String[] comboChoices = {"Play Time", "Dev Time"};
String[] columnNames = {"Activity", "Time Allowed", "Time Left"};
Object[][] data = {{"Play Time", "1 Hour", timePlay }, {"Dev Time", "2 Hours", timeDev }};
//This is where the UI stuff is...
JTable table = new JTable(data, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
JPanel mainPanel = new JPanel();
JComboBox comboBox = new JComboBox(comboChoices);
JButton start = new JButton("Start");
JButton stop = new JButton("Stop");
public ActivTimerFrame() {
super("Activity Timer");
setSize(655, 255);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
GridLayout layout = new GridLayout(2,1);
setLayout(layout);
add(scrollPane);
stop.setEnabled(false);
start.addActionListener(this);
mainPanel.add(comboBox);
mainPanel.add(start);
mainPanel.add(stop);
add(mainPanel);
}
@Override
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if(source == start) {
timePlay ="It Works";
}
}
}
Ce label parlez-vous? Je ne vois pas l'étiquette de n'importe où. Si vous êtes à l'aide d'une étiquette, alors ne le faites pas. Vous ne devriez stocker du texte dans le modèle, puis de laisser un convertisseur de rendre le texte.
OriginalL'auteur Andrew delgadillo | 2011-05-07
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire
pour définir une cellule particulière.
dans votre cas pour ce que vous voulez, vous pouvez faire
OriginalL'auteur Bala R
Vous devez avoir votre JTable utiliser un TableModel comme un AbstractTableModel ou DefaultTableModel puis modifiez les données dans le modèle de table lorsque vous le souhaitez. Ce seront alors comptabilisés comme des changements dans les données affichées dans la JTable si vous aussi vous avez le feu de l'écouteur approprié de la méthode de notification (ce qui est fait automatiquement pour vous si vous utilisez le DefaultTableModel). Le Swing tutoriel sur la JTables explique tout cela, et si vous n'avez pas passé à travers elle, vous le devez à vous-même de le faire.
OriginalL'auteur Hovercraft Full Of Eels