package windowsform; import java.awt.EventQueue; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JButton; import javax.swing.WindowConstants; import core.business.ITask; import connect.sqlite.ConnectData; import java.awt.Font; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Vector; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @SuppressWarnings("serial") public class TaskForm extends JInternalFrame implements ITask{ private JPanel contentPane; private static JTextField txt_ID; private static JTextField txt_Name; private static JTable table; int taskID; String taskName; /** * Launch the application. */ public static void showTable() { Vector<String> rowHeader = new Vector<String> (); rowHeader.add ("taskID"); rowHeader.add ("taskName"); DefaultTableModel model = new DefaultTableModel(rowHeader,0); table.setModel(model); ConnectData ds=new ConnectData(); ds.connect(); String newSQL="SELECT * FROM Task"; try { ResultSet rs =ds.ExcuteQuery(newSQL); Vector<String> rowData; if (rs != null) while (rs.next()){ rowData = new Vector<String>() ; rowData.add (rs.getString("taskID")); //rowData.add (String.valueOf(rs.getInt("roomName"))); rowData.add (rs.getString("taskName")); model.addRow(rowData); } rs.close(); ds.dispose(); } catch(Exception ex){System.out.println("Error : "+ex);} } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { TaskForm frame = new TaskForm(); frame.setVisible(true); showTable(); txt_ID.setText((String) table.getValueAt(0, 0)); txt_Name.setText((String) table.getValueAt(0, 1)); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public TaskForm() { this.setClosable(true); this.setMaximizable(true); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); this.setResizable(true); setBounds(100, 100, 450, 330); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblTaskId = new JLabel("Task ID"); lblTaskId.setBounds(10, 57, 46, 14); contentPane.add(lblTaskId); JLabel lblTaskName = new JLabel("Task Name"); lblTaskName.setBounds(10, 103, 77, 14); contentPane.add(lblTaskName); txt_ID = new JTextField(); txt_ID.setEditable(false); txt_ID.setBounds(103, 54, 129, 20); contentPane.add(txt_ID); txt_ID.setColumns(10); txt_Name = new JTextField(); txt_Name.setBounds(103, 100, 329, 20); contentPane.add(txt_Name); txt_Name.setColumns(10); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 154, 422, 98); contentPane.add(scrollPane); table = new JTable(); scrollPane.setViewportView(table); table.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { updateField(); } }); table.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { updateField(); } }); JButton button = new JButton("New"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { txt_ID.setText(""); txt_Name.setText(""); } }); button.setBounds(10, 263, 89, 23); contentPane.add(button); JButton button_1 = new JButton("Add"); button_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { addTask(); //showTable(); } }); button_1.setBounds(118, 263, 89, 23); contentPane.add(button_1); JButton button_2 = new JButton("Update"); button_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateRecord(); //showTable(); } }); button_2.setBounds(234, 263, 89, 23); contentPane.add(button_2); JButton button_3 = new JButton("Delete"); button_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { deleteRecord(); //showTable(); } }); button_3.setBounds(343, 263, 89, 23); contentPane.add(button_3); JLabel lblTaskManager = new JLabel("TASK MANAGEMENT"); lblTaskManager.setFont(new Font("Tahoma", Font.BOLD, 16)); lblTaskManager.setBounds(143, 11, 180, 32); contentPane.add(lblTaskManager); showTable(); txt_ID.setText((String) table.getValueAt(0, 0)); txt_Name.setText((String) table.getValueAt(0, 1)); } // modify public boolean addRecord() { ConnectData ds=new ConnectData(); ds.connect(); //int id= Integer.parseInt(txt_ID.getText()); String name=txt_Name.getText(); String sql_insert="insert into Task values("+ null +",'"+name+"')"; if(ds.queryExcuteUpdate(sql_insert)) { JOptionPane.showMessageDialog(null,"Successfull"); showTable(); } else JOptionPane.showMessageDialog(null,"fail"); try { ds.dispose(); return true; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return false; } public boolean updateRecord() { ConnectData ds=new ConnectData(); ds.connect(); int id= Integer.parseInt(txt_ID.getText()); String name=txt_Name.getText(); String sql_insert="Update Task Set taskID="+id+",taskName='"+name+ "' where taskID=" + id ; if(ds.queryExcuteUpdate(sql_insert)) { JOptionPane.showMessageDialog(null,"Successfull"); showTable(); } else JOptionPane.showMessageDialog(null,"fail"); try { ds.dispose(); return true; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return false; } public int getRowCount() { // TODO Auto-generated method stub ConnectData ds=new ConnectData(); ds.connect(); String newSQL="SELECT * FROM Task"; try { ResultSet rs =ds.ExcuteQuery(newSQL); rs.last(); return rs.getRow(); } catch (SQLException ex) { System.out.print(ex); return 0; } } //new AssignTaskForm().setVisible(true); public Object getValueAt(int row, int column) { ConnectData ds=new ConnectData(); ds.connect(); String newSQL="SELECT * FROM Task"; try { ResultSet rs =ds.ExcuteQuery(newSQL); rs.absolute(row + 1); return rs.getObject(column + 1); } catch (SQLException ex) { System.out.print(ex); return null; } } public boolean deleteRecord() { ConnectData ds=new ConnectData(); ds.connect(); String ID=txt_ID.getText(); String sql_insert="delete from Task where taskID='"+ID+"'"; if(ds.queryExcuteUpdate(sql_insert)){ JOptionPane.showMessageDialog(null,"delete Successfull"); showTable();} else JOptionPane.showMessageDialog(null,"delete fail"); try { ds.dispose(); return true; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return false; } public void updateField() { int row = table.getSelectedRow(); txt_ID.setText((String) table.getValueAt(row, 0)); txt_Name.setText((String) table.getValueAt(row, 1)); } @Override public int getTaskID() { // TODO Auto-generated method stub return 0; } @Override public String getTaskName() { // TODO Auto-generated method stub return null; } public boolean addTask() { // TODO Auto-generated method stub ConnectData ds=new ConnectData(); ds.connect(); //int id= Integer.parseInt(txt_ID.getText()); String name=txt_Name.getText(); String sql_insert="insert into Task values("+ null +",'"+name+"')"; if(ds.queryExcuteUpdate(sql_insert)) { JOptionPane.showMessageDialog(null,"Successfull"); showTable(); } else JOptionPane.showMessageDialog(null,"fail"); try { ds.dispose(); return true; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return false; } @Override public ITask getTask(int taskID) { return null; // TODO Auto-generated method stub } }