java – Swing如何以编程方式关闭JPanel
发布时间:2020-12-15 05:12:18 所属栏目:Java 来源:网络整理
导读:我的主要类扩展了JPanel,我在这个面板上创建了一个表和一个按钮.现在我想在用户按下它时关闭这个面板.在互联网上关闭的例子是JFrame.Is解决方案是JPanel吗? 有一个小组 在面板上有一个表和一个按钮 我为按钮添加了一个动作监听器 如果用户按下按钮,我想关闭
我的主要类扩展了JPanel,我在这个面板上创建了一个表和一个按钮.现在我想在用户按下它时关闭这个面板.在互联网上关闭的例子是JFrame.Is解决方案是JPanel吗?
>有一个小组 公共类ListUsers扩展JPanel { ResultSet rs; public ListUsers()抛出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,35); JButton btnDelete= new JButton("Delete"); btnDelete.setVisible(true); btnDelete.setBounds(150,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); 解决方法
如果你想“关闭”JPanel,你可以隐藏它.
myPanel.setVisible(false); 如果/当你想再次“打开”时: myPanel.setVisible(true); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |