⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teammpane.java

📁 一个人员数据库管理系统
💻 JAVA
字号:
package fbms;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;

public class TeamMPane extends JPanel
{
    public TeamMPane()
    {
        jTabbedPane = new JTabbedPane();
        jTabbedPane.add("添加球队", null);
        jTabbedPane.add("球队变更", null);
        jTabbedPane.add("删除球队", null);
        jTabbedPane.add("显示球队", null);
        setLayout(new BorderLayout());
        add(jTabbedPane, "Center");
        jTabbedPane.addChangeListener(new ChangeListener()
        {
            public void stateChanged(ChangeEvent event)
            {
                int n = jTabbedPane.getSelectedIndex();
                if (jTabbedPane.getSelectedComponent() == null)
                {
                    loadTab(n);
                }
                else
                {
                    if (jTabbedPane.getTitleAt(n).equals("显示球队"))
                        loadTab(n);
                }
            }
        });
        loadTab(0);
    }

    private void loadTab(int n)
    {
        if (jTabbedPane.getTitleAt(n).equals("显示球队"))
            jTabbedPane.setComponentAt(n, new TeamShow());
        else
            jTabbedPane.setComponentAt(n, new EditTeamPane(n));
    }

    private class EditTeamPane extends JPanel
    {
        private JButton jbSubmit;

        private JTextField jtTeamName;

        private JTextField jtTeamField;

        private JTextField jtTeamDM;

