【期末Javase实训项目——宿舍管理系统03】

  设计主窗口和内置窗口,完成点击菜单显示内置窗口。因为所有的窗口几乎都是一个套路完成的,大同小异,主要说明一个窗口的实现方法。

一. 用户主窗口:(JFrame)

二.  代码(包括了菜单的所有点击事件)

package cn.View.User;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import cn.Util.DateUtill;

import java.awt.Toolkit;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JMenu;
import java.awt.Font;
import javax.swing.UIManager;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;

import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;

public class MainFrm extends JFrame {

	private JPanel contentPane;
    public static JDesktopPane desktopPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MainFrm frame = new MainFrm();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MainFrm() {
		setIconImage(Toolkit.getDefaultToolkit().getImage(MainFrm.class.getResource("/Image/th_whattasksma9.png")));
		setTitle("\u7BA1\u7406\u754C\u9762(\u64CD\u4F5C\u8005)       "+LoginFrm.userlevel+"      "+LoginFrm.username+"    登陆时间:      "+DateUtill.nowtime()+"     "+DateUtill.nowdate());
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 2586, 1421);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu menu = new JMenu("\u7BA1\u7406\u8D44\u6599");
		menu.setIcon(new ImageIcon(MainFrm.class.getResource("/Image/1245O0NQc20-4T61T.gif")));
		menu.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menuBar.add(menu);
		
		JMenuItem menuItem = new JMenuItem("\u6211\u7684\u4FE1\u606F");//我的信息事件
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				closemainfrm(userupdate_JInternal.close);
				UserInfoJInternal uifi=new UserInfoJInternal();
				uifi.setVisible(true);
				desktopPane.add(uifi);
			}
		});
		menuItem.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu.add(menuItem);
		
		JMenu mnNewMenu = new JMenu("\u51FA\u5165\u60C5\u51B5");
		mnNewMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/Image/1245O0NMU50-4R4107.gif")));
		mnNewMenu.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menuBar.add(mnNewMenu);
		
		JMenuItem menuItem_1 = new JMenuItem("\u7269\u54C1\u51FA\u5165");
		menuItem_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				GoodsOutJInternal goi=new GoodsOutJInternal();
				goi.setVisible(true);
				desktopPane.add(goi);
			}
		});
		menuItem_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		mnNewMenu.add(menuItem_1);
		
		JMenu menu_2 = new JMenu("\u6765\u8BBF\u4EBA\u51FA\u5165");
		menu_2.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		mnNewMenu.add(menu_2);
		
		JMenuItem menuItem_2 = new JMenuItem("\u6765\u8BBF\u767B\u8BB0");
		menuItem_2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				StuVsitInforFInernal svuf=new StuVsitInforFInernal();
				svuf.setVisible(true);
				desktopPane.add(svuf);
			}
		});
		menuItem_2.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu_2.add(menuItem_2);
		
		JMenuItem menuItem_5 = new JMenuItem("\u7ED3\u675F\u6765\u8BBF");
		menuItem_5.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				StuEndVisFInternal sevi=new StuEndVisFInternal();
				sevi.setVisible(true);
				desktopPane.add(sevi);
			}
		});
		menuItem_5.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu_2.add(menuItem_5);
		
		JMenu mnNewMenu_1 = new JMenu("\u67E5\u8BE2\u4FE1\u606F");
		mnNewMenu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/Image/1245O0Y11Z10-Z34337.gif")));
		mnNewMenu_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menuBar.add(mnNewMenu_1);
		/**
		 * 来访信息查询
		 */
		JMenuItem menuItem_3 = new JMenuItem("\u6765\u8BBF\u4FE1\u606F");
		menuItem_3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				VisIfmCJInternal vis=new VisIfmCJInternal();
				vis.setVisible(true);
				desktopPane.add(vis);
			}
		});
		menuItem_3.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		mnNewMenu_1.add(menuItem_3);
		
		JMenuItem menuItem_6 = new JMenuItem("\u7269\u54C1\u51FA\u697C");
		menuItem_6.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				GdOIfmCJInternal gic=new GdOIfmCJInternal();
				gic.setVisible(true);
				desktopPane.add(gic);
			}
		});
		menuItem_6.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		mnNewMenu_1.add(menuItem_6);
		
		JMenuItem menuItem_7 = new JMenuItem("\u5BDD\u5BA4\u60C5\u51B5");
		menuItem_7.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				DromCIfmJInternal dci=new DromCIfmJInternal();
				dci.setVisible(true);
				desktopPane.add(dci);
			}
		});
		menuItem_7.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		mnNewMenu_1.add(menuItem_7);
		
		JMenu menu_1 = new JMenu("\u7269\u54C1\u7EF4\u4FEE");
		menu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/Image/1245O0O502Y0-512XQ.gif")));
		menu_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menuBar.add(menu_1);
		
		JMenuItem menuItem_4 = new JMenuItem("\u7EF4\u4FEE\u5F55\u5165");
		menuItem_4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				GSCooks_JInternal g=new GSCooks_JInternal();
				g.setVisible(true);
				desktopPane.add(g);
						
			}
		});
		menuItem_4.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu_1.add(menuItem_4);
		
		JMenuItem mntmNewMenuItem = new JMenuItem("\u7EF4\u4FEE\u8BB0\u5F55");
		mntmNewMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					GRD_JInternal g=new GRD_JInternal();
					g.setVisible(true);
					desktopPane.add(g);
				} catch (PropertyVetoException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
			}
		});
		mntmNewMenuItem.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu_1.add(mntmNewMenuItem);
		
		JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u5904\u7406\u7ED3\u679C");
		mntmNewMenuItem_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				GRE_JIternal g=new GRE_JIternal();
				g.setVisible(true);
				desktopPane.add(g);
				
			}
		});
		mntmNewMenuItem_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
		menu_1.add(mntmNewMenuItem_1);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new BorderLayout(0, 0));
		
		desktopPane = new JDesktopPane();
		desktopPane.setBackground(new Color(255, 255, 255));
		contentPane.add(desktopPane, BorderLayout.CENTER);
		
		JLabel lblNewLabel = new JLabel("");
		lblNewLabel.setIcon(new ImageIcon(MainFrm.class.getResource("/Image/src=http_%2F%2Fcompimg.go007.com%2FTestPic%2FBig%2F2017%2F1%2F10%2F10%2F201701102109008669.png&refer=http_%2F%2Fcompimg.go007.jpg")));
		lblNewLabel.setBounds(1003, 488, 298, 249);
		desktopPane.add(lblNewLabel);
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
		
		
	}
	/**
	 * 关闭系统
	 * @param close
	 */
	private void closemainfrm(boolean close) {
		if(close==true) {
			int choose=JOptionPane.showConfirmDialog(null, "此操作需要重启,是否继续?");
			if(choose==0) {
				dispose();
			}
		}
		
	}
}

