资源简介
JAVA实现的银行家算法 做了ui有界面,原本来源于网络,但是自己做了修改!适合用于对付老师的大实验!

代码片段和文件信息
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class AddProcess extends JDialog implements ActionListener {
private static final long serialVersionUID = -4063443304983396100L;
public static boolean InputEffiencent = true;
public static boolean InputError = false;
private JButton okButton;
private JButton cancelButton;
private JTextField processName;
private JTextField[] textMaxNeed;
private JTextField[] textAllocated;
private int[] maxNeed = null;
private int[] allocated = null;
private String name;
private boolean returnResult = InputError; // InputEffiencent InputError.
private final int lineHeight = 35;
private final int width = 65;
public AddProcess(Jframe owner int resourceClassesCount) {
super(owner “添加新进程“ true);
textMaxNeed = new JTextField[resourceClassesCount];
textAllocated = new JTextField[resourceClassesCount];
maxNeed = new int[resourceClassesCount];
allocated = new int[resourceClassesCount];
processName = new JTextField();
JPanel panel = new JPanel(new GridLayout(resourceClassesCount + 3 3));
panel.add(new JLabel(“进程名“));
panel.add(processName);
panel.add(new JLabel()); // 站位作用.
panel.add(new JLabel(“资源名“)); // 站位作用.
panel.add(new JLabel(“Max“));
panel.add(new JLabel(“Allocation“));
for (int i = 0; i < resourceClassesCount; i++) {
String resourceName = “资源R“ + String.valueOf(i) + “:“;
panel.add(new JLabel(resourceName));
textMaxNeed[i] = new JTextField();
panel.add(textMaxNeed[i]);
textAllocated[i] = new JTextField();
panel.add(textAllocated[i]);
}
panel.add(new JLabel()); // 站位作用.
okButton = new JButton(“确定“);
okButton.addActionListener(this);
panel.add(okButton);
cancelButton = new JButton(“取消“);
cancelButton.addActionListener(this);
panel.add(cancelButton);
this.getContentPane().add(panel);
setBounds();
}
public void setBounds() {
this.setBounds(getX() getY() width * 3 + width + 100 lineHeight
* (textMaxNeed.length + 3));
this.setLocationRelativeTo(this.getOwner());
}
private void setProcess() {
if (setName() && setMaxNeed() && setAllocated()) {
for (int i = 0; i < maxNeed.length; i++) {
if (maxNeed[i] < allocated[i]) {
returnResult = InputError;
JOptionPane.showMessageDialog(this “进程已分配资源量大于进程所需资源最大量!“);
return;
}
}
returnResult = InputEffiencent;
}
}
private boolean setName() {
returnResult = InputEffiencent;
name = processName.getText().trim();
if (name.isEmpty()) {
JOptionPane.showMessageDialog(this “进程名不能为空!“);
returnResult = InputError;
return returnResult;
}
processName.setText(““);
return returnResu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2014-01-07 03:38 Banker Algorithm\.classpath
文件 392 2014-01-07 03:38 Banker Algorithm\.project
文件 598 2014-01-07 03:38 Banker Algorithm\.settings\org.eclipse.jdt.core.prefs
文件 5108 2014-01-07 04:32 Banker Algorithm\bin\AddProcess.class
文件 3922 2014-01-07 04:32 Banker Algorithm\bin\AddResource.class
文件 10685 2014-01-07 04:32 Banker Algorithm\bin\BankerMainUI.class
文件 8806 2014-01-07 04:32 Banker Algorithm\bin\BankersAlgorithm.class
文件 4239 2014-01-07 04:20 Banker Algorithm\bin\RequestResource.class
文件 4514 2014-01-07 04:32 Banker Algorithm\bin\SystemProcess.class
文件 4961 2014-01-07 04:32 Banker Algorithm\src\AddProcess.java
文件 2992 2014-01-07 04:32 Banker Algorithm\src\AddResource.java
文件 11726 2014-01-07 04:32 Banker Algorithm\src\BankerMainUI.java
文件 7761 2014-01-07 04:32 Banker Algorithm\src\BankersAlgorithm.java
文件 3411 2014-01-07 04:20 Banker Algorithm\src\RequestResource.java
文件 3973 2014-01-07 04:32 Banker Algorithm\src\SystemProcess.java
目录 0 2014-01-07 05:26 Banker Algorithm\.settings
目录 0 2014-01-07 05:26 Banker Algorithm\bin
目录 0 2014-01-07 05:26 Banker Algorithm\src
目录 0 2014-01-07 05:26 Banker Algorithm
----------- --------- ---------- ----- ----
73389 19
- 上一篇:Android调用WPS
- 下一篇:个人博客实训报告
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论