加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Swing如何以编程方式关闭JPanel

发布时间:2020-12-15 05:12:18 所属栏目:Java 来源:网络整理
导读:我的主要类扩展了JPanel,我在这个面板上创建了一个表和一个按钮.现在我想在用户按下它时关闭这个面板.在互联网上关闭的例子是JFrame.Is解决方案是JPanel吗? 有一个小组 在面板上有一个表和一个按钮 我为按钮添加了一个动作监听器 如果用户按下按钮,我想关闭
我的主要类扩展了JPanel,我在这个面板上创建了一个表和一个按钮.现在我想在用户按下它时关闭这个面板.在互联网上关闭的例子是JFrame.Is解决方案是JPanel吗?

>有一个小组
>在面板上有一个表和一个按钮
>我为按钮添加了一个动作监听器
>如果用户按下按钮,我想关闭面板
>这是我的代码现在我想要当用户按btnDelete然后关闭面板

公共类ListUsers扩展JPanel {

ResultSet rs;
ClientDAO dao;
JScrollPane scrollPane;
JTable表;
Object columnId;

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读