My main class extends JPanel and I create a table and a button on this panel.Now I want to close this panel when the user press it.On the internet closing examples are about JFrame.Is there solution for JPanel?
- There is a panel
- On Panel there is a table and a button
- I add an action listener to the button
- I want to close panel if user press button
This is my code now I want when the user press the btnDelete then it close the panel
public class ListUsers extends JPanel {
ResultSet rs; ClientDAO dao; JScrollPane scrollPane; JTable table; Object columnId;
public ListUsers() throws SQLException {
dao = new ClientDAO(); rs=dao.getUsers(); ResultSetMetaData md = rs.getMetaData(); int columnCount = md.getColumnCount(); Vector<String> columns = new Vector(columnCount); //store column names for(int i=1; i<=columnCount; i++) columns.add(md.getColumnName(i)); Vector data = new Vector(); Vector row; //store row data while(rs.next()) { row = new Vector(columnCount); for(int i=1; i<=columnCount; i++) { row.add(rs.getString(i)); } data.add(row); } table = new JTable(data, columns); table.setPreferredScrollableViewportSize(new Dimension(500, 70)); table.setFillsViewportHeight(true); table.setVisible(true); table.validate(); table.setEnabled(true); add(table); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { final JDialog dialog = new JDialog(); dialog.setSize(300, 200); dialog.setLayout(null); columnId = table.getValueAt(table.getSelectedRow(),0); Integer no = new Integer(columnId.toString()); final int i =no.intValue(); String columnNo =columnId.toString(); String name = table.getValueAt(table.getSelectedRow(),1).toString(); String surname = table.getValueAt(table.getSelectedRow(),2).toString(); String gender = table.getValueAt(table.getSelectedRow(),3).toString(); String labelText ="<html>Name :<b>"+name+"</b><br>Surname :<b>"+surname+"</b><br>Gender :<b>"+gender+"</b></html>"; JLabel label=new JLabel(labelText); label.setVisible(true); label.setBounds(10, 10,300, 100); dialog.add(label); JButton btnUpdate= new JButton("Update"); btnUpdate.setVisible(true); btnUpdate.setBounds(10,100,100,35); JButton btnDelete= new JButton("Delete"); btnDelete.setVisible(true); btnDelete.setBounds(150,100,100,35); dialog.add(btnDelete); dialog.add(btnUpdate); btnUpdate.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.setVisible(false); } }); btnDelete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { dao.deleteUser(i); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } dialog.setVisible(false); setVisible(false); System.exit(0); } }); dialog.setVisible(true);
setVisible(false)
– forgivenson