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