剧院系统界面之用户界面

今天带来的是用户界面,这个是我们小组的主要战斗力——马某同学写的,我觉得他写的特点就是风格统一,层次清晰。

首先是主界面,这个欢迎试用本系统是左右一直缓慢移动的,很不错


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class MainFrame {
	GridBagLayout  layout=new  GridBagLayout();
	GridBagConstraints gbc=new GridBagConstraints();
	JMenuBar menubar1 = new JMenuBar();
	JMenu menu1=new JMenu("票务管理");
	JMenu menu2=new JMenu("会员管理");
	JMenu menu5=new JMenu("信息服务");
	JMenu menu6=new JMenu("用户设置");
	JMenuItem menu1Item1=new JMenuItem("售票");
	JMenuItem menu1Item2=new JMenuItem("退票");
	JMenuItem menu2Item1=new JMenuItem("会员注册");
	JMenuItem menu2Item2=new JMenuItem("信息管理");
	JMenuItem menu5Item1=new JMenuItem("版本信息");
	JMenuItem menu5Item2=new JMenuItem("使用帮助");
	JMenuItem menu6Item1=new JMenuItem("修改密码");
	JFrame jf=new JFrame("剧院票务管理系统");
    static JPanel jp=new JPanel(new GridLayout(1,1));
	Toolkit kit=Toolkit.getDefaultToolkit();
	Dimension  screeSize=kit.getScreenSize();
	static JScrollPane  js;
	public MainFrame(){
		 menu1.add(menu1Item1);
		 menu1.add(menu1Item2);
		 menu2.add(menu2Item1);
		 menu2.add(menu2Item2);
		 menu5.add(menu5Item1);
		 menu5.add(menu5Item2);
		 menu6.add(menu6Item1); 
		 menubar1.add(menu1);
		 menubar1.add(menu2);
		 menubar1.add(menu5);
		 menubar1.add(menu6);
		 jf.setJMenuBar(menubar1);
		 jp.add(new BackGround());
		 jf.add(jp);
		 jf.setSize(screeSize.width, screeSize.height);
		 jf.setVisible(true);
		 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		 menu1Item1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
			    jp.removeAll();
				jp.updateUI();
				js=new JScrollPane(new Sell());
				jp.add(js);
			} 
		 });
		 menu1Item2.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					jp.removeAll();
					jp.updateUI();
					js=new JScrollPane(new Return());
					jp.add(js);
				} 
		 });
		 menu2Item1.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					
					jp.removeAll();
					jp.updateUI();
					jp.add(new MemberRegister());
				} 
		});
		 menu2Item2.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					
					jp.removeAll();
					jp.updateUI();
					jp.add(new InforManage());
				} 
		});
		 menu5Item1.addActionListener(new ActionListener(){
			 
			public void actionPerformed(ActionEvent e) {
				
				jp.removeAll();
				jp.updateUI();
				jp.add(new Infor());
			}
			 
		 });
		 menu5Item2.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
				
					jp.removeAll();
					jp.updateUI();
					jp.add(new Help());
				}
				 
		 }); 
		 menu6Item1.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
				
					jp.removeAll();
					jp.updateUI();
					jp.add(new ChangeTW());
				}
				 
		 }); 
	}
}



import java.awt.*;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ImageObserver;

import javax.print.DocFlavor.URL;
import javax.swing.*;
import 剧院管理界面.MainFrame;

public  class BackGround extends JPanel{
	String text="欢迎使用本系统";
	Toolkit kit=Toolkit.getDefaultToolkit();
	Dimension  screeSize=kit.getScreenSize();
	int x=0;

	public BackGround(){
		Timer time=new Timer(500,new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				repaint();
			}	
		});
		time.start();
		
	}
	protected void paintComponent(Graphics g){
		int a=MainFrame.jp.getHeight();
		int y=a/2;
		ImageIcon icon=new ImageIcon("F:/人机界面第一次设计/成果/Picture/背景.jpg");
		super.paintComponent(g);
		g.setColor(Color.RED);
		g.setFont(new Font("宋体",Font.BOLD,40));
		ImageObserver ll = null;
		g.drawImage(icon.getImage(),0,0,MainFrame.jp.getWidth(),MainFrame.jp.getHeight(),ll);
		g.drawString(text, x, y);
		if(x>=MainFrame.jp.getWidth()){
			x=0;
		}
		x+=5;
	}
}

然后呢,每个功能键都是


点击上去基本都是如此,执行每个功能后都出现相应的界面,这里先举:


package 剧院管理界面;

import java.awt.*;
import java.awt.image.ImageObserver;
import java.net.URL;

import javax.swing.*;
import javax.swing.border.EtchedBorder;

