?? 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>
* 用戶基礎(chǔ)框架
* <p>Description: </p>
* 打開系統(tǒng)時的框架,用于選擇試卷類型,和添加,刪除,更新。
* 試卷屬性是靜態(tài)屬性。
* 由此框架點擊開始鍵可以到達子框架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的處理,調(diào)用RadomCommand命令進行處理,將得到的符合條件的題目賦給試卷屬性
* @param e ItemEvent 事件
*/
public void reCheckBoxMenuItem6_itemStateChanged(ItemEvent e) {
this.test = new ArrayList();
RadomCommand rc = new RadomCommand(this.test);
this.test = rc.excute();
}
/**
* 處理開始菜單和開始按鈕,調(diào)用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,根據(jù)選擇的不同難度組成試卷
* 調(diào)用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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -