📄 addstudentframe.java
字号:
import java.awt.Font;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Component;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.border.Border;
/*
* 这是添加学生信息的界面
*/
public class AddStudentFrame extends JFrame
{
private static final int WIDTH = 600;
private static final int HEIGHT = 500;
private JFrame parFrame;
private JComboBox stuNameCombox;
private JButton okButton = new JButton("添加");
private JButton exitButton = new JButton("退出添加页面");
public AddStudentFrame (JFrame frame, JComboBox id)
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
parFrame = frame;
stuNameCombox = id;
Container con = getContentPane();
setSize(WIDTH, HEIGHT);
setTitle("添加学生信息页面");
setResizable(false);
AddStudentContentPanel content = new AddStudentContentPanel(okButton, exitButton, parFrame, this, stuNameCombox);
AddStudentButtonPanel buttonPanel = new AddStudentButtonPanel(okButton, exitButton);
con.add(content, BorderLayout.CENTER);
con.add(buttonPanel, BorderLayout.SOUTH);
}
}
/*
* 学生信息主面板
*/
class AddStudentContentPanel extends JPanel
{
private JLabel nameLabel = new JLabel ("姓 名: ");
private JLabel numberLabel = new JLabel("学 号:");
private JLabel sexLabel = new JLabel ("性 别: ");
private JLabel birthLabel = new JLabel ("出生日期: ");
private JLabel birthYearLabel = new JLabel("年");
private JLabel birthMonthLabel = new JLabel("月");
private JLabel entryYearLabel = new JLabel("年");
private JLabel entryMonthLabel = new JLabel("月");
private JLabel entrayLabel = new JLabel("入学日期: ");
private JLabel spcialLabel = new JLabel("专 业: ");
private JLabel addressLabel = new JLabel("籍 贯: ");
private JLabel titleLabel = new JLabel("添 加 学 生 信 息",SwingConstants.CENTER);
private JTextField nameText = new JTextField();
private JTextField numberText = new JTextField();
private JComboBox sexText = new JComboBox(new String[]{"男","女"});
private JComboBox entryTextYear = new JComboBox(new String[]{
"1970","1980","1990","2000","2010","2020","2030"});
private JComboBox entryTextMonth = new JComboBox(new String[]{
"01","02","03","04","05","06","07","08","09","11","12"});
private JComboBox birthTextYear = new JComboBox(new String[]{
"1970","1980","1990","2000","2010","2020","2030"});
private JComboBox birthTextMonth = new JComboBox(new String[]{
"01","02","03","04","05","06","07","08","09","11","12"});
private JTextField spcialText = new JTextField();
private JTextField addressText = new JTextField();
private JTextArea courseText = new JTextArea(7,24);
private JTextArea commentText = new JTextArea(10,24);
private JLabel addCourseLabel = new JLabel("添加课程");
private JLabel addCommentLabel = new JLabel("添加鉴定");
private JButton okButton;
private JButton exitButton;
private JFrame parFrame;
private JFrame subFrame;
private JComboBox stuNameCombox;
public AddStudentContentPanel(JButton ok,
JButton exit,
JFrame frame1,
JFrame frame2,
JComboBox id)
{
okButton = ok;
exitButton = exit;
parFrame = frame1;
subFrame = frame2;
stuNameCombox = id;
setBackground(new Color(153,204,204));
Border panelOutBorder = BorderFactory.createLineBorder(new Color(255,204,51),4);
Border panelInBorder = BorderFactory.createLineBorder(new Color(153,204,0),3);
setBorder(BorderFactory.createCompoundBorder(panelOutBorder,panelInBorder));
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 1;
constraints.weighty = 5;
this.setLayout(gridbag);
titleLabel.setFont(new Font("Dialog",Font.BOLD,20));
titleLabel.setForeground(Color.blue);
Font labelFont = new Font("Dialog",Font.BOLD,14);
nameLabel.setFont(labelFont);
numberLabel.setFont(labelFont);
sexLabel.setFont(labelFont);
birthLabel.setFont(labelFont);
entrayLabel.setFont(labelFont);
spcialLabel.setFont(labelFont);
addressLabel.setFont(labelFont);
birthYearLabel.setFont(labelFont);
birthMonthLabel.setFont(labelFont);
entryYearLabel.setFont(labelFont);
entryMonthLabel.setFont(labelFont);
addCourseLabel.setFont(labelFont);
addCommentLabel.setFont(labelFont);
constraints.anchor = GridBagConstraints.CENTER;
add(titleLabel, constraints, 0, 0, 9, 1);
add(nameLabel,constraints,0,1,1,1);
add(numberLabel,constraints,0,2,1,1);
add(sexLabel,constraints,0,3,1,1);
add(birthLabel,constraints,0,4,1,1);
add(entrayLabel,constraints,0,5,1,1);
add(spcialLabel,constraints,0,6,1,1);
add(addressLabel,constraints,0,7,1,1);
Font textFont = new Font("Dialog",Font.BOLD,16);
nameText.setPreferredSize(new Dimension(200,40));
nameText.setFont(textFont);
nameText.setToolTipText("请输入学生姓名");
numberText.setPreferredSize(new Dimension(150,40));
numberText.setFont(textFont);
sexText.setPreferredSize(new Dimension(120,40));
sexText.setFont(textFont);
spcialText.setPreferredSize(new Dimension(200,40));
spcialText.setFont(textFont);
addressText.setPreferredSize(new Dimension(200,40));
addressText.setFont(textFont);
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.NONE;
add(nameText,constraints,1,1,4,1);
add(numberText,constraints,1,2,4,1);
add(sexText,constraints,1,3,4,1);
add(spcialText,constraints,1,6,4,1);
add(addressText,constraints,1,7,4,1);
constraints.anchor = GridBagConstraints.EAST;
constraints.fill = GridBagConstraints.HORIZONTAL;
add(birthTextYear, constraints,1, 4, 1, 1);
add(birthTextMonth, constraints, 3, 4, 1, 1);
add(entryTextYear, constraints,1, 5, 1, 1);
add(entryTextMonth, constraints, 3, 5, 1, 1);
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.NONE;
add(birthYearLabel, constraints, 2, 4, 1, 1);
add(birthMonthLabel, constraints, 4, 4, 1, 1);
add(entryYearLabel, constraints, 2, 5, 1, 1);
add(entryMonthLabel, constraints, 4, 5, 1, 1);
add(addCourseLabel,constraints,5,1,1,1);
add(addCommentLabel,constraints,5,4,1,1);
constraints.fill = GridBagConstraints.BOTH;
Border outAreaBorder = BorderFactory.createLineBorder(Color.blue,2);
Border inAreaBorder = BorderFactory.createLoweredBevelBorder();
courseText.setBorder(BorderFactory.createCompoundBorder(outAreaBorder,inAreaBorder));
courseText.setLineWrap(true);
JScrollPane courseScrollPane = new JScrollPane(courseText);
add(courseScrollPane,constraints,5,2,2,2);
commentText.setBorder(BorderFactory.createCompoundBorder(outAreaBorder,inAreaBorder));
commentText.setLineWrap(true);
JScrollPane commentScrollPane = new JScrollPane(commentText);
add(commentScrollPane,constraints,5,5,2,3);
okButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String stuName = nameText.getText();
String stuNumber = numberText.getText();
String stuSex = (String)sexText.getSelectedItem();
String stuBirthday = (String)birthTextYear.getSelectedItem() + "年" +
(String)birthTextMonth.getSelectedItem() + "月";
String stuEntryday = (String)entryTextYear.getSelectedItem() + "年" +
(String)entryTextMonth.getSelectedItem() + "月";
String stuSpcial = spcialText.getText();
String stuAddress = addressText.getText();
String stuCourse = courseText.getText();
String stuComment = commentText.getText();
if(stuName.equals("") || stuNumber.equals("") || stuSpcial.equals(""))
{
JOptionPane.showMessageDialog(null,"输入项不能为空",
"输入信息",JOptionPane.YES_NO_OPTION);
}
else
{
Student one = new Student(stuName, stuNumber, stuSex);
one.setStudentBirthday(stuBirthday);
one.setStudentEntryday(stuEntryday);
one.setStudentSpeciality(stuSpcial);
one.setStudentAddress(stuAddress);
one.setStudentCourse(stuCourse);
one.setStudentComment(stuComment);
stuNameCombox.addItem(nameText.getText());
OperateStudent op = new OperateStudent();
int i = op.addStudentEss(one);
if(i == 1)
{
System.out.println("添加成功");
nameText.setText("");
numberText.setText("");
sexText.setSelectedIndex(0);
entryTextYear.setSelectedIndex(0);
entryTextMonth.setSelectedIndex(0);
birthTextYear.setSelectedIndex(0);
birthTextMonth.setSelectedIndex(0);
spcialText.setText("");
addressText.setText("");
courseText.setText("");
commentText.setText("");
}
else
System.out.println("添加失败");
}
}
});
exitButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
subFrame.dispose();
parFrame.show();
}
});
}
public void add(Component c, GridBagConstraints constraints,
int x, int y, int w, int h)
{
constraints.gridx = x;
constraints.gridy = y;
constraints.gridwidth = w;
constraints.gridheight = h;
add(c,constraints);
}
}
class AddStudentButtonPanel extends JPanel
{
public AddStudentButtonPanel(JButton ok, JButton exit)
{
add(ok);
add(exit);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -