Mercurial > hg > ltpda
view src/ConnectionManager/src/connectionmanager/DatabaseDialog.java @ 3:960fe1aa1c10 database-connection-manager
Add LTPDADatabaseConnectionManager implementation. Java code
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Mon, 05 Dec 2011 16:20:06 +0100 |
parents | |
children | 11e3ed9d2115 |
line wrap: on
line source
package connectionmanager; import java.util.HashSet; import javax.swing.DefaultComboBoxModel; import javax.swing.table.TableModel; public class DatabaseDialog extends javax.swing.JDialog { public boolean cancelled = true; public String hostname; public String database; private TableModel model; public DatabaseDialog(javax.swing.JDialog parent, TableModel model) { super(parent, true); this.model = model; initComponents(); initHostnameCombo(); initDatabaseCombo(); super.setLocationRelativeTo(parent); super.getRootPane().setDefaultButton(okButton); if (hostnameCombo.getModel().getSize() == 1) { databaseCombo.requestFocus(); } } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel10 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); databaseCombo = new javax.swing.JComboBox(); okButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); hostnameCombo = new javax.swing.JComboBox(); setTitle("Database connection"); setLocationByPlatform(true); setModal(true); setResizable(false); jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel10.setText("Database:"); jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel9.setText("Hostname:"); databaseCombo.setEditable(true); okButton.setText("Ok"); okButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okButtonActionPerformed(evt); } }); cancelButton.setText("Cancel"); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); hostnameCombo.setEditable(true); hostnameCombo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hostnameComboActionPerformed(evt); } }); org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(jLabel9) .add(18, 18, 18) .add(hostnameCombo, 0, 240, Short.MAX_VALUE)) .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() .add(cancelButton) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(okButton)) .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() .add(jLabel10) .add(21, 21, 21) .add(databaseCombo, 0, 240, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(hostnameCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(jLabel9)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(databaseCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(jLabel10)) .add(18, 18, 18) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(cancelButton) .add(okButton)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed cancelled = true; doClose(); }//GEN-LAST:event_cancelButtonActionPerformed private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed cancelled = false; hostname = (String) hostnameCombo.getSelectedItem(); database = (String) databaseCombo.getSelectedItem(); doClose(); }//GEN-LAST:event_okButtonActionPerformed private void hostnameComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hostnameComboActionPerformed initDatabaseCombo(); }//GEN-LAST:event_hostnameComboActionPerformed private void initHostnameCombo() { HashSet<String> hostnames = new HashSet<String>(); int rows = model.getRowCount(); for (int i = 0; i < rows; i++) { hostnames.add((String) model.getValueAt(i, 0)); } hostnameCombo.setModel(new DefaultComboBoxModel(hostnames.toArray())); } private void initDatabaseCombo() { HashSet<String> databases = new HashSet<String>(); hostname = (String) hostnameCombo.getSelectedItem(); int rows = model.getRowCount(); for (int i = 0; i < rows; i++) { if (hostname.equals((String) model.getValueAt(i, 0))) { databases.add((String) model.getValueAt(i, 1)); } } databaseCombo.setModel(new DefaultComboBoxModel(databases.toArray())); } private void doClose() { setVisible(false); dispose(); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancelButton; private javax.swing.JComboBox databaseCombo; private javax.swing.JComboBox hostnameCombo; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel9; private javax.swing.JButton okButton; // End of variables declaration//GEN-END:variables }