📄 filmhiresystem.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Date;
import javax.swing.border.BevelBorder;
public class FilmHireSystem extends JFrame
{
static ResultSetTableModel tableModel;
final Font font = new Font("宋体", Font.PLAIN, 12);
final Font font2 = new Font("华文新魏", Font.PLAIN, 25);
protected Container pane;
protected JMenuBar menuBar;
protected String menuNames[][] = {
{"资料维护", "碟片维护", "出租类别设置", "会员资料维护", ""},
{"业务办理", "出租", "还碟", "", ""},
{"信息查询", "库存查询", "出租排行榜", "", ""},
{"帮助", "关于", "退出", "", ""}
};
protected JMenu mainMenu[] = new JMenu[menuNames.length];
protected JMenuItem menuItem[][] = new JMenuItem[menuNames.length][menuNames[0].length - 1];
protected JToolBar toolBar;
protected JButton button[] = new JButton[7];
protected String buttonNames[] = {"in.png", "hire.png", "back.png", "admin.png", "search.png", "Calculator.png", "exit.png"};
protected String buttonText[] = {"进碟", "出租", "还碟", "会员维护", "库存查询", "计算器", "退出"};
protected JPanel workPanel, statePanel, cardPanel;
protected CardLayout cards;
protected JLabel stateLabel[] = new JLabel[5];
protected Calculator cal = null;
protected String state[] = new String[5];
public FilmHireSystem(String admin)
{
super("影片出租系统 V1.0");
state[1] = "当前用户:" + admin;
addMeun();
pane = getContentPane();
addToolBar();
addWorkPanel();
addStatePanel();
setSize(800, 635);
setLocation();
setVisible(true);
System.out.println("系统登录成功!");
this.addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
exitSystem();
}
}
);
}
private void addMeun()
{
menuBar = new JMenuBar();
for(int i = 0; i < mainMenu.length; i ++)
{
mainMenu[i] = new JMenu(menuNames[i][0]);
mainMenu[i].setFont(font);
for(int j = 0; j < menuItem[0].length; j ++)
{
if(! menuNames[i][j+1].equals(""))
{
menuItem[i][j] = new JMenuItem(menuNames[i][j+1]);
menuItem[i][j].setFont(font);
menuItem[i][j].addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
JMenuItem item = (JMenuItem)event.getSource();
stop2: for (int i = 0; i<mainMenu.length; i++)
{
for(int j = 0; j < menuItem[0].length; j ++)
{
if(! menuNames[i][j+1].equals("") && menuItem[i][j].equals(item))
{
switch(i * menuItem[0].length + j)
{
case 0:
if(! (workPanel.getComponent(0) instanceof CDAdminPanel))
{
addPanel(new CDAdminPanel(false));
}
break stop2;
case 1:
if(! (workPanel.getComponent(0) instanceof HireTypeSetPanel))
{
addPanel(new HireTypeSetPanel());
}
break stop2;
case 2:
if(! (workPanel.getComponent(0) instanceof UserPanel))
{
addPanel(new UserPanel());
}
break stop2;
case 4:
addPanel(new HirePanel());
break stop2;
case 5:
addPanel(new GiveBackPanel());
break stop2;
case 8:
if(! (workPanel.getComponent(0) instanceof SearchPanel))
{
addPanel(new SearchPanel());
}
break stop2;
case 9:
if(! (workPanel.getComponent(0) instanceof HireTaxisPanel))
{
addPanel(new HireTaxisPanel());
}
break stop2;
case 12:
new AboutDialog(FilmHireSystem.this);
break stop2;
case 13:
exitSystem();
break stop2;
}
}
}
}
}
}
);
mainMenu[i].add(menuItem[i][j]);
}
}
menuBar.add(mainMenu[i]);
}
setJMenuBar(menuBar);
}
private void setLocation()
{
Dimension size = getSize();
int x,y;
x = (1024 - size.width) / 2;
y = (768 - size.height) / 2;
this.setLocation(x, y);
}
private void addToolBar()
{
toolBar = new JToolBar();
for(int i = 0; i < button.length; i ++)
{
button[i] = new JButton(new ImageIcon(buttonNames[i]));
button[i].setFont(font);
button[i].setHorizontalTextPosition(SwingConstants.CENTER);
button[i].setVerticalTextPosition(SwingConstants.BOTTOM);
button[i].setText(buttonText[i]);
button[i].addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
JButton eventButton = (JButton)event.getSource();
stop1: for (int i = 0; i<button.length; i++)
{
if(button[i].equals(eventButton))
{
switch(i)
{
case 0:
if(! (workPanel.getComponent(0) instanceof CDAdminPanel))
{
addPanel(new CDAdminPanel(true));
}
break stop1;
case 1:
addPanel(new HirePanel());
break stop1;
case 2:
addPanel(new GiveBackPanel());
break stop1;
case 3:
if(! (workPanel.getComponent(0) instanceof UserPanel))
{
addPanel(new UserPanel());
}
break stop1;
case 4:
if(! (workPanel.getComponent(0) instanceof SearchPanel))
{
addPanel(new SearchPanel());
}
break stop1;
case 5:
if(cal == null)
{
cal = new Calculator(FilmHireSystem.this);
}
if(cal.isVisible())
{
cal.setVisible(false);
}
else
{
cal.setVisible(true);
}
break stop1;
case 6:
exitSystem();
break stop1;
}
}
}
}
}
);
toolBar.add(button[i]);
if(i == 2 || i == 4) toolBar.addSeparator();
}
toolBar.setOrientation(JToolBar.VERTICAL);
toolBar.setFloatable(false);
pane.add(toolBar, BorderLayout.WEST);
}
private void addWorkPanel()
{
workPanel = new JPanel();
workPanel.setLayout(new BorderLayout());
workPanel.add(new SearchPanel(), BorderLayout.NORTH);
pane.add(workPanel, BorderLayout.CENTER);
}
private void addStatePanel()
{
statePanel = new JPanel();
statePanel.setLayout(new GridLayout(1, 3, 3, 3));
for (int i = 0; i<stateLabel.length; i++)
{
stateLabel[i] = new JLabel(state[i]);
stateLabel[i].setFont(font);
stateLabel[i].setHorizontalAlignment(JLabel.CENTER);
stateLabel[i].setBorder(BorderFactory.createBevelBorder( BevelBorder.LOWERED ));
}
statePanel.add(stateLabel[0]);
JPanel panel[] = new JPanel[2];
for (int i = 0; i<panel.length; i++)
{
panel[i] = new JPanel();
panel[i].setLayout(new GridLayout(1, 2, 3, 3));
panel[i].add(stateLabel[i * 2 + 1]);
panel[i].add(stateLabel[i * 2 + 2]);
statePanel.add(panel[i]);
}
pane.add(statePanel, BorderLayout.SOUTH);
}
private void exitSystem()
{
if(JOptionPane.showConfirmDialog(this, "是否退出系统", "退出系统",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.OK_OPTION)
{
tableModel.disconnectFromDatabase();
System.out.println("成功退出系统!");
System.exit(0);
}
else
{
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
private void addPanel(JPanel panel)
{
workPanel.removeAll();
workPanel.setSize(0, 0);
workPanel.add(panel, BorderLayout.NORTH);
workPanel.updateUI();
}
public static String getTime()
{
String time = "";
Date d = new Date();
time = (d.getYear() + 1900) + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " +
d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
return time;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -