• 大小: 31KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Java
  • 标签: java  ui界面  

资源简介

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


评论

共有 条评论