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(); 
	} 
}