栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

swing项目表格动态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

swing项目表格动态

这个是我自己子页面写的一个表格的动态删除,你们可能运行不了(仅供参考)

思路:打开页面的时候先查询数据把表格插入到主面板中。在点击查询按钮的时候,把之前的插入到面板中的表格标签删除,然后再调用数据库删除,修改数据后,在查询数据重新向表格添加数据,然后再把添加后的表格插入面板中。刷新页面即可。(刷新页面是重点,不刷新页面数据是出不来的)

刷新主页面的代码:SwingUtilities.updateComponentTreeUI(Head.frame);

刷新页面中的子页面代码:internalFrame.updateUI();

package GUI_Object.GUI;

import GUI_Object.mysql.Database;
import GUI_Object.opjo.User;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.xml.crypto.Data;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
//管理员页面子页面修改添加用户
public class UpdatePasswd {


    public static JDesktopPane jDesktopPane = new JDesktopPane();//主页面  主面板
    private static String[] columnNames = new String[]{"用户名", "密码", "权限"};
    private static JPanel panel = new JPanel();//子页面内容面板
    //        panel.setLayout(new BorderLayout());//设置布局
    private static JTable t = null;

    private static JLabel label = new JLabel("用户名:");
    private static JButton button = new JButton("查询");
    private static JTextField field = new JTextField(12);
    private static JScrollPane jScrollPane = new JScrollPane(t);

    private static JPanel panel2 = new JPanel();
    private static JLabel jLabel = new JLabel("用户名");//用户名
    private static JTextField jTextField = new JTextField(12);//用户名文本框
    private static JLabel jLabel1 = new JLabel("密码");//密码
    private static JPasswordField passwordField = new JPasswordField(12);//密码框

    private static JButton jButton = new JButton("添加用户");
    private static JButton jButton1 = new JButton("删除用户");
    private static JLabel jLabel2 = new JLabel("用户权限");//用户权限
    private static Object[] arr = {"普通用户", "管理员用户"};
    private static JComboBox jComboBox = new JComboBox(arr);
    private static JInternalFrame internalFrame = new JInternalFrame("修改密码", true, true, true, true);
    private static JPanel panel1 = new JPanel();
    public static void Update(JFrame frame) {


        internalFrame.setSize(800, 500);//设置窗口大小
        t=null;
        internalFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//关闭按钮
        internalFrame.setLayout(new BorderLayout());//设置子页面布局
        List users = Database.SelectUser();//调用数据库查询数据
        String[][] heros = new String[users.size()][3];
        for (int i = 0; i < users.size(); i++) {
            User user = users.get(i);
            heros[i][0] = user.getUser();
            heros[i][1] = user.getPasswd();
            if (user.getJudge() == 1) {
                heros[i][2] = "管理员用户";
            } else {
                heros[i][2] = "普通用户";
            }
        }
        t = new JTable(heros, columnNames);
        jScrollPane = new JScrollPane(t);
        panel1.add(jScrollPane);
        internalFrame.updateUI();

        button.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e) {
                panel1.remove(jScrollPane);//在面板上删除原有的表格
                String text = field.getText();
                List users = Database.SelectUser(text);//调用数据库查询数据
                String[][] heros = new String[users.size()][3];
                for (int i = 0; i < users.size(); i++) {
                    User user = users.get(i);
                    heros[i][0] = user.getUser();
                    heros[i][1] = user.getPasswd();
                    if (user.getJudge() == 1) {
                        heros[i][2] = "管理员用户";
                    } else {
                        heros[i][2] = "普通用户";
                    }
                }
                t = new JTable(heros, columnNames);
                jScrollPane = new JScrollPane(t);//在表格里面添加新数据
                panel1.add(jScrollPane);
                internalFrame.updateUI();//刷新子表格,,刷新整个页面可以使用 SwingUtilities.updateComponentTreeUI(Head.frame);
            }
        });


        panel2.setLayout(new FlowLayout());
        panel2.add(jLabel);//用户名
        panel2.add(jTextField);//用户名文本框

        panel2.add(jLabel1);//密码
        panel2.add(passwordField);//密码文本框
        panel2.add(jLabel2);//用户权限
        panel2.add(jComboBox);//下拉列表
        panel2.add(jButton1);//删除用户
        panel2.add(jButton);//添加用户
        internalFrame.add(panel2, BorderLayout.SOUTH);

        panel1.add(jScrollPane);
        int defaultCloseOperation = internalFrame.getDefaultCloseOperation();
        System.out.println(defaultCloseOperation);
        // 表格上的title
        panel.add(label);
        panel.add(field);
        panel.add(button);
        internalFrame.add(panel, BorderLayout.NORTH);//窗口添加面板
        internalFrame.add(panel1, BorderLayout.CENTER);//添加表格到面板中间

        jDesktopPane.add(internalFrame);   //讲子页面,添加到主面板
        frame.add(jDesktopPane, BorderLayout.CENTER);  //讲主面板添加到页面中
        internalFrame.setVisible(true);     //字面显示状态为true
        //刷新页面
        jButton1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                String text = jTextField.getText();
                String passwd = passwordField.getText();
                int Index = jComboBox.getSelectedIndex();
                Boolean aBoolean = Database.RemoveUser(text, passwd, Index);
                if (aBoolean){
                    JOptionPane.showMessageDialog(panel2, "恭喜你,删除用户成功", "通知", JOptionPane.INFORMATION_MESSAGE);
                }else {
                    JOptionPane.showMessageDialog(panel2, "抱歉,删除用户失败", "警告", JOptionPane.ERROR_MESSAGE);
                }
                internalFrame.updateUI();
            }
        });
        jButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                String text = jTextField.getText();
                String passwd = passwordField.getText();
                int Index = jComboBox.getSelectedIndex();
                Boolean aBoolean = Database.AddUser(text, passwd, Index);
                if (aBoolean){
                    JOptionPane.showMessageDialog(panel2, "恭喜你,用户注册成功", "通知", JOptionPane.INFORMATION_MESSAGE);
                }else {
                    JOptionPane.showMessageDialog(panel2, "抱歉,用户注册失败", "警告", JOptionPane.ERROR_MESSAGE);
                }
            }
        });
        SwingUtilities.updateComponentTreeUI(Head.frame);//刷新整个页面
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号