📄 userframe.java
字号:
package viewer;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Rectangle;
import java.awt.Color;
import javax.swing.JToolBar;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;
import java.awt.Insets;
import java.awt.SystemColor;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JTextPane;
import java.awt.GridBagLayout;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JOptionPane;
import controller.command.*;
import java.util.ArrayList;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* <p>Title: </p>
* 用户基础框架
* <p>Description: </p>
* 打开系统时的框架,用于选择试卷类型,和添加,删除,更新。
* 试卷属性是静态属性。
* 由此框架点击开始键可以到达子框架TestFrame,
* 点击添加,删除,更新可以到达子框架OperateFrame
*/
public class UserFrame extends JFrame {
//属性
static ArrayList test;//试卷
JPanel contentPane;
JPanel jPanel1 = new JPanel();
JToolBar jToolBar1 = new JToolBar();
TitledBorder titledBorder1 = new TitledBorder("");
JButton startButton = new JButton();
JButton nextButton = new JButton();
JButton submitButton = new JButton();
JButton endButton = new JButton();
JButton showscoreButton = new JButton();
JButton addButton = new JButton();
JButton updateButton = new JButton();
JButton removeButton = new JButton();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu openMenu = new JMenu();
JMenu testMenu = new JMenu();
JMenuItem startMenuItem = new JMenuItem();
JMenuItem nextMenuItem = new JMenuItem();
JMenuItem submitMenuItem = new JMenuItem();
JMenuItem endMenuItem = new JMenuItem();
JMenuItem showMenuItem = new JMenuItem();
JMenu OperateMenu = new JMenu();
JMenuItem addMenuItem = new JMenuItem();
JMenuItem updateMenuItem = new JMenuItem();
JMenuItem removeMenuItem = new JMenuItem();
JMenu difficultyMenu = new JMenu();
JCheckBoxMenuItem l1CheckBoxMenuItem1 = new JCheckBoxMenuItem();
JCheckBoxMenuItem l2CheckBoxMenuItem2 = new JCheckBoxMenuItem();
JCheckBoxMenuItem l3CheckBoxMenuItem3 = new JCheckBoxMenuItem();
JCheckBoxMenuItem l4CheckBoxMenuItem4 = new JCheckBoxMenuItem();
JCheckBoxMenuItem l5CheckBoxMenuItem5 = new JCheckBoxMenuItem();
JCheckBoxMenuItem reCheckBoxMenuItem6 = new JCheckBoxMenuItem();
/**
* constructor
*/
public UserFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
this.setJMenuBar(jMenuBar1);
setSize(new Dimension(525, 415));
setTitle("OLTS System");
Dimension dlgSize = this.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
this.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
//工具栏
jToolBar1.setBorder(BorderFactory.createEtchedBorder());
jToolBar1.setBounds(new Rectangle(2, 1, 477, 27));
jToolBar1.setLayout(new GridLayout(1, 8));
startButton.setBorder(BorderFactory.createRaisedBevelBorder());
startButton.setActionCommand("startButton");
startButton.setMargin(new Insets(2, 2, 2, 2));
startButton.setText("Start");
startButton.addActionListener(new
UserFrame_startMenuItem_actionAdapter(this));
nextButton.setBorder(BorderFactory.createRaisedBevelBorder());
nextButton.setActionCommand("nextButton");
nextButton.setMargin(new Insets(2, 2, 2, 2));
nextButton.setText("Next");
submitButton.setBorder(BorderFactory.createRaisedBevelBorder());
submitButton.setActionCommand("submitButton");
submitButton.setMargin(new Insets(2, 2, 2, 2));
submitButton.setText("Submit");
endButton.setBorder(BorderFactory.createRaisedBevelBorder());
endButton.setActionCommand("endButton");
endButton.setMargin(new Insets(2, 2, 2, 2));
endButton.setText("End");
endButton.addActionListener(new UserFrame_endButton_actionAdapter(this));
showscoreButton.setBorder(BorderFactory.createRaisedBevelBorder());
showscoreButton.setActionCommand("showscoreButton");
showscoreButton.setMargin(new Insets(2, 2, 2, 2));
showscoreButton.setText("ShowScore");
addButton.setBorder(BorderFactory.createRaisedBevelBorder());
addButton.setActionCommand("addButton");
addButton.setMargin(new Insets(2, 2, 2, 2));
addButton.setText("Add");
addButton.addActionListener(new UserFrame_addMenuItem_actionAdapter(this));
updateButton.setBorder(BorderFactory.createRaisedBevelBorder());
updateButton.setActionCommand("updateButton");
updateButton.setMargin(new Insets(2, 2, 2, 2));
updateButton.setText("Update");
updateButton.addActionListener(new
UserFrame_updateMenuItem_actionAdapter(this));
removeButton.setBorder(BorderFactory.createRaisedBevelBorder());
removeButton.setActionCommand("removeButton");
removeButton.setMargin(new Insets(2, 2, 2, 2));
removeButton.setText("Remove");
removeButton.addActionListener(new
UserFrame_removeMenuItem_actionAdapter(this));
//菜单
openMenu.setText("Open");
testMenu.setText("Test");
startMenuItem.setText("Start");
startMenuItem.addActionListener(new
UserFrame_startMenuItem_actionAdapter(this));
nextMenuItem.setText("Next");
submitMenuItem.setText("Submit");
endMenuItem.setText("End");
showMenuItem.setText("Show score");
endMenuItem.addActionListener(new UserFrame_endButton_actionAdapter(this));
OperateMenu.setText("Operate");
addMenuItem.setText("Add");
addMenuItem.addActionListener(new UserFrame_addMenuItem_actionAdapter(this));
updateMenuItem.setText("Update");
updateMenuItem.addActionListener(new
UserFrame_updateMenuItem_actionAdapter(this));
removeMenuItem.setText("Remove");
removeMenuItem.addActionListener(new
UserFrame_removeMenuItem_actionAdapter(this));
difficultyMenu.setText("Difficulty");
l1CheckBoxMenuItem1.setText("1");
l1CheckBoxMenuItem1.setActionCommand("1");
l1CheckBoxMenuItem1.addItemListener(new UserFrame_difficultyMenu_itemAdapter(this));
l2CheckBoxMenuItem2.setText("2");
l2CheckBoxMenuItem2.setActionCommand("2");
l2CheckBoxMenuItem2.addItemListener(new UserFrame_difficultyMenu_itemAdapter(this));
l3CheckBoxMenuItem3.setText("3");
l3CheckBoxMenuItem3.setActionCommand("3");
l3CheckBoxMenuItem3.addItemListener(new UserFrame_difficultyMenu_itemAdapter(this));
l4CheckBoxMenuItem4.setText("4");
l4CheckBoxMenuItem4.setActionCommand("4");
l4CheckBoxMenuItem4.addItemListener(new UserFrame_difficultyMenu_itemAdapter(this));
l5CheckBoxMenuItem5.setText("5");
l5CheckBoxMenuItem5.setActionCommand("5");
l5CheckBoxMenuItem5.addItemListener(new UserFrame_difficultyMenu_itemAdapter(this));
reCheckBoxMenuItem6.setText("Radom");
reCheckBoxMenuItem6.addItemListener(new
UserFrame_reCheckBoxMenuItem6_itemAdapter(this));
jPanel1.setBounds(new Rectangle( -1, 0, 505, 32));
jPanel1.setLayout(null);
jToolBar1.add(startButton);
jToolBar1.add(nextButton);
jToolBar1.add(submitButton);
jToolBar1.add(showscoreButton);
jToolBar1.add(endButton);
jToolBar1.add(addButton);
jToolBar1.add(removeButton);
jToolBar1.add(updateButton);
contentPane.add(jPanel1);
jPanel1.add(jToolBar1, null);
jMenuBar1.add(openMenu);
jMenuBar1.add(testMenu);
jMenuBar1.add(OperateMenu);
openMenu.add(difficultyMenu);
openMenu.add(reCheckBoxMenuItem6);
testMenu.add(startMenuItem);
testMenu.add(nextMenuItem);
testMenu.add(submitMenuItem);
testMenu.add(endMenuItem);
testMenu.add(showMenuItem);
OperateMenu.add(addMenuItem);
OperateMenu.add(updateMenuItem);
OperateMenu.add(removeMenuItem);
difficultyMenu.add(l1CheckBoxMenuItem1);
difficultyMenu.add(l2CheckBoxMenuItem2);
difficultyMenu.add(l3CheckBoxMenuItem3);
difficultyMenu.add(l4CheckBoxMenuItem4);
difficultyMenu.add(l5CheckBoxMenuItem5);
}
/**
* 菜单radom的处理,调用RadomCommand命令进行处理,将得到的符合条件的题目赋给试卷属性
* @param e ItemEvent 事件
*/
public void reCheckBoxMenuItem6_itemStateChanged(ItemEvent e) {
this.test = new ArrayList();
RadomCommand rc = new RadomCommand(this.test);
this.test = rc.excute();
}
/**
* 处理开始菜单和开始按钮,调用StartCommand命令来处理
* @param e ItemEvent
*/
public void startMenuItem_actionPerformed(ActionEvent e) {
// this.setVisible(false);
this.dispose();
StartCommand sc = new StartCommand(this.test);
sc.excute();
}
/**
* 处理添加菜单和添加按钮,将父框架销毁,生成子框架AddItem,进入子框架
* @param e ActionEvent 事件
*/
public void addMenuItem_actionPerformed(ActionEvent e) {
this.dispose();
UserFrame addFrame = new AddItem();
addFrame.setVisible(true);
}
/**
* 处理更新菜单项和更新按钮,将父框架销毁,生成子框架UpdateItem,进入子框架
* @param e ActionEvent 事件
*/
public void updateMenuItem_actionPerformed(ActionEvent e) {
this.dispose();
UserFrame upFrame = new UpdateItem();
upFrame.setVisible(true);
}
/**
* 处理删除菜单项和更新按钮,将父框架销毁,生成子框架RemoveItem,进入子框架
* @param e ActionEvent 事件
*/
public void removeMenuItem_actionPerformed(ActionEvent e) {
this.dispose();
UserFrame reFrame = new RemoveItem();
reFrame.setVisible(true);
}
/**
* 处理end菜单项和end按钮,销毁框架
* @param e ActionEvent 事件
*/
public void endButton_actionPerformed(ActionEvent e) {
this.dispose();
}
/**
* 处理菜单项difficulty,根据选择的不同难度组成试卷
* 调用DifficultyCommand来处理此命令,将得到的试卷赋给属性试卷
* @param e ItemEvent
*/
public void difficultyMenu_itemStateChanged(ItemEvent e) {
JCheckBoxMenuItem obj = (JCheckBoxMenuItem) e.getSource();
//勾选
if(obj.getState()== true){
DifficultyCommand dc = new DifficultyCommand(this.test);
this.test = dc.excute(obj.getActionCommand());
}
//不勾选,生成空白试卷
else this.test = new ArrayList();
}
}
///////////////////////////////////////////////////////////////////////////////////
class UserFrame_endButton_actionAdapter implements ActionListener {
private UserFrame adaptee;
UserFrame_endButton_actionAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.endButton_actionPerformed(e);
}
}
class UserFrame_addMenuItem_actionAdapter implements ActionListener {
private UserFrame adaptee;
UserFrame_addMenuItem_actionAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.addMenuItem_actionPerformed(e);
}
}
class UserFrame_updateMenuItem_actionAdapter implements ActionListener {
private UserFrame adaptee;
UserFrame_updateMenuItem_actionAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.updateMenuItem_actionPerformed(e);
}
}
class UserFrame_removeMenuItem_actionAdapter implements ActionListener {
private UserFrame adaptee;
UserFrame_removeMenuItem_actionAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.removeMenuItem_actionPerformed(e);
}
}
class UserFrame_startMenuItem_actionAdapter implements ActionListener {
private UserFrame adaptee;
UserFrame_startMenuItem_actionAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.startMenuItem_actionPerformed(e);
}
}
class UserFrame_reCheckBoxMenuItem6_itemAdapter implements ItemListener {
private UserFrame adaptee;
UserFrame_reCheckBoxMenuItem6_itemAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.reCheckBoxMenuItem6_itemStateChanged(e);
}
}
class UserFrame_difficultyMenu_itemAdapter implements ItemListener {
private UserFrame adaptee;
UserFrame_difficultyMenu_itemAdapter(UserFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.difficultyMenu_itemStateChanged(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -