剧院系统界面之用户界面

来源:互联网 发布:webapp 优化 编辑:程序博客网 时间:2024/04/28 22:33

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

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

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);elsejb.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);}}

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

2 0
原创粉丝点击