user_manage.java~70~

来自「使用Java语言开发的数据库课程设计——医药管理信息系统。」· JAVA~70~ 代码 · 共 296 行

JAVA~70~
296
字号
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import java.awt.Font;
import java.awt.BorderLayout;
import java.util.*;
import javax.swing.table.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.SQLException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import java.awt.Color;
import javax.swing.border.TitledBorder;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;

public class User_Manage extends JFrame
{
    GridLayout gridLayout1 = new GridLayout();
    JPanel jPanel1 = new JPanel();
    JPanel jPanel2 = new JPanel();
    JLabel jLabel1 = new JLabel();
    XYLayout xYLayout1 = new XYLayout();
    JLabel jLabel2 = new JLabel();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JPasswordField jPasswordField1 = new JPasswordField();
    BorderLayout borderLayout1 = new BorderLayout();
    JScrollPane jScrollPane1 = new JScrollPane();
    JTextField jTextField1 = new JTextField();
    DefaultTableModel tableModel1 = null;
    String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String conURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=CASY";
    String Username = "sa";
    String Password = "111111";
    String check = null;
    Vector header;
    Vector data;
    Vector insert_data;

    JTable jTable1 = new JTable();
    public User_Manage()
    {
            this.setSize(new Dimension(495, 340));
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            this.requestFocus();
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            Dimension frameSize = getSize();
            if (frameSize.height > screenSize.height)
            {
                frameSize.height = screenSize.height;
            }
            if (frameSize.width > screenSize.width)
            {
                frameSize.width = screenSize.width;
            }
            setLocation((screenSize.width - frameSize.width) / 2,
                        (screenSize.height - frameSize.height) / 2);

        try
        {
            jbInit();
        }
        catch (Exception exception)
        {
            exception.printStackTrace();
        }
    }

    public void Con_DB()
    {
        try
        {
            Class.forName(Driver);
        }
        catch(ClassNotFoundException ee)
        {
            JOptionPane.showMessageDialog(null,"ForName:" + ee.getMessage(),"警告!",
                                 JOptionPane.WARNING_MESSAGE);
        }
    }

