資源簡介
操作系統多線程的作業,模擬多個電梯的調度機制。使用jdk11開發環境。

代碼片段和文件信息
import?java.awt.Color;
import?java.awt.Container;
import?java.awt.Font;
import?java.awt.GridLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.KeyEvent;
import?java.awt.event.MouseAdapter;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JMenu;
import?javax.swing.JMenuBar;
import?javax.swing.JMenuItem;
import?javax.swing.JPanel;
import?javax.swing.border.MatteBorder;
import?javax.swing.plaf.basic.BasicArrowButton;
public?class?Listframe?extends?Jframe?implements?Runnable
{
private?static?int?floorNum?=?20;?//樓層數
private?static?int?elevatorNum?=?5;?//電梯數
private?SubThread[]?subThread;
//region?UI設計___________________________________________
Container?cp;
JPanel?floorPanel;
JButton[]?floorButton;?
BasicArrowButton[]?upButton;?
BasicArrowButton[]?downButton;?
JButton?dispUp?dispDown?dispFloor;
JMenuBar?menuBar;
JMenu?menu;
JMenuItem?chooses[]?=?{
//new?JMenuItem(“電梯數(N)“)?
//new?JMenuItem(“樓層數(N)“)
new?JMenuItem(“退出(X)“)};
Color?pressDownColor?=?Color.RED;
Color?unPressDownColor?=?Color.GRAY;
int[]?upState;?
int[]?downState;?
//#endregion______________________________________________
public?Listframe()
{
cp?=?this.getContentPane();
cp.setLayout(new?GridLayout(1?elevatorNum?+?1));
????????//region?floorPanel_________________________________________________
????????floorPanel?=?new?JPanel();?
floorPanel.setLayout(new?GridLayout(floorNum?+?1?3));
floorPanel.setBorder(new?MatteBorder(2?4?2?2?Color.yellow));
floorButton?=?new?JButton[floorNum];
upButton?=?new?BasicArrowButton[floorNum];
downButton?=?new?BasicArrowButton[floorNum];
dispFloor?=?new?JButton(“樓層“);
dispFloor.setEnabled(false);
dispUp?=?new?JButton(“上“);
dispUp.setEnabled(false);
dispDown?=?new?JButton(“下“);
dispDown.setEnabled(false);
floorPanel.add(dispFloor);
floorPanel.add(dispUp);
floorPanel.add(dispDown);
MouseListener?Listener?=?new?ButtonAction();?
for?(int?i?=?floorButton.length?-?1;?i?>=?0;?i--)
{
floorButton[i]?=?new?JButton(String.valueOf(i?+?1));
floorButton[i].setFont(new?Font(“Serif“?Font.BOLD?13));
floorButton[i].setEnabled(false);
upButton[i]?=?new?BasicArrowButton(BasicArrowButton.NORTH);
upButton[i].addMouseListener(Listener);
upButton[i].setBackground(unPressDownColor);
downButton[i]?=?new?BasicArrowButton(BasicArrowButton.SOUTH);
downButton[i].addMouseListener(Listener);
downButton[i].setBackground(unPressDownColor);
floorPanel.add(floorButton[i]);
floorPanel.add(upButton[i]);
floorPanel.add(downButton[i]);
}
cp.add(floorPanel);
????????//endregion___________________________________________________________
????????//region?menuBar______________________________________________________
menuBa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6246??2019-05-06?23:01??Listfr
?????文件????????842??2019-05-06?21:56??ListMain.java
?????文件???????6842??2019-05-06?23:01??SubThread.java
-----------?---------??----------?-----??----
????????????????13930????????????????????3
評論
共有 條評論