I am using Forte for
Java Internet Edition to write an application that uses an nbCacedRowset from a database query at runtime to dynamically populate a jlist. Next to the jlist is a panel of text fields that needs to be dynamically populated with information from the same database depending on what item in the jlist is focused on. More specifically, items in the jlist are pieces of equipment whose corresponding status/information is to be displayed next to it in a status panel. Understand? Is there some way that I can return the value or
string from the focused item in the jlist to be used in a query to populate the text fields in the status panel? Any help you could give me would be appreciated. I'll attach the code below for reference.
Thanks,
Craig
/////////////////////////////////////////////////////////////////
public class TSTracker extends javax.swing.JFrame
{
public TSTracker()
{
initComponents();
pack();
}
private void initComponents() {
pooledConnectionSource1 = new org.netbeans.lib.sql.pool.PooledConnectionSource();
try {
nBCachedRowSet1 = new org.netbeans.lib.sql.NBCachedRowSet();
} catch (java.sql.SQLException e1) {
e1.printStackTrace();
}
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jToolBar1 = new javax.swing.JToolBar();
jSplitPane1 = new javax.swing.JSplitPane();
jScrollPaneEast = new javax.swing.JScrollPane();
jPanel2 = new javax.swing.JPanel();
LabelPanel = new javax.swing.JPanel();
TypeLabel = new javax.swing.JLabel();
CheckByLabel = new javax.swing.JLabel();
CheckOutLabel = new javax.swing.JLabel();
CheckInLabel = new javax.swing.JLabel();
DevUnderTestLabel = new javax.swing.JLabel();
CapLabel = new javax.swing.JLabel();
TextFieldPanel = new javax.swing.JPanel();
TypeField = new javax.swing.JTextField();
CheckByField = new javax.swing.JTextField();
CheckInField = new javax.swing.JTextField();
CheckOutField = new javax.swing.JTextField();
DevUnderTestField = new javax.swing.JTextField();
CapField = new javax.swing.JTextArea();
jScrollPaneWest = new javax.swing.JScrollPane();
TSList = new javax.swing.JList();
pooledConnectionSource1.setPassword("june1998");
pooledConnectionSource1.setDatabase("jdbc
dbc:TestSetTracker");
pooledConnectionSource1.setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
pooledConnectionSource1.setUsername("csnowbar");
nBCachedRowSet1.setCommand("select * from Equipment");
nBCachedRowSet1.setConnectionSource(pooledConnectionSource1);
nBCachedRowSet1.setDefaultValues(null);
try {
nBCachedRowSet1.setTableName("Equipment");
} catch (java.sql.SQLException e1) {
e1.printStackTrace();
}
jMenu1.setText("Menu");
jMenuBar1.add(jMenu1);
setName("TestSetTracker Beta");
setMenuBar(getMenuBar());
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
}
);
getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
jPanel2.setLayout(new java.awt.GridLayout(1, 2));
jPanel2.setBorder(new javax.swing.border.TitledBorder(
new javax.swing.border.EtchedBorder(), "Status", 4, 0,
new java.awt.Font ("Dialog", 0, 12)));
LabelPanel.setLayout(new java.awt.GridLayout(6, 1, 0, 20));
TypeLabel.setText("Type:");
TypeLabel.setForeground(java.awt.Color.black);
TypeLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
TypeLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(TypeLabel);
CheckByLabel.setText("Checked Out by:");
CheckByLabel.setForeground(java.awt.Color.black);
CheckByLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
CheckByLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(CheckByLabel);
CheckOutLabel.setText("Checked Out on:");
CheckOutLabel.setForeground(java.awt.Color.black);
CheckOutLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
CheckOutLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(CheckOutLabel);
CheckInLabel.setText("Expected Date of Return:");
CheckInLabel.setForeground(java.awt.Color.black);
CheckInLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
CheckInLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(CheckInLabel);
DevUnderTestLabel.setText("Device Under
Test:");
DevUnderTestLabel.setForeground(java.awt.Color.black);
DevUnderTestLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
DevUnderTestLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(DevUnderTestLabel);
CapLabel.setText("Capabilities:");
CapLabel.setForeground(java.awt.Color.black);
CapLabel.setFont(new java.awt.Font ("Dialog", 0, 12));
LabelPanel.add(CapLabel);
jPanel2.add(LabelPanel);
TextFieldPanel.setLayout(new java.awt.GridLayout(6, 1, 0, 20));
TypeField.setPreferredSize(new java.awt.Dimension(12, 12));
TypeField.setEditable(false);
TypeField.setMaximumSize(new java.awt.Dimension(12, 12));
TypeField.setName("");
TypeField.setFont(new java.awt.Font ("SansSerif", 0, 12));
TypeField.setMargin(new java.awt.Insets(0, 10, 0, 0));
TypeField.setMinimumSize(new java.awt.Dimension(12, 12));
TextFieldPanel.add(TypeField);
CheckByField.setPreferredSize(new java.awt.Dimension(12, 12));
CheckByField.setEditable(false);
CheckByField.setMaximumSize(new java.awt.Dimension(12, 12));
CheckByField.setName("");
CheckByField.setFont(new java.awt.Font ("SansSerif", 0, 12));
CheckByField.setMargin(new java.awt.Insets(0, 10, 0, 0));
CheckByField.setMinimumSize(new java.awt.Dimension(12, 12));
TextFieldPanel.add(CheckByField);
CheckInField.setPreferredSize(new java.awt.Dimension(12, 12));
CheckInField.setEditable(false);
CheckInField.setMaximumSize(new java.awt.Dimension(12, 12));
CheckInField.setName("");
CheckInField.setFont(new java.awt.Font ("SansSerif", 0, 12));
CheckInField.setMargin(new java.awt.Insets(0, 10, 0, 0));
CheckInField.setMinimumSize(new java.awt.Dimension(12, 12));
TextFieldPanel.add(CheckInField);
CheckOutField.setPreferredSize(new java.awt.Dimension(12, 12));
CheckOutField.setEditable(false);
CheckOutField.setMaximumSize(new java.awt.Dimension(12, 12));
CheckOutField.setName("");
CheckOutField.setFont(new java.awt.Font ("SansSerif", 0, 12));
CheckOutField.setMargin(new java.awt.Insets(0, 10, 0, 0));
CheckOutField.setMinimumSize(new java.awt.Dimension(12, 12));
TextFieldPanel.add(CheckOutField);
DevUnderTestField.setPreferredSize(new java.awt.Dimension(12, 12));
DevUnderTestField.setEditable(false);
DevUnderTestField.setMaximumSize(new java.awt.Dimension(12, 12));
DevUnderTestField.setName("");
DevUnderTestField.setFont(new java.awt.Font ("SansSerif", 0, 12));
DevUnderTestField.setMargin(new java.awt.Insets(0, 10, 0, 0));
DevUnderTestField.setMinimumSize(new java.awt.Dimension(12, 12));
TextFieldPanel.add(DevUnderTestField);
CapField.setBorder(new javax.swing.border.LineBorder(java.awt.Color.gray));
CapField.setEditable(false);
CapField.setFont(new java.awt.Font ("SansSerif", 0, 12));
TextFieldPanel.add(CapField);
jPanel2.add(TextFieldPanel);
jScrollPaneEast.setViewportView(jPanel2);
jSplitPane1.setRightComponent(jScrollPaneEast);
jScrollPaneWest.setName("TestSets");
TSList.setPreferredSize(new java.awt.Dimension(100, 100));
TSList.setBorder(new javax.swing.border.TitledBorder(
new javax.swing.border.EtchedBorder(), "Test Sets", 4, 2,
new java.awt.Font ("Dialog", 0, 12)));
TSList.setModel(new org.netbeans.lib.sql.models.ListModel (nBCachedRowSet1, "TestSetID", null, null, null));
TSList.setSelectionModel(new org.netbeans.lib.sql.models.SQLListSelectionModel (nBCachedRowSet1));
TSList.setName("Test Sets");
TSList.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
TSListFocusGained(evt);
}
}
);
jScrollPaneWest.setViewportView(TSList);
jSplitPane1.setLeftComponent(jScrollPaneWest);
getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);
setJMenuBar(jMenuBar1);
}
private void TSListFocusGained(java.awt.event.FocusEvent evt) {
//Read text in selected list item.
//Set selected list item to a variable.
//Use variable to query the database.
//Send results to their corresponding text fields.
}
private void DevUnderTestFieldActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
}
private void CheckByFieldActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
}
private void CheckInFieldActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
}
private void TypeFieldActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
}
private void CheckOutFieldActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
}
private void exitForm(java.awt.event.WindowEvent evt)
{
System.exit(0);
}
public static void main(String[] args){
new TSTracker().show();
}
// Variables declaration - do not modify
private org.netbeans.lib.sql.pool.PooledConnectionSource pooledConnectionSource1;
private org.netbeans.lib.sql.NBCachedRowSet nBCachedRowSet1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenu jMenu1;
private javax.swing.JToolBar jToolBar1;
private javax.swing.JSplitPane jSplitPane1;
private javax.swing.JScrollPane jScrollPaneEast;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel LabelPanel;
private javax.swing.JLabel TypeLabel;
private javax.swing.JLabel CheckByLabel;
private javax.swing.JLabel CheckOutLabel;
private javax.swing.JLabel CheckInLabel;
private javax.swing.JLabel DevUnderTestLabel;
private javax.swing.JLabel CapLabel;
private javax.swing.JPanel TextFieldPanel;
private javax.swing.JTextField TypeField;
private javax.swing.JTextField CheckByField;
private javax.swing.JTextField CheckInField;
private javax.swing.JTextField CheckOutField;
private javax.swing.JTextField DevUnderTestField;
private javax.swing.JTextArea CapField;
private javax.swing.JScrollPane jScrollPaneWest;
private javax.swing.JList TSList;
// End of variables declaration
}
/////////////////////////////////////////////////////////////////