/**
*
* @author deleepa
*/
package ims.GUIInterface;
import ims.util.ReadFile;
import ims.util.WriteToFile;
import java.awt.Color;
import java.awt.Container;
import java.io.File;
public class ConnectionConfig extends javax.swing.JFrame {
final String dbDetailLocationFolder = "data/";
final String dbDetailLocationFile = "dbdetails.txt";
final String dbDetailLocation = dbDetailLocationFolder + "" + dbDetailLocationFile;
final char c = '•';
public ConnectionConfig() {
initComponents();
//sets panel to transparent
mainPanel.setOpaque(false);
//sets colour on the jframe
Container cont = this.getContentPane();
cont.setBackground(Color.WHITE);
Color buttonBack = new Color(89, 89, 89);
Color buttonFore = new Color(255, 255, 255);
doneButton.setBackground(buttonBack);
doneButton.setForeground(buttonFore);
passwordInput.setEchoChar(c);
File checkFile = new File(dbDetailLocation);
if(checkFile.exists()) {
ReadFile reader = new ReadFile();
String[] setInitial = reader.readInfoFile(dbDetailLocation);
hostInput.setText(setInitial[0]);
System.out.println(setInitial[0]);
portInput.setText(setInitial[1]);
dbInput.setText(setInitial[2]);
usernameInput.setText(setInitial[3]);
passwordInput.setText(setInitial[4]);
reader = null;
}
checkFile = null;
}
/**
* This method is called from within the constructor to initialize the form.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
mainPanel = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
hostInput = new javax.swing.JTextField();
portInput = new javax.swing.JTextField();
dbInput = new javax.swing.JTextField();
usernameInput = new javax.swing.JTextField();
doneButton = new javax.swing.JButton();
jSeparator1 = new javax.swing.JSeparator();
passwordInput = new javax.swing.JPasswordField();
jCheckBox1 = new javax.swing.JCheckBox();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
mainPanel.setPreferredSize(new java.awt.Dimension(500, 300));
jLabel1.setFont(new java.awt.Font("Lucida Sans", 0, 20)); // NOI18N
jLabel1.setText("Connection Settings");
jLabel2.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jLabel2.setText("Host");
jLabel3.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jLabel3.setText("Port");
jLabel4.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jLabel4.setText("Database");
jLabel5.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jLabel5.setText("Username");
jLabel6.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jLabel6.setText("Password");
hostInput.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
portInput.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
dbInput.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
usernameInput.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
doneButton.setFont(new java.awt.Font("Lucida Sans", 1, 16)); // NOI18N
doneButton.setText("Done");
doneButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
doneButtonActionPerformed(evt);
}
});
passwordInput.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jCheckBox1.setFont(new java.awt.Font("Lucida Sans", 0, 16)); // NOI18N
jCheckBox1.setText("Show password");
jCheckBox1.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
showPasswordItemStateChanged(evt);
}
});
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jSeparator1))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(37, 37, 37)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 39, Short.MAX_VALUE)
.addComponent(dbInput, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel6))
.addGap(33, 33, 33)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jCheckBox1)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(usernameInput)
.addComponent(passwordInput)))))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(39, 39, 39)
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(hostInput, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(jLabel3)
.addGap(18, 18, 18)
.addComponent(portInput, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(92, 92, 92))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(doneButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(hostInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(portInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(dbInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(usernameInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(passwordInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(19, 19, 19)
.addComponent(jCheckBox1))
.addComponent(doneButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(15, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(mainPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE)
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
String connDetails = "";
String password = "";
for(int i = 0; i < passwordInput.getPassword().length; i++) {
password += (passwordInput.getPassword())[i];
}
System.out.println(password);
connDetails += hostInput.getText() + ",";
connDetails += portInput.getText() + ",";
connDetails += dbInput.getText() + ",";
connDetails += usernameInput.getText() + ",";
connDetails += password;
System.out.println(connDetails);
//new writer object
WriteToFile write = new WriteToFile(dbDetailLocationFolder, dbDetailLocationFile, connDetails);
}//GEN-LAST:event_doneButtonActionPerformed
//1 = selected; 2 = not selected
private void showPasswordItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_showPasswordItemStateChanged
if (evt.getStateChange() == 1) {
passwordInput.setEchoChar((char)0);
} else {
passwordInput.setEchoChar(c);
}
}//GEN-LAST:event_showPasswordItemStateChanged
private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
this.dispose();
}//GEN-LAST:event_formWindowClosing
// public static void main(String args[]) {
// /* Set the Nimbus look and feel */
// //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
// /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
// * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
// */
// try {
// for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
// if ("Nimbus".equals(info.getName())) {
// javax.swing.UIManager.setLookAndFeel(info.getClassName());
// break;
// }
// }
// } catch (ClassNotFoundException ex) {
// java.util.logging.Logger.getLogger(ConnectionConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (InstantiationException ex) {
// java.util.logging.Logger.getLogger(ConnectionConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (IllegalAccessException ex) {
// java.util.logging.Logger.getLogger(ConnectionConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (javax.swing.UnsupportedLookAndFeelException ex) {
// java.util.logging.Logger.getLogger(ConnectionConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// }
// //</editor-fold>
//
// /* Create and display the form */
// java.awt.EventQueue.invokeLater(new Runnable() {
// public void run() {
// new ConnectionConfig().setVisible(true);
// }
// });
// }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField dbInput;
private javax.swing.JButton doneButton;
private javax.swing.JTextField hostInput;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JPanel mainPanel;
private javax.swing.JPasswordField passwordInput;
private javax.swing.JTextField portInput;
private javax.swing.JTextField usernameInput;
// End of variables declaration//GEN-END:variables
}