public class MemberRegister extends JPanel{
	String[] memberType=new String[]{"普通会员","黄金会员","钻石会员"};
	JLabel jl1=new JLabel("用户姓名:");
	JLabel jl2=new JLabel("用户账号:");
	JLabel jl3=new JLabel("用户类型:");
	JLabel jl4=new JLabel("用户余额:");

	JTextField jt1=new JTextField(10);
	JTextField jt2=new JTextField(10);
	JTextField jt4=new JTextField(10);
	JPanel jp1=new JPanel();
	GridBagLayout layout=new  GridBagLayout();
	GridBagConstraints gbc=new GridBagConstraints();
	JPanel jp2=new JPanel(new FlowLayout());
	JPanel jpanel=new JPanel();
	JButton button=new JButton("立即注册");
	JComboBox box = new JComboBox();
	public MemberRegister(){
		jl1.setFont(new Font("宋体",Font.ITALIC,20));
		jl2.setFont(new Font("宋体",Font.ITALIC,20));
		jl3.setFont(new Font("宋体",Font.ITALIC,20));
		jl4.setFont(new Font("宋体",Font.ITALIC,20));
		jt1.setFont(new Font("宋体",Font.ITALIC,20));
		jt2.setFont(new Font("宋体",Font.ITALIC,20));
		jt4.setFont(new Font("宋体",Font.ITALIC,20));
		box.setFont(new Font("宋体",Font.ITALIC,20));
		button.setFont(new Font("宋体",Font.ITALIC,20));

		//button.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
		button.setBackground(Color.BLUE);
		for(int i=0;i<memberType.length;i++)
			box.addItem(memberType[i]);
		jp1.setLayout(layout);
		gbc.gridx=0;
		gbc.gridy=0;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jl1,gbc);
		gbc.gridx=1;
		gbc.gridy=0;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jt1,gbc);
		gbc.gridx=0;
		gbc.gridy=1;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jl2,gbc);
		gbc.gridx=1;
		gbc.gridy=1;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jt2,gbc);
		gbc.gridx=0;
		gbc.gridy=2;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jl3,gbc);
		gbc.gridx=1;
		gbc.gridy=2;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(box,gbc);
		gbc.gridx=0;
		gbc.gridy=3;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jl4,gbc);
		gbc.gridx=1;
		gbc.gridy=3;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jp1.add(jt4,gbc);
		jp2.add(button);
		jpanel.setLayout(layout);
		gbc.gridx=0;
		gbc.gridy=0;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jpanel.add(jp1,gbc);
		gbc.gridx=0;
		gbc.gridy=1;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		jpanel.add(jp2,gbc);
		jp1.setOpaque(false);
		jp2.setOpaque(false);
		jpanel.setOpaque(false);
		setLayout(layout);
		gbc.gridx=0;
		gbc.gridy=0;
		gbc.gridwidth=1;
		gbc.gridheight=1;
		add(jpanel,gbc);
	}
	protected void paintComponent(Graphics g){
		ImageIcon icon=new ImageIcon("F:/人机界面第一次设计/成果/Picture/主背景.jpg");
		super.paintComponent(g);
		ImageObserver ll = null;
		g.drawImage(icon.getImage(),0,0,MainFrame.jp.getWidth(),MainFrame.jp.getHeight(),ll);
		
	}
}

这个就是点击会员管理里面的会员注册之后出现的。

那么重点就是接下来的购票


点击票务管理的售票,首先出来的是电影信息界面,点击购买进入选座位界面,在点击需要的座位后,图票由灰色变为绿色,最后点击立即购买计科


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.ImageObserver;
import java.net.URL;
import java.util.*;

import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.event.ListSelectionEvent;

