just learned a little Java gui skills. I think I need to write down these codes so that I can review them in future.
- the default code for jList is like this:
jListPerson.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane1.setViewportView(jListPerson);
if we want to show something from our data, we could do it in this way:
DefaultListModel dlm = new DefaultListModel();
for (healthInfo.Person item : healthInfo.SampleData.getSamplePersonList()) {
dlm.addElement(item.getNameList().get(0).getFormattedName());
}
jListPerson.setModel(dlm);
jScrollPane1.setViewportView(jListPerson);
- how to create a new window when you click a button
jButtonAdd.setText("Add");
jButtonAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonAddActionPerformed(evt);
}
});
private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
AddPerson addPerson = new AddPerson();
addPerson.setVisible(true);
addPerson.pack();
}
- how to pass some values to a new window's text field? Just overload that window's constructor, and then use jTextField.setText()
- show what we want to show in jComboBox
ArrayList<Integer> numOfItem = new ArrayList<Integer>();
for (int i = 1; i <= nameList.size(); i++)
numOfItem.add(new Integer(i));
jComboBoxNameE.setModel(new javax.swing.DefaultComboBoxModel(numOfItem.toArray()));
Note when we create the array, the type of that array must be class type, cannot be a primitive type, "int" is not acceptable in this case.
- other
jComboBox.getSelectedIndex()
jComboBox.setSelectedIndex(int )