    private void jbInit() throws Exception
    {
        this.setVisible(true);
        this.setResizable(false);
        this.validate();
        this.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                new mainWin();
                dispose();
            }
        });

        getContentPane().setLayout(gridLayout1);
        gridLayout1.setColumns(1);
        gridLayout1.setRows(2);
        gridLayout1.setVgap(5);
        jButton1.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        jButton1.setText("添  加");
        jButton1.setCursor(new Cursor(Cursor.HAND_CURSOR));//改变鼠标样式
        jButton1.addActionListener(new User_Manage_jButton1_actionAdapter(this));
        jButton2.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        jButton2.setText("删  除");
        jButton2.setCursor(new Cursor(Cursor.HAND_CURSOR));
        jButton2.addActionListener(new User_Manage_jButton2_actionAdapter(this));
        jPasswordField1.setFont(new java.awt.Font("宋体", Font.BOLD, 14));
        jPasswordField1.setEchoChar('★');
        jPanel1.setLayout(borderLayout1);
        jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
                                                  HORIZONTAL_SCROLLBAR_NEVER);
        header = new Vector();
        header.addElement("用户ID");
        header.addElement("用户密码");
        tableModel1 = new DefaultTableModel(header,0);
        jTable1.setRowMargin(3);
        jTextField1.setFont(new java.awt.Font("宋体", Font.BOLD, 14));

        this.getContentPane().add(jPanel1);
        jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
        jScrollPane1.getViewport().add(jTable1);
        jLabel1.setFont(new java.awt.Font("宋体", Font.BOLD, 14));
        jLabel1.setText("用户ID:");
        jPanel2.setBackground(new Color(236, 233, 176));
        jPanel2.setLayout(xYLayout1);
        this.getContentPane().add(jPanel2);
        jLabel2.setFont(new java.awt.Font("宋体", Font.BOLD, 14));
        jLabel2.setText("用户密码:");
        //jTable1.setModel(tableModel1);
        jPanel2.add(jPasswordField1, new XYConstraints(143, 79, 140, 25));
        jPanel2.add(jTextField1, new XYConstraints(143, 36, 140, 25));
        jPanel2.add(jLabel1, new XYConstraints(71, 40, -1, -1));
        jPanel2.add(jLabel2, new XYConstraints(57, 83, -1, -1));
        jPanel2.add(jButton2, new XYConstraints(342, 74, 79, 32));
        jPanel2.add(jButton1, new XYConstraints(342, 31, 79, 32));
        jPanel1.setBackground(new Color(236, 233, 176));
        Show_all();
    }

    public void Show_all()
    {
        Con_DB();
        check = "SELECT * FROM identify";
        try
        {
            Connection con = DriverManager.getConnection(conURL, Username,
            Password);
            Statement s = con.createStatement();
            ResultSet rs = s.executeQuery(check);
            while(rs.next())
            {
                data = new Vector();
                data.addElement(rs.getString(1));
                data.addElement(rs.getString(2));
                tableModel1.addRow(data);
            }
            jTable1.setModel(tableModel1);
            rs.close();
            con.close();
        }
        catch(SQLException ex)
        {
              JOptionPane.showMessageDialog(null,"SQLException:" + ex.getMessage(),"警告!",JOptionPane.WARNING_MESSAGE);
        }
    }

    public static void main(String[] args)
    {
        new User_Manage();
    }

    public void jButton1_actionPerformed(ActionEvent e)
    {
        check = "SELECT * FROM identify where ID='"+jTextField1.getText()+"'";
        if (jTextField1.getText().equals("")||jPasswordField1.getPassword().length==0)
            JOptionPane.showMessageDialog(null,"用户ID和密码不能为空,请重新输入!!!","  出错啦!! ",JOptionPane.ERROR_MESSAGE);
        else
        {
            boolean used = false;
            try
            {
                Connection con = DriverManager.getConnection(conURL, Username,
                        Password);
                Statement s = con.createStatement();
                ResultSet rs = s.executeQuery(check);
                if(rs.next())
                {
                    JOptionPane.showMessageDialog(null,"用户 "+jTextField1.getText() +"已经存在,请另选一ID" , "出错啦!! ",JOptionPane.ERROR_MESSAGE);
                    used = true;
                }
                rs.close();
                con.close();
            }
            catch(SQLException ex)
            {
                JOptionPane.showMessageDialog(null,"SQLException:" + ex.getMessage(),"警告!",JOptionPane.WARNING_MESSAGE);
            }
            if(used==false)
            {

                    String add = "insert into identify values ('"
                                 + jTextField1.getText() + "','"
                                 + String.valueOf(jPasswordField1.getPassword())+
                                 "')";
                    try {
                        Connection con = DriverManager.getConnection(conURL,
                                Username, Password);
                        Statement s = con.createStatement();
                        s.executeUpdate(add);
                        con.close();
                    } catch (SQLException ex) {
                        JOptionPane.showMessageDialog(null,
                                "SQLException:" + ex.getMessage(), "警告!",
                                JOptionPane.WARNING_MESSAGE);
                    }
                    insert_data = new Vector();
                    insert_data.addElement(jTextField1.getText());
                    insert_data.addElement(String.valueOf(jPasswordField1.getPassword()));
                    tableModel1.addRow(insert_data);
                    jTable1.setModel(tableModel1);
                    JOptionPane.showMessageDialog(null, "☆ 操作成功 !! ☆", "系统消息",
                                                  JOptionPane.WARNING_MESSAGE);
                    jTextField1.setText("");
                    jPasswordField1.setText("");
                    jTable1.invalidate();
            }
        }
    }

    public void jButton2_actionPerformed(ActionEvent e)
    {
        int choose_row = jTable1.getSelectedRow();
        int choose_column = jTable1.getSelectedColumn();
        int choice = JOptionPane.showConfirmDialog(null, "真的要删除这行的数据?",
                                                   "请慎重考虑(不可恢复)",
                                                   JOptionPane.YES_NO_OPTION);
        if (choice == JOptionPane.NO_OPTION)
            return;
        else
        {
            String cellValue = (String) tableModel1.getValueAt(choose_row,
                    choose_column);
            String delete = "delete from identify where ID = '" + cellValue + "'";
            try {
                Connection con = DriverManager.getConnection(conURL, Username,
                        Password);
                Statement s = con.createStatement();
                s.executeUpdate(delete);
                header = new Vector();
                header.addElement("用户ID");
                header.addElement("用户密码");
                tableModel1 = new DefaultTableModel(header, 0);
                jTable1.setModel(tableModel1);
                Show_all();
                s.close();
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, "SQLException:" + ex.getMessage(),
                                              "警告!", JOptionPane.WARNING_MESSAGE);
            }
            JOptionPane.showMessageDialog(null, "☆ 操作成功 !! ☆", "系统消息",
                                          JOptionPane.WARNING_MESSAGE);
        }
    }
}


class User_Manage_jButton2_actionAdapter implements ActionListener {
    private User_Manage adaptee;
    User_Manage_jButton2_actionAdapter(User_Manage adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}


class User_Manage_jButton1_actionAdapter implements ActionListener {
    private User_Manage adaptee;
    User_Manage_jButton1_actionAdapter(User_Manage adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?