public class Sell extends JPanel{
	Toolkit kit=Toolkit.getDefaultToolkit();
	Dimension  screeSize=kit.getScreenSize();
	GridBagLayout layout=new  GridBagLayout();
	GridBagConstraints gbc=new GridBagConstraints();
	ImageIcon icon1=new ImageIcon("F:/人机界面第一次设计/成果/Picture/按钮.png");
	String[] names={"今日上线","放映时间","放映大厅","电影售价","点击购票"};
	String[][] infor={{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"},
			{"111","2016-4-3","8号厅","30"}
			};

	JLabel[] jl=new JLabel[names.length];
	JButton[] jb=new JButton[infor.length];
	JTextField[][] jt=new JTextField[infor.length][infor[0].length];
	public Sell() {
		int i=0,j=0;
		int m=0,n=0;
		setLayout(layout);
		for(i=0;i<names.length;i++)
		{
			gbc.gridx=m;
			gbc.gridy=n;
			gbc.gridwidth=1;
			gbc.gridheight=1;
			jl[i]=new JLabel(names[i]);
			jl[i].setOpaque(false);
			add(jl[i],gbc);
			m++;
		}
		for(i=0;i<infor.length;i++)
		{
			for(j=0;j<infor[0].length;j++)
			{
				jt[i][j]=new JTextField(10);
				jt[i][j].setText(infor[i][j]);
				jt[i][j].setEditable(false);
				jt[i][j].setOpaque(false);
	
				gbc.gridx=j;
				gbc.gridy=i+1;
				gbc.gridwidth=1;
				gbc.gridheight=1;
				add(jt[i][j], gbc);
			}
		}
		for(i=0;i<infor.length;i++)
		{
			gbc.gridx=m-1;
			gbc.gridy=i+1;
			gbc.gridwidth=1;
			gbc.gridheight=1;
			jb[i]=new JButton("购买");
			jb[i].setIcon(icon1);
			jb[i].setHorizontalTextPosition(JButton.CENTER);
			jb[i].setMargin(new Insets(0,0,0,0));
			jb[i].addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					MainFrame.jp.removeAll();
					MainFrame.jp.updateUI();
					JScrollPane js=new JScrollPane(new OnlineSeat());
					MainFrame.jp.add(js);
					
				}
				
			});
			jb[i].setOpaque(false);
			add(jb[i], gbc);
		}
	}
	protected void paintComponent(Graphics g){
		int x=screeSize.width;
		int y=screeSize.height;
		ImageIcon icon=new ImageIcon("F:/人机界面第一次设计/成果/Picture/主背景.jpg");
		super.paintComponent(g);
		g.drawImage(icon.getImage(),0,0,x,y,this);
	}
}

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.EtchedBorder;

public class OnlineSeat extends JPanel{
	Toolkit kit=Toolkit.getDefaultToolkit();
	Dimension  screeSize=kit.getScreenSize();
	static GridBagLayout layout=new  GridBagLayout();
	static GridBagConstraints gbc=new GridBagConstraints();
	JButton[][] jb=new JButton[10][10];
	JLabel[] jl=new JLabel[jb.length];
	ImageIcon icon1=new ImageIcon("F:/人机界面第一次设计/成果/Picture/座位.png");
	ImageIcon icon2=new ImageIcon("F:/人机界面第一次设计/成果/Picture/座位1.png");
	ImageIcon icon3=new ImageIcon("F:/人机界面第一次设计/成果/Picture/立即购买.png");
	int i,j;
	JButton buy=new JButton("立即购买");

	public OnlineSeat(){
		buy.setIcon(icon3);
		buy.setHorizontalTextPosition(JButton.LEFT);
		buy.setBorderPainted(false);
		buy.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				MainFrame.jp.removeAll();
				MainFrame.jp.updateUI();
				MainFrame.jp.add(new SellInfor());
			}
			
		});
		
		setLayout(layout);
		JLabel jlabel=new JLabel("屏幕中央",SwingConstants.CENTER);
		jlabel.setFont(new Font("",Font.CENTER_BASELINE,30));
		jlabel.setForeground(Color.gray);
		for(i=0;i<jb.length;i++){
			jl[i]=new JLabel("第"+(i+1)+"排");
			gbc.gridx=0;
	    	gbc.gridy=i+1;
	    	gbc.gridwidth=1;
	    	gbc.gridheight=1;
	    	add(jl[i],gbc);
			for(j=0;j<jb[0].length;j++){
				jb[i][j]=new JButton();
				jb[i][j].setIcon(icon1);
				jb[i][j].setMargin(new Insets(0,0,0,0));
				jb[i][j].setOpaque(false);
				jb[i][j].setBorderPainted(false);
				jb[i][j].addActionListener(new MyListener());
				gbc.gridx=j+1;
		    	gbc.gridy=i+1;
		    	gbc.gridwidth=1;
		    	gbc.gridheight=1;
		    	add(jb[i][j],gbc);
			}
			gbc.gridx=(j+1)/2;
	    	gbc.gridy=0;
	    	gbc.gridwidth=1;
	    	gbc.gridheight=1;
	    	add(jlabel,gbc);
			gbc.gridx=(j+1)/2;
	    	gbc.gridy=i+2;
	    	gbc.gridwidth=1;
	    	gbc.gridheight=1;
	    	add(buy,gbc);
		}
	}
	class MyListener implements ActionListener{

		public void actionPerformed(ActionEvent e) {
			JButton jb=(JButton) e.getSource();
			if(jb.getIcon()==icon1)
			jb.setIcon(icon2);
			else
				jb.setIcon(icon1);
		}
		
	}
	protected void paintComponent(Graphics g){
		int x=screeSize.width;
		int y=screeSize.height;
		ImageIcon icon=new ImageIcon("F:/人机界面第一次设计/成果/Picture/座位背景.jpg");
		super.paintComponent(g);
	
		g.drawImage(icon.getImage(),0,0,x,y,this);

	}
	
}


因为有几个界面的模式是和管理员界面的是一样的,这里就不一一列举代码了。有时很多设计都是大同小异的,就是看创新在什么地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值