import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;
import net.proteanit.sql.DbUtils;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.DefaultComboBoxModel;
public class EmployeeInfo extends JFrame {
private JPanel contentPane;
private JTable table;
private JComboBox comboBoxName;
private JList listName;
private JComboBox comboBoxSelection;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EmployeeInfo frame = new EmployeeInfo();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
Connection connection =null;
private JTextField textFieldEID;
private JTextField textFieldName;
private JTextField textFieldSurname;
private JTextField textFieldAge;
private JTextField textFieldSearch;
public void refreshTable(){
try {
String query=”Select * from EmployeeInfo”;
PreparedStatement pst=connection.prepareStatement(query);
ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
e.printStackTrace();
}
}
public void fillComboBox() {
try {
String query=”select * from EmployeeInfo”;
PreparedStatement pst=connection.prepareStatement(query);
ResultSet rs=pst.executeQuery();
while(rs.next()){
comboBoxName.addItem(rs.getString(“Name”));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void loadList(){
try {
String query=”select * from EmployeeInfo”;
PreparedStatement pst=connection.prepareStatement(query);
ResultSet rs=pst.executeQuery();
DefaultListModel DLM=new DefaultListModel();
while(rs.next()){
DLM.addElement(rs.getString(“Name”));
}
listName.setModel(DLM); ////****
pst.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public EmployeeInfo() {
connection =sqliteConnection.dbConnector();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 987, 576);
contentPane = new JPanel();
contentPane.setBackground(new Color(51, 153, 255));
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnLoadTable = new JButton(“Load Table”);
btnLoadTable.setFont(new Font(“Tahoma”, Font.PLAIN, 20));
btnLoadTable.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String query=”Select * from EmployeeInfo”;
PreparedStatement pst=connection.prepareStatement(query);
ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
e.printStackTrace();
}
}
});
btnLoadTable.setBounds(763, 22, 168, 37);
contentPane.add(btnLoadTable);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportBorder(new BevelBorder(BevelBorder.LOWERED, new Color(51, 153, 204), new Color(51, 102, 153), null, null));
scrollPane.setBounds(355, 72, 587, 417);
contentPane.add(scrollPane);
table = new JTable();
table.setFont(new Font(“Tahoma”, Font.PLAIN, 15));
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
try {
int row =table.getSelectedRow();
String EID_=(table.getModel().getValueAt(row,0).toString());
String query=”Select * from EmployeeInfo where EID='”+EID_+”‘ “;
PreparedStatement pst=connection.prepareStatement(query);
//pst.setString(1,(String) comboBoxName.getSelectedItem());
ResultSet rs=pst.executeQuery();
while(rs.next()){
textFieldEID.setText(rs.getString(“EID”));
textFieldName.setText(rs.getString(“Name”));
textFieldSurname.setText(rs.getString(“Surname”));
textFieldAge.setText(rs.getString(“Age”));
}
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
scrollPane.setViewportView(table);
textFieldEID = new JTextField();
textFieldEID.setForeground(new Color(0, 0, 255));
textFieldEID.setFont(new Font(“Tahoma”, Font.BOLD, 18));
textFieldEID.setBounds(152, 162, 163, 37);
contentPane.add(textFieldEID);
textFieldEID.setColumns(10);
textFieldName = new JTextField();
textFieldName.setForeground(new Color(0, 0, 139));
textFieldName.setFont(new Font(“Tahoma”, Font.BOLD, 18));
textFieldName.setBounds(152, 209, 163, 37);
contentPane.add(textFieldName);
textFieldName.setColumns(10);
textFieldSurname = new JTextField();
textFieldSurname.setForeground(new Color(0, 0, 128));
textFieldSurname.setFont(new Font(“Tahoma”, Font.BOLD, 18));
textFieldSurname.setBounds(152, 257, 163, 37);
contentPane.add(textFieldSurname);
textFieldSurname.setColumns(10);
textFieldAge = new JTextField();
textFieldAge.setForeground(new Color(0, 0, 128));
textFieldAge.setFont(new Font(“Tahoma”, Font.BOLD, 18));
textFieldAge.setBounds(152, 307, 163, 37);
contentPane.add(textFieldAge);
textFieldAge.setColumns(10);
JButton btnNewButton = new JButton(“Save”);
btnNewButton.setFont(new Font(“Tahoma”, Font.PLAIN, 20));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String query=”Insert into EmployeeInfo (EID,Name,Surname,Age) values (?,?,?,?) “;
PreparedStatement pst=connection.prepareStatement(query);
pst.setString(1,textFieldEID.getText());
pst.setString(2,textFieldName.getText());
pst.setString(3,textFieldSurname.getText());
pst.setString(4,textFieldAge.getText());
pst.execute();
JOptionPane.showMessageDialog(null,”Data Saved”);
pst.close();
refreshTable();
} catch (Exception e) {
e.printStackTrace();
}
}
});
btnNewButton.setBounds(223, 21, 163, 39);
contentPane.add(btnNewButton);
JLabel lblEid = new JLabel(“EID”);
lblEid.setFont(new Font(“Tahoma”, Font.BOLD, 23));
lblEid.setBounds(28, 167, 79, 27);
contentPane.add(lblEid);
JLabel lblName = new JLabel(“Name”);
lblName.setFont(new Font(“Tahoma”, Font.BOLD, 23));
lblName.setBounds(28, 209, 93, 27);
contentPane.add(lblName);
JLabel lblSurname = new JLabel(“Surname”);
lblSurname.setFont(new Font(“Tahoma”, Font.BOLD, 23));
lblSurname.setBounds(28, 262, 120, 27);
contentPane.add(lblSurname);
JLabel lblAge = new JLabel(“Age”);
lblAge.setFont(new Font(“Tahoma”, Font.BOLD, 23));
lblAge.setBounds(28, 312, 79, 27);
contentPane.add(lblAge);
JButton btnNewButton_1 = new JButton(“Update”);
btnNewButton_1.setFont(new Font(“Tahoma”, Font.PLAIN, 20));
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String query=”Update Employeeinfo set EID='”+textFieldEID.getText()+”‘,name='”+textFieldName.getText()+”‘,surname='”+textFieldSurname.getText()+”‘,age='”+textFieldAge.getText()+”‘ where EID='”+textFieldEID.getText()+”‘”;
PreparedStatement pst=connection.prepareStatement(query);
pst.execute();
JOptionPane.showMessageDialog(null,”Data Updated”);
pst.close();
refreshTable();
} catch (Exception e) {
e.printStackTrace();
}
}
});
btnNewButton_1.setBounds(578, 22, 180, 37);
contentPane.add(btnNewButton_1);
comboBoxName = new JComboBox();
comboBoxName.setForeground(new Color(255, 0, 0));
comboBoxName.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String query=”Select * from EmployeeInfo where name=? “;
PreparedStatement pst=connection.prepareStatement(query);
pst.setString(1,(String) comboBoxName.getSelectedItem());
ResultSet rs=pst.executeQuery();
while(rs.next()){
textFieldEID.setText(rs.getString(“EID”));
textFieldName.setText(rs.getString(“Name”));
textFieldSurname.setText(rs.getString(“Surname”));
textFieldAge.setText(rs.getString(“Age”));
}
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
comboBoxName.setFont(new Font(“Tahoma”, Font.PLAIN, 18));
comboBoxName.setBounds(152, 112, 163, 37);
contentPane.add(comboBoxName);
JButton btnNewButton_2 = new JButton(“Delete”);
btnNewButton_2.setFont(new Font(“Tahoma”, Font.PLAIN, 20));
btnNewButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int action =JOptionPane.showConfirmDialog(null,”Do You really Want To Delete”,”Delete”,JOptionPane.YES_NO_OPTION);
if(action==0){
try {
String query=”Delete from EmployeeInfo where EID='”+textFieldEID.getText()+”‘ “;
PreparedStatement pst=connection.prepareStatement(query);
pst.execute();
JOptionPane.showMessageDialog(null,”Data Deleted”);
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
refreshTable();
}
}
});
btnNewButton_2.setBounds(398, 22, 168, 37);
contentPane.add(btnNewButton_2);
//JList listName = new JList();
listName = new JList();
listName.setBounds(28, 373, 277, 129);
contentPane.add(listName);
textFieldSearch = new JTextField();
textFieldSearch.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent arg0) {
try {
String selection=(String) comboBoxSelection.getSelectedItem();
String query=”Select EID,Name,Surname,Age from EmployeeInfo where “+selection+”=? “;
PreparedStatement pst=connection.prepareStatement(query);
pst.setString(1,textFieldSearch.getText());
ResultSet rs=pst.executeQuery();
//while(rs.next()){
// }
table.setModel(DbUtils.resultSetToTableModel(rs));
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
textFieldSearch.setFont(new Font(“Tahoma”, Font.PLAIN, 20));
textFieldSearch.setBounds(60, 22, 151, 37);
contentPane.add(textFieldSearch);
textFieldSearch.setColumns(10);
comboBoxSelection = new JComboBox();
comboBoxSelection.setFont(new Font(“Tahoma”, Font.PLAIN, 18));
comboBoxSelection.setModel(new DefaultComboBoxModel(new String[] {“EID”, “Name”, “Surname”, “Age”}));
comboBoxSelection.setBounds(152, 72, 163, 38);
contentPane.add(comboBoxSelection);
refreshTable();
fillComboBox();
loadList();
}
}
ΕΙΣΑΓΩΓΗ, ΕΠΕΞΕΡΓΑΣΙΑ, ΔΙΑΓΡΑΦΗ ΚΑΙ ΕΝΗΜΕΡΩΣΗ ΔΕΔOΜΕΝΩΝ ΣΤΗΝ JAVA.
https://youtu.be/Wu5h6J6OnzI?list=ULXTuzbY1YyzM