三.  内置窗口 (我的信息):(JInternalFrame)

四.  代码(包括了内置窗口的所有事件)

package cn.View.User;

import java.awt.EventQueue;

import javax.swing.JInternalFrame;
import javax.swing.ImageIcon;
import java.awt.Color;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;

import cn.Dao.UserDao;
import cn.Util.DbUtil;
import cn.model.User;

import javax.swing.JLabel;
import javax.swing.JOptionPane;

import java.awt.Font;
import java.sql.Connection;

import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class UserInfoJInternal extends JInternalFrame {
	private JTextField useridtxt;
	private JTextField userleveltxt;
	private JTextField usernametxt;
	private JTextField usersextxt;
	private JTextField usernumbertxt;
	private JTextField useraddresstxt;
	
	DbUtil dbutil=new DbUtil();
	UserDao userdao=new UserDao();

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					UserInfoJInternal frame = new UserInfoJInternal();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public UserInfoJInternal() {
		getContentPane().setBackground(new Color(204, 204, 204));
		setBackground(new Color(0, 153, 204));
		getContentPane().setForeground(new Color(0, 0, 0));
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(null, "\u7528\u6237\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(102, 0, 0)));
		panel.setBackground(new Color(0, 153, 204));
		GroupLayout groupLayout = new GroupLayout(getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(Alignment.TRAILING, groupLayout.createSequentialGroup()
					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
					.addComponent(panel, GroupLayout.PREFERRED_SIZE, 399, GroupLayout.PREFERRED_SIZE)
					.addContainerGap())
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addContainerGap()
					.addComponent(panel, GroupLayout.PREFERRED_SIZE, 394, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
		);
		
		JLabel lblid = new JLabel("\u7528\u6237ID\uFF1A");
		lblid.setFont(new Font("宋体", Font.PLAIN, 20));
		
		useridtxt = new JTextField();
		useridtxt.setEditable(false);
		useridtxt.setColumns(10);
		
		JLabel label = new JLabel("\u7528\u6237\u7EA7\u522B\uFF1A");
		label.setFont(new Font("宋体", Font.PLAIN, 20));
		
		JLabel label_1 = new JLabel("\u7528\u6237\u59D3\u540D\uFF1A");
		label_1.setFont(new Font("宋体", Font.PLAIN, 20));
		
		userleveltxt = new JTextField();
		userleveltxt.setEditable(false);
		userleveltxt.setColumns(10);
		
		JLabel label_2 = new JLabel("\u7528\u6237\u6027\u522B\uFF1A");
		label_2.setFont(new Font("宋体", Font.PLAIN, 20));
		
		usernametxt = new JTextField();
		usernametxt.setEditable(false);
		usernametxt.setColumns(10);
		
		usersextxt = new JTextField();
		usersextxt.setEditable(false);
		usersextxt.setColumns(10);
		
		JLabel label_3 = new JLabel("\u8054\u7CFB\u7535\u8BDD\uFF1A");
		label_3.setFont(new Font("宋体", Font.PLAIN, 20));
		
		usernumbertxt = new JTextField();
		usernumbertxt.setEditable(false);
		usernumbertxt.setColumns(10);
		
		JLabel label_4 = new JLabel("\u5C45\u4F4F\u5730\u5740\uFF1A");
		label_4.setFont(new Font("宋体", Font.PLAIN, 20));
		
		useraddresstxt = new JTextField();
		useraddresstxt.setEditable(false);
		useraddresstxt.setColumns(10);
		
		JButton button = new JButton("\u786E\u5B9A");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				setVisible(false);
			}
		});
		button.setFont(new Font("宋体", Font.PLAIN, 15));
		
		JButton button_1 = new JButton("\u4FEE\u6539");
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) { 
				userupdate_JInternal uifi=new userupdate_JInternal();
				uifi.setVisible(true);
				MainFrm.desktopPane.add(uifi);
				
			}
		});
		button_1.setFont(new Font("宋体", Font.PLAIN, 15));
		GroupLayout gl_panel = new GroupLayout(panel);
		gl_panel.setHorizontalGroup(
			gl_panel.createParallelGroup(Alignment.TRAILING)
				.addGroup(gl_panel.createSequentialGroup()
					.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
						.addGroup(gl_panel.createSequentialGroup()
							.addGap(37)
							.addComponent(button)
							.addPreferredGap(ComponentPlacement.RELATED, 174, Short.MAX_VALUE)
							.addComponent(button_1))
						.addGroup(gl_panel.createSequentialGroup()
							.addContainerGap()
							.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
								.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
									.addComponent(label_3, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
									.addComponent(label_2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
									.addComponent(label_1, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
									.addComponent(label, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
									.addComponent(label_4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
								.addComponent(lblid))
							.addGap(44)
							.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
								.addComponent(useraddresstxt, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE)
								.addComponent(usernametxt, GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
								.addComponent(usersextxt, GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
								.addComponent(usernumbertxt, 172, 172, 172)
								.addComponent(userleveltxt, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
								.addComponent(useridtxt, GroupLayout.PREFERRED_SIZE, 81, GroupLayout.PREFERRED_SIZE))))
					.addGap(200))
		);
		gl_panel.setVerticalGroup(
			gl_panel.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_panel.createSequentialGroup()
					.addContainerGap()
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(useridtxt, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblid))
					.addPreferredGap(ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
					.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING, false)
						.addComponent(userleveltxt, 0, 0, Short.MAX_VALUE)
						.addComponent(label, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
					.addGap(18)
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(usernametxt, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)
						.addComponent(label_1))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(usersextxt, GroupLayout.PREFERRED_SIZE, 18, Short.MAX_VALUE)
						.addComponent(label_2))
					.addGap(18)
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(usernumbertxt, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)
						.addComponent(label_3))
					.addGap(18)
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(label_4, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
						.addComponent(useraddresstxt, GroupLayout.PREFERRED_SIZE, 24, GroupLayout.PREFERRED_SIZE))
					.addPreferredGap(ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
						.addComponent(button)
						.addComponent(button_1))
					.addGap(22))
		);
		panel.setLayout(gl_panel);
		getContentPane().setLayout(groupLayout);
		setFrameIcon(new ImageIcon(UserInfoJInternal.class.getResource("/Image/1245O0NQc20-4T61T.gif")));
		setTitle("\u7528\u6237\u8D44\u6599");
		setIconifiable(true);
		setClosable(true);
		setBounds(100, 100, 436, 468);
		this.FillMyUserInformation();
	}
	/**
	 * 对个人信息进行填充
	 */
	private void FillMyUserInformation() {
		String username=LoginFrm.username;
		String userpsw=LoginFrm.userpwd;
		Connection con=null;
		try {
			con=dbutil.getCon();
			User user=userdao.login(con, new User(username,userpsw,"操作员"));
			this.useridtxt.setText(user.getUserId());
			this.usernametxt.setText(user.getUserName());
			this.userleveltxt.setText(user.getUserLevel());
			this.usersextxt.setText(user.getUserSex());
			this.usernumbertxt.setText(user.getUserPhone());
			this.useraddresstxt.setText(user.getUserAddress());
			
		}catch(Exception e) {
			JOptionPane.showMessageDialog(null, "无法连接服务器");
		}finally {
			try {
				dbutil.closecon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿皮匹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值