📄 playermpane.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 + -