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

📄 playermpane.java

📁 一个人员数据库管理系统
💻 JAVA
字号:
/*
 * Created 2008-9-16
 */
package fbms;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.Iterator;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class PlayerMPane extends JPanel
{
    public PlayerMPane()
    {
        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 PlayerFindPane());
        else
            jTabbedPane.setComponentAt(n, new EditPlayerPane(n)); 
    }    
    private class EditPlayerPane extends JPanel
    {
        JButton jbSubmit;
        public EditPlayerPane(int n)
        {
            JPanel jpMain = new JPanel();
            jpMain.setLayout(new GridLayout(5,4));
            jpMain.add(new JLabel("<html><font color=red>带(*)号项为必填项</font></html>"));jpMain.add(new JLabel());jpMain.add(new JLabel());jpMain.add(new JLabel());
            jpMain.add(new JLabel("<html>球员姓名(<font color=red>*</font>)</html>"));
            jpMain.add(jtPlayerName = new JTextField());
            jpMain.add(new JLabel("<html>球员号码(<font color=red>*</font>)</html>"));
            jpMain.add(jtPlayerNo = new JTextField());
            jpMain.add(new JLabel("<html>所在球队(<font color=red>*</font>)</html>"));
            jpMain.add(jcTeam = new JComboBox());
            jpMain.add(new JLabel("场上位置"));  
            jpMain.add(jcPosition = new JComboBox());        
            jpMain.add(new JLabel("身高(cm)"));
            jpMain.add(jtPlayerHeight = new JTextField());    
            jpMain.add(new JLabel("体重(kg)"));
            jpMain.add(jtPlayerWeight = new JTextField());  
            jpMain.add(new JLabel("出生日期"));
            jpMain.add(jcYear = new JComboBox());
            jpMain.add(jcMonth= new JComboBox());
            jpMain.add(jcDay = new JComboBox());            
            JPanel buttonPane = new JPanel();
            
            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(jpMain,"Center");
            add(buttonPane,"South");
            initData();
            
            jbCancel.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    jtPlayerName.setText("");
                    jtPlayerNo.setText("");
                    jtPlayerHeight.setText("");
                    jtPlayerWeight.setText("");                    
                }
            });
            jbSubmit.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    if(jbSubmit.getText().equals("确定添加"))
                    {
                        if(isTableOk())
                        {
                            String playerName = jtPlayerName.getText().trim();
                            String teamname = jcTeam.getSelectedItem().toString().trim();
                            String playerNo = jtPlayerNo.getText().trim();
                            String playerPosition = jcPosition.getSelectedItem().toString().trim();
                            String height = jtPlayerHeight.getText().trim();
                            String weight = jtPlayerWeight.getText().trim();
                            String birthday = jcYear.getSelectedItem().toString()+"-"+
                            jcMonth.getSelectedItem().toString()+"-"+
                            jcDay.getSelectedItem().toString();
                            
                            DataManage.addData("球员表", new Object[]{playerName,teamname,playerNo,playerPosition,height,weight,birthday});
                        }
                        else
                        {
                            JOptionPane.showMessageDialog(null, "<html><font color=red>带(*)号项为必填项</font></html>");
                        }
                    }
                    else if(jbSubmit.getText().equals("确定变更"))
                    {
                        
                    }
                    else if(jbSubmit.getText().equals("确定删除"))
                    {
                        
                    }               
                }
            });
        }
        private boolean isTableOk()
        {
            if(jtPlayerName.getText().trim().equals("") || jtPlayerNo.getText().trim().equals(""))
                return false;
            return true;
        }
        private void initData()
        {
            ArrayList item = DataManage.selectData("select 球队名称 from 球员表 group by 球队名称");
            Iterator iterator = item.listIterator();
            while(iterator.hasNext())
            {
                jcTeam.addItem(iterator.next());
            }
            String[] str={"后卫","边后卫","前锋","前卫","守门员","中后卫","中卫"};
            for(String it:str)
            jcPosition.addItem(it);
            for(int i=1970;i<2070;i++)
                jcYear.addItem(i);
            for(int i=1;i<13;i++)
                jcMonth.addItem(i);
            int days = 0;
            switch(jcMonth.getSelectedIndex()+1)
            {
            case 1:case 3:case 5:case 7:case 8:case 10:case 12:
                days = 31; break;
            case 4:case 6:case 9:case 11:
                days = 30;break;
            case 2: int year = jcYear.getSelectedIndex()+1970;
            if(new GregorianCalendar().isLeapYear(year)) days = 29;
            else days = 28;
            }
            for(int i = 1;i<=days;i++)
                jcDay.addItem(i);              
            JComboBoxActionListener jcActionListener = new JComboBoxActionListener(); 
            jcYear.addActionListener(jcActionListener);
            jcMonth.addActionListener(jcActionListener);       
        }  
        private class JComboBoxActionListener implements ActionListener
        {
            public void actionPerformed(ActionEvent e)
            {
                int days = 0;
                if(e.getSource() == jcYear || e.getSource() ==  jcMonth)
                {
                    switch(jcMonth.getSelectedIndex()+1)
                    {
                    case 1:case 3:case 5:case 7:case 8:case 10:case 12:
                        days = 31; break;
                    case 4:case 6:case 9:case 11:
                        days = 30;break;
                    case 2: int year = jcYear.getSelectedIndex()+1970;
                    if(new GregorianCalendar().isLeapYear(year)) days = 29;
                    else days = 28;
                    }
                    jcDay.removeAllItems();
                    for(int i = 1;i<=days;i++)
                    {
                        jcDay.addItem(i);
                    }
                }
            }
        }
        private JTextField jtPlayerName;
        private JComboBox jcPosition;
        private JTextField jtPlayerNo;
        private JComboBox jcTeam;
        private JTextField jtPlayerHeight;
        private JTextField jtPlayerWeight;
        private JComboBox jcYear;
        private JComboBox jcMonth;
        private JComboBox jcDay;
        private JTextField jtTeamField;
        private JTextField jtTeamDM;
    }
    private class PlayerFindPane extends JPanel 
    {
       public PlayerFindPane()
       {
           setLayout(new BorderLayout());
           String[] headers = {"球员名", "球队名称","球员号","位置","身高","体重","生日"};
           JTable 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");
       }
    }
    
    private JTabbedPane jTabbedPane;
}

⌨️ 快捷键说明

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