        public EditTeamPane(int n)
        {
            JPanel jpCenter = new JPanel();
            jpCenter.setBorder(BorderFactory.createEtchedBorder());
            jpCenter.setLayout(new GridLayout(3, 2));
            jpCenter.add(new JLabel("球队名称"));
            jpCenter.add(jtTeamName = new JTextField());
            jpCenter.add(new JLabel("球队主场"));
            jpCenter.add(jtTeamField = new JTextField());
            jpCenter.add(new JLabel("主教练"));
            jpCenter.add(jtTeamDM = new JTextField());

            JPanel buttonPane = new JPanel();
            buttonPane.setBorder(BorderFactory.createEtchedBorder());
            if (jTabbedPane.getTitleAt(n).equals("添加球队"))
                jbSubmit = new JButton("确定添加");
            else if (jTabbedPane.getTitleAt(n).equals("球队变更"))
                jbSubmit = new JButton("确定变更");
            else if (jTabbedPane.getTitleAt(n).equals("删除球队"))
                jbSubmit = new JButton("确定删除");
            JButton jbCancel = new JButton("清空输入");
            buttonPane.add(jbSubmit);
            buttonPane.add(jbCancel);

            setLayout(new BorderLayout());
            add(jpCenter, "Center");
            add(buttonPane, "South");
            jbCancel.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    clearText();
                }
            });
            jbSubmit.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    if (jbSubmit.getText().equals("确定添加"))
                    {
                        if (jtTeamName.getText().trim().equals("")
                                || jtTeamField.getText().trim().equals("")
                                || jtTeamDM.getText().trim().equals(""))
                        {
                            JOptionPane.showMessageDialog(null, "信息均不能为空!");
                        }
                        else
                        {
                            String string[] =
                            { jtTeamName.getText().trim(),
                                    jtTeamField.getText().trim(),
                                    jtTeamDM.getText().trim() };
                            clearText();
                            DataManage.addData("球队表",string);
                        }
                    }
                    else if (jbSubmit.getText().equals("确定变更"))
                    {
                        if (jtTeamName.getText().trim().equals(""))
                        {
                            JOptionPane.showMessageDialog(null, "[球队名称]不能为空!");
                        }
                        else
                        {
                            if (str == null)
                            {
                                JOptionPane.showMessageDialog(null,
                                        "没有你要查找的球队!");
                            }
                            else
                            {
                                if (JOptionPane.showConfirmDialog(null,
                                        "确实要更改 " + str[0] + " 相关信息吗?") == JOptionPane.OK_OPTION)
                                {
                                    String[] cols =
                                    { "球队主场", "主教练" };
                                    String[] values =
                                    { jtTeamField.getText().trim(),
                                            jtTeamDM.getText().trim() };
                                    DataManage.updateData("球队表", cols, values,
                                            "球队名称", str[0]);
                                }
                            }
                        }
                    }
                    else if (jbSubmit.getText().equals("确定删除"))
                    {
                        if (jtTeamName.getText().trim().equals(""))
                        {
                            JOptionPane.showMessageDialog(null, "[球队名称]不能为空!");
                        }
                        else
                        {
                            if (str == null)
                            {
                                JOptionPane.showMessageDialog(null,
                                        "没有你要查找的球队!");
                            }
                            else
                            {
                                if (JOptionPane.showConfirmDialog(null,
                                        "确实要删除 " + str[0] + " 相关信息吗?") == JOptionPane.OK_OPTION)
                                    DataManage
                                            .deleteData("球队表", "球队名称", str[0]);
                            }
                        }
                    }
                }
            });
            Document dt = jtTeamName.getDocument();
            dt.addDocumentListener(new DocumentListener()
            {
                public void changedUpdate(DocumentEvent e)
                {
                    insertUpdate(e);
                }

                public void insertUpdate(DocumentEvent e)
                {
                    if (!jbSubmit.getText().equals("确定添加"))
                        if (!jtTeamName.getText().trim().equals(""))
                        {
                            str = DataManage.selectData("球队表", "球队名称",
                                    jtTeamName.getText().trim());
                            if (str != null)
                            {
                                jtTeamField.setText(str[1]);
                                jtTeamDM.setText(str[2]);
                            }
                            else
                            {
                                jtTeamField.setText("");
                                jtTeamDM.setText("");
                            }
                        }
                        else
                        {
                            jtTeamField.setText("");
                            jtTeamDM.setText("");
                        }
                }

                public void removeUpdate(DocumentEvent e)
                {
                    insertUpdate(e);
                }
            });
        }

        private void clearText()
        {
            jtTeamName.setText("");
            jtTeamField.setText("");
            jtTeamDM.setText("");
        }
    }

    private class TeamShow extends JPanel
    {
        private JTextField jtName;
        private JTextField jtField;
        private JTextField jtDM;
        JTable table;
        

        public TeamShow()
        {
            setLayout(new BorderLayout());
            String[] headers = {"球队名称", "球队主场","主教练"};
            table = new JTable(DataManage.getModel("球队表", null, null, headers));
            JScrollPane jsPane = new JScrollPane(table);
            jsPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            jsPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
            add(jsPane, "Center");

            JPanel jpQuery = new JPanel();
            jpQuery.setLayout(new GridLayout(1, 6));
            jpQuery.add(new JLabel("球队名称"));
            jpQuery.add(jtName = new JTextField());
            jpQuery.add(new JLabel("球队主场"));
            jpQuery.add(jtField = new JTextField());
            jpQuery.add(new JLabel("主教练"));
            jpQuery.add(jtDM = new JTextField());
            add(jpQuery, "North");
            Document nameDoc = jtName.getDocument();
            Document fieldDoc = jtField.getDocument();
            Document DMDoc = jtDM.getDocument();
            DocAction docAction = new DocAction();
            nameDoc.addDocumentListener(docAction);
            fieldDoc.addDocumentListener(docAction);
            DMDoc.addDocumentListener(docAction);
        }
        private class DocAction implements DocumentListener
        {
            public void insertUpdate(DocumentEvent e)
            {
                String[] headers = {"球队名称", "球队主场","主教练"};
                
                table.setModel(DataManage.getModel("球队表", 
                        new String[]{ "球队名称", "球队主场", "主教练" },
                        new String[]{ jtName.getText().trim(), jtField.getText().trim(),
                        jtDM.getText().trim() },
                        headers)  );
            }
            public void removeUpdate(DocumentEvent e)
            {
                insertUpdate(e);
            }
            public void changedUpdate(DocumentEvent e)
            {
                insertUpdate(e);
            }
        }
    }
    private JTabbedPane jTabbedPane;
    private String[] str;
}

⌨️ 快捷键说明

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