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

📄 addstudentframe.java

📁 JSF 演示代码
💻 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 + -