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

📄 mainframe.java

📁 JSF 演示代码
💻 JAVA
字号:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.BorderFactory;

import javax.swing.border.Border;

import java.awt.Image;
import java.awt.Font;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;

/**
 * 学生管理系统的主界面
 */
public class MainFrame extends JFrame
{
    private static final int WIDTH = 450;
	private static final int HEIGHT = 360;

    public static void main(String[] args)
    {
        MainFrame frame = new MainFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show();
    }

    public MainFrame()
    {
        setSize(WIDTH, HEIGHT);//设置框架的大小
		setTitle("学生管理系统");//设置框架的标题
		setResizable(false);

        JPanel titlePanel = new TitlePanel();
        JPanel contentPanel = new MainContentPanel();
        JPanel buttonPanel = new MainButtonPanel(this);

        Container con = getContentPane();
        con.add(titlePanel, BorderLayout.NORTH);
        con.add(contentPanel, BorderLayout.CENTER);
        con.add(buttonPanel, BorderLayout.SOUTH);
    }
}

/**
 * 标题面板
 */
class TitlePanel extends JPanel
{
    private ImageIcon titleImageIcon, titleIcon;
    private Image titleImage;

    public TitlePanel()
    {
//		面板图像的转换
        titleImageIcon = new ImageIcon("ko12_2a.gif");
        titleImage = titleImageIcon.getImage();
        titleIcon = new ImageIcon(titleImage.getScaledInstance(70,50,Image.SCALE_SMOOTH));

//		设置面板的字体及大小
        add(new JLabel(titleIcon));
        setBackground(new Color(51,153,153));
        JLabel titleLabel = new JLabel("学 生 管 理 系 统");
        titleLabel.setPreferredSize(new Dimension(190,50));
        titleLabel.setForeground(new Color(204,0,153));
        Font titleLabelFont = new Font("Dialog",Font.BOLD,24);
        titleLabel.setFont(titleLabelFont);

        add(titleLabel);
        add(new JLabel(titleIcon));
    }
}

/**
 * 内容面板
 */
class MainContentPanel extends JPanel
{
    public MainContentPanel()
    {
        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));
        
        setBackground(new Color(204,204,255));
        JLabel conLabel = new JLabel(new ImageIcon("changceng.jpg"));
        add(conLabel);
    }   
}

/**
 * 按钮面板,放置在底部,相应用户的事件
 */
class MainButtonPanel extends JPanel
{
    private JFrame parFrame;
       
    public MainButtonPanel(JFrame frame)
    {
        parFrame = frame;
        setBackground(new Color(230, 255, 204));
        JButton initButton = new JButton("数据库初始化");
        JButton studentButton = new JButton("维护学生信息");
        JButton courseButton = new JButton("维护课程信息");
        
        Font buttonFont = new Font("Dialog",Font.BOLD,14);
        initButton.setFont(buttonFont);
        studentButton.setFont(buttonFont);
        courseButton.setFont(buttonFont);
        
        Dimension buttonDimension = new Dimension(125,40);
        initButton.setPreferredSize(buttonDimension);
        courseButton.setPreferredSize(buttonDimension);
        studentButton.setPreferredSize(buttonDimension);
        
        Color buttonBackColor = new Color(230, 204, 255);
        initButton.setBackground(buttonBackColor);
        courseButton.setBackground(buttonBackColor);
        studentButton.setBackground(buttonBackColor);
        
        initButton.setToolTipText("完成系统数据库的初始化工作,相应的表及表结构会建立");
        courseButton.setToolTipText("维护系统中的课程信息");
        studentButton.setToolTipText("维护系统中的学生信息");
        
        add(initButton);
        add(courseButton);
        add(studentButton);
        
        initButton.addActionListener(new DatabaseInitAction());
        studentButton.addActionListener(new MakeStudentFrameAction());
        courseButton.addActionListener(new MakeCourseFrameAction());
    }
    
    //监听器类
	private class MakeStudentFrameAction implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			StudentFrame subFrame = new StudentFrame(parFrame);//生成学生窗口实例
			subFrame.show();
			parFrame.hide();
			subFrame.addWindowListener(new WindowAdapter()
					{
						public void windowClosing(WindowEvent e)
						{
							if(!parFrame.isShowing());
							parFrame.show();
						}
					});
		}
	}
	
	private class MakeCourseFrameAction implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			CourseFrame subFrame = new CourseFrame(parFrame);//生成课程窗口实例
			subFrame.show();
			parFrame.hide();
			subFrame.addWindowListener(new WindowAdapter()
					{
						public void windowClosing(WindowEvent e)
						{
							if(!parFrame.isShowing());
							parFrame.show();
						}
					});
		}
	}
	
	private class DatabaseInitAction implements ActionListener
	{
	    public void actionPerformed(ActionEvent event)
	    {
	        parFrame.hide();
	        int i = JOptionPane.showConfirmDialog(null,"你是第一次执行数据库初始化吗?请确认!!","数据库初始化",JOptionPane.YES_NO_OPTION);
            if(i == 0)//用户选择"是"
            {
                try
                {
                    new CreateDatabase().execCreateTable();                
                    JOptionPane.showMessageDialog(null,"数据库初始化完成",
							                 "数据库初始化",JOptionPane.INFORMATION_MESSAGE);
				}
				catch(Exception e)
				{
				    JOptionPane.showMessageDialog(null,"数据库初始化失败、请检查数据库!!",
							                 "数据库初始化",JOptionPane.INFORMATION_MESSAGE);
				}
				parFrame.show();			                 
            }
            
            if(i == 1)//用户选择"否"
            {
                try
                {
                    new CreateDatabase().execMuilCreateTable();                
                    JOptionPane.showMessageDialog(null,"数据库初始化完成",
							                 "数据库初始化",JOptionPane.INFORMATION_MESSAGE);
				}
				catch(Exception e)
				{
				    JOptionPane.showMessageDialog(null,"数据库初始化失败、请检查数据库!!",
							                 "数据库初始化",JOptionPane.INFORMATION_MESSAGE);
				}
				parFrame.show();
            }            
	    }
	}    
}

⌨️ 快捷键说明

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