www.pudn.com > program.rar > Tu.java
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class Tu extends JFrame{
Container c;
JMenuBar jmb;
JMenu jm;
JMenuItem sl;
JPanel p1,p1t1,p3,p3s,p3st1,p3t1,p3t2,p4,p5,pg;
Box p2,p4t1,p5t1;
JLabel pid;
JLabel pidr;
JLabel sup;
JLabel supr;
JLabel rtime;
JLabel rtimer;
JLabel ares;
JLabel hresr;
JLabel rs;
JLabel add;
JLabel cpu;
JLabel msg;
JLabel rres;
JLabel select;
JLabel rstore;
JTextField tpid;
JTextField tpidr;
JTextField tsup;
JTextField tsupr;
JTextField trtime;
JTextField trtimer;
JTextField tares;
JTextField thresr;
JTextField trs;
JTextField tadd;
JTextField trres;
JTextField trstore;
JButton sub,run,hang,rhang,hangr;
DefaultListModel mr,mw,ms,mh;
JList jlr,jlw,jls,jlh;
JComboBox jcb;
JProgressBar jpb,jpbv,jpbr;
String [] sItem = {"银行家算法","随机算法"};
Queue queue = new Queue(this);
RunThread rt;
Pcb phang = null;
JList jlhang;
boolean crcontrol,cscontrol;
public int xRes = 10;
public int xaRes = 10;
public int timeslice = 4000;
public int astore = 100;
public Tu() {
super("进程模拟程序");
c = getContentPane();
c.setLayout(new BorderLayout(1,2));
jmb = new JMenuBar();
jm = new JMenu("打开");
sl = new JMenuItem("示例运行");
p1 = new JPanel();
p2 = Box.createVerticalBox();
p4t1 = Box.createVerticalBox();
p5t1 = Box.createVerticalBox();
Box.createVerticalStrut(2);
p1t1 = new JPanel();
p3 = new JPanel();
p3s = new JPanel();
p3st1 = new JPanel();
p3t1 = new JPanel();
p3t2 = new JPanel();
p4 = new JPanel();
p5 = new JPanel();
pg = new JPanel();
p1t1.setLayout(new FlowLayout(FlowLayout.LEFT));
p1.setLayout(new BorderLayout(1,2));
p3.setLayout(new BorderLayout(1,2));
p3s.setLayout(new BorderLayout(1,2));
p3st1.setLayout(new FlowLayout(FlowLayout.CENTER));
p3t1.setLayout(new FlowLayout(FlowLayout.LEFT));
p3t2.setLayout(new BorderLayout(1,2));
p4.setLayout(new BorderLayout(1,2));
p5.setLayout(new BorderLayout(1,2));
cpu = new JLabel(" CPU");
msg = new JLabel("当前运行的进程");
pid = new JLabel("PID");
pidr = new JLabel(" PID");
sup = new JLabel("优先级");
supr = new JLabel("优先级");
rtime = new JLabel("要求运行时间");
rtimer = new JLabel("要求运行时间");
ares = new JLabel("资源需求总量");
hresr = new JLabel("已占有资源");
rs = new JLabel("所需主存");
add = new JLabel("主存地址");
rres = new JLabel("剩余资源");
select = new JLabel("资源分配算法");
rstore = new JLabel("主存剩余");
tpid = new JTextField(6);
tpidr = new JTextField(10);
tsup = new JTextField(3);
tsupr = new JTextField(5);
trtime = new JTextField(7);
trtimer = new JTextField(10);
tares = new JTextField(3);
thresr = new JTextField(5);
trs = new JTextField(3);
tadd = new JTextField(5);
trres = new JTextField();
trstore = new JTextField();
sub = new JButton("提交");
run = new JButton("运行");
hang = new JButton("挂起");
rhang = new JButton("解挂");
hangr = new JButton("挂起当前进程");
mr = new DefaultListModel();
mw = new DefaultListModel();
ms = new DefaultListModel();
mh = new DefaultListModel();
jlr = new JList(mr);
jlr.setBorder(BorderFactory.createTitledBorder("就绪队列"));
jlr.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
Tu.this.phang = (Pcb) jlr.getSelectedValue();
jlhang = (JList) e.getSource();
}
});
jlw = new JList(mw);
jlw.setBorder(BorderFactory.createTitledBorder("等待队列"));
jls = new JList(ms);
jls.setBorder(BorderFactory.createTitledBorder("后备队列"));
jls.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
Tu.this.phang = (Pcb)jls.getSelectedValue();
jlhang = (JList) e.getSource();
}
});
jlh = new JList(mh);
jlh.setBorder(BorderFactory.createTitledBorder("挂起队列"));
jlh.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
Tu.this.phang = (Pcb)jlh.getSelectedValue();
jlhang = (JList) e.getSource();
}
});
jcb = new JComboBox();
for(int i=0;i v, DefaultListModel d) {
d.clear();
for (int i = 0; i < v.size(); i++) {
d.addElement(v.elementAt(i));
}
}
public static void main(String [] args){
try {
UIManager.setLookAndFeel(new org.jvnet.substance.SubstanceLookAndFeel());
} catch (Exception e) {
System.err.println("Something went wrong!");
}
new Tu();
}
}