亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bank.java

?? 操作系統銀行家算法模擬 模擬銀行家算法
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package bankPackage;
import java.awt.*;
import java.awt.List;
import java.awt.event.*;

import javax.swing.*;
import java.util.*;
import javax.swing.table.*;
public class bank extends JFrame implements ActionListener{
     
	 String string;
	 JTextField requestAlternate;
	 int repuestAlternate;
     JTextField proceNumberText,sourceNumberText;
     int proceNumber,sourceNumber;
     JTextField maxTextField[];
     int max[][];
     JTextField AllocationTextField[];
     int allocation[][];
     JTextField requestTextField;
     int request[];
     JTextField needJTextField;
     int need[][];
     JTextField systemJTextField;
     int system[],systemF[];
     JPanel MaxPanel,AllocationPanel;
     JButton firstFrameSureButton,secondFrameSureButton,nextButton,resultButton,frame3Button,testButton;
     JFrame firstFrame,secondFrame,thirdFrame;
     JTable table;
     Vector rowData,columnNames,vectorAll[],vectorAllF;
     static int finall=0;
     int Process[];
     DefaultTableModel modle;
     JPanel rightPanel,leftPanel,thirdPanel2;
     JList list;
     JLabel label1;
     public bank()
     {
    	 //主窗口
    	 firstFrame=new JFrame("銀行家算法的模擬");
    	 Container c=firstFrame.getContentPane();
    	 c.setLayout(new GridLayout(6,1));
    	 
    	 //創建第一個面板
    	 JPanel panel1=new JPanel(new FlowLayout());
    	 requestTextField=new JTextField(10);
    	 systemJTextField=new JTextField(10);
    	 requestAlternate=new JTextField(10); 
    	 //creat logopanel
    	 JPanel logoPanel=new JPanel(new FlowLayout());
    	 Icon icon=new ImageIcon("E:/myjava/bank.JPG");
    	 JLabel logoLabel=new JLabel(icon);///////////////////////
         logoPanel.add(logoLabel);
         c.add(logoPanel);
         //creat panel
    	 JLabel l1=new JLabel("     request 矩陣: ");
    	 panel1.add(l1);
    	 panel1.add(requestTextField);
    	 panel1.add(new JLabel("     請求進程:"));
    	 panel1.add(requestAlternate);
    	 JLabel l2=new JLabel("     system 矩陣: ");
    	 panel1.add(l2);
    	 panel1.add(systemJTextField); 
    	 panel1.setBorder(BorderFactory.createLineBorder(Color.darkGray));
    	 //creat new panel
    	 JPanel panelMaxAndAllocation=new JPanel(new GridLayout(1,2));
    	 JLabel l3=new JLabel("MAX 矩陣:");
    	 panelMaxAndAllocation.add(l3);
    	 JLabel l4=new JLabel("Allocation 矩陣");
    	 panelMaxAndAllocation.add(l4);
    	 c.add(panel1);
    	 c.add(panelMaxAndAllocation);
    	 
    	 //將第二個面板加入
    	 JPanel panel2=new JPanel(new GridLayout(1,2));
    	 panel2.setBorder(BorderFactory.createLineBorder(Color.darkGray));
    	 leftPanel=new JPanel();
    	 rightPanel=new JPanel();
    	 leftPanel.setBorder(BorderFactory.createLineBorder(Color.darkGray));
    	 panel2.add(leftPanel);
    	 rightPanel.setBorder(BorderFactory.createLineBorder(Color.darkGray));
    	 panel2.add(rightPanel);
    	 c.add(panel2);
    	 
    	 //構建帶有滾動條的panel
 		 rowData=new Vector(100);
		 columnNames=new Vector(100);
			vectorAllF=new Vector();
	     columnNames.addElement("進程/資源情況");
		 columnNames.addElement("Max");
		 columnNames.addElement("Allocation");
		 columnNames.addElement("Need");
		 columnNames.addElement("Available");
		 modle= new DefaultTableModel(rowData,columnNames);
		 table=new JTable(modle);
		 table.setFont(new Font("TimeRoman",Font.ITALIC,17));
		 table.setForeground(Color.darkGray);
		 table.setRowHeight(25);
		 JScrollPane panel3 = new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		 panel3.setBorder(BorderFactory.createLineBorder(Color.darkGray));
		 c.add(panel3);
		 
		 //creat buttonPanel
		 firstFrameSureButton=new JButton("確  定");
		 firstFrameSureButton.addActionListener(this);
		 firstFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		 firstFrameSureButton.setFont(new Font("TimeRoman",Font.ITALIC,20));
		 nextButton=new JButton("N E X T");
		 nextButton.setFont(new Font("TimeRoman",Font.ITALIC,20));
		 resultButton=new JButton("顯  示");
		 
		 testButton=new JButton("T E S T");
		 testButton.setFont(new Font("TimeRoman",Font.ITALIC,20));
		 testButton.addActionListener(this);
		 
		 resultButton.setFont(new Font("TimeRoman",Font.ITALIC,20));
		 JPanel panel4=new JPanel(new FlowLayout());
		 panel4.add(firstFrameSureButton);
		 panel4.add(new JLabel("             "));
		// panel4.add(nextButton);
		 //panel4.add(new JLabel("             "));
		 panel4.add(testButton);
		 panel4.add(new JLabel("             "));
		 panel4.add(resultButton);
		 nextButton.addActionListener(this);
		 resultButton.addActionListener(this);
		 c.add(panel4);
		 // 顯示窗口
		 Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize(); 
		 firstFrame.setSize(800,600);
		 firstFrame.setLocation( screenSize.width/2-(400),screenSize.height/2-(300));
		 //firstFrame.setResizable(false);
		 // 次窗口
		 
    	 secondFrame=new JFrame("proceNum/SourceNum");
    	 secondFrame.setLayout(new FlowLayout());
    	 proceNumberText=new JTextField(10);
    	 sourceNumberText=new JTextField(10);
    	 secondFrame.add(new JLabel("進程個數:  "));
    	 secondFrame.add(proceNumberText);
    	 secondFrame.add(new JLabel("資源個數:  "));
    	 secondFrame.add(sourceNumberText);
    	 secondFrameSureButton=new JButton("確   定");
    	 secondFrameSureButton.addActionListener(this);
    	 secondFrame.add(secondFrameSureButton);
    	 secondFrame.setSize(200,180);
    	 secondFrame.setLocation( screenSize.width/2-(100),screenSize.height/2-(80));
    	 secondFrame.setVisible(true);
    	 //creat frame3
    	 thirdFrame=new JFrame("安全序列");
    	 Container b=thirdFrame.getContentPane();
    	 b.setLayout(new GridLayout(3,1));
    	 
    	 JPanel thirdPanel1=new JPanel(new FlowLayout());
    	 thirdPanel2=new JPanel(new GridLayout(1,2));
    	 JPanel thirdPanel3=new JPanel(new FlowLayout());
    	 //creat panel1
    	 JLabel label=new JLabel("安 全 序 列",SwingConstants.CENTER);
    	 label.setForeground(Color.RED);
    	 label.setFont(new Font("TimeRoman",Font.ITALIC,30));
    	 thirdPanel1.add(label);
         b.add(thirdPanel1);
         //creat panel2
    	 label1=new JLabel("安全序列",SwingConstants.CENTER);
    	 thirdPanel2.add(label1);
    	 b.add(thirdPanel2);
    	 //creat panel3
    	 frame3Button=new JButton("確定");
    	 thirdPanel3.add(frame3Button);
    	 frame3Button.addActionListener(this);
    	 b.add(thirdPanel3);
    	 //顯示panel3
    	 thirdFrame.setSize(300,180);
    	 thirdFrame.setLocation( screenSize.width/2-(150),screenSize.height/2-(80));    	 
     }
	public static void main(String[] args) {
		
                new bank();
	}
	//的到請求矩陣以及系統當前的資源數目
	public void getRequestNumber(String a,int b[])
	{
		for(int i=0;i<a.length();i++)
		{
			b[i]=Integer.parseInt(a.substring(i, i+1));
		}
	}
	//得到max和allocation的具體數值,并且把它們存在數組里面
	public void getMaxAndAllocation()
	{
		int field=0;
		max=new int[proceNumber][sourceNumber];
		allocation=new int[proceNumber][sourceNumber];
		need=new int[proceNumber][sourceNumber];
		request=new int[sourceNumber];
		system=new int[sourceNumber];
		systemF=new int[sourceNumber];
		for(int i=0;i<max.length;i++)
			for(int j=0;j<max[i].length;j++)
		{
			max[i][j]=Integer.parseInt(maxTextField[field].getText());
			allocation[i][j]=Integer.parseInt(AllocationTextField[field].getText());
			need[i][j]=max[i][j]-allocation[i][j];
			field++;
		}
	}
	//構造max和allocation的面板
	public void setMax()
	{
		leftPanel.setLayout(new GridLayout(proceNumber,sourceNumber*2));
		rightPanel.setLayout(new GridLayout(proceNumber,sourceNumber*2));
		maxTextField= new JTextField[proceNumber*sourceNumber]; 
		AllocationTextField=new JTextField[proceNumber*sourceNumber];
		for(int j=0;j<maxTextField.length;j++)
		{
			maxTextField[j]=new JTextField(1);
			AllocationTextField[j]=new JTextField(1);
		}
		for(int j=0;j<maxTextField.length;j++)
		{
			leftPanel.add(maxTextField[j]);
			leftPanel.add(new JLabel(" "));
			rightPanel.add(AllocationTextField[j]);
			rightPanel.add(new JLabel("     "));
		}
	}
	//向table里面添加數據
	public void addNum()
	{
		String maxString=" ",allocationString=" ",
		needString=" ",requestString=" ",systemString=" ";
		for(int i=0;i<request.length;i++)
		{
			requestString=requestString+request[i]+" ";
			systemString=systemString+system[i]+" ";
		}
		for(int i=0;i<max.length;i++)
		{
			for(int j=0;j<max[i].length;j++)
			{
					maxString=maxString+max[i][j]+" ";
					allocationString=allocationString+allocation[i][j]+" ";
					needString=needString+need[i][j]+" ";

			}
			if(i==0)
			{
			Object date[]={
				1,maxString,allocationString,needString,systemString	
			};
			modle.addRow(date);
			}
			if(i>0)
			{
				Object date[]={
						i+1,maxString,allocationString,needString	
					};
					modle.addRow(date);				
			}
			maxString=" ";
			allocationString=" ";
			needString=" ";			
		}
	}
	public void Remove()//移除原有的,用于刷新表格 不知道為什么總是有越界的錯誤
   	{
   		int j= modle.getRowCount();
   		
   		do{
   			modle.removeRow(j-1);
   			j--;
   		  }while(modle.getRowCount()!=0);
   		
   	}
	//得到要處理的字符串
	public void Process(int Process[])

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191久久久久久久久久久| 26uuu精品一区二区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久精品在线免费观看| 91免费精品国自产拍在线不卡| 日韩高清不卡一区二区三区| 国产精品久久久久9999吃药| 欧美一区二区大片| 在线观看日韩高清av| 福利视频网站一区二区三区| 午夜不卡在线视频| 一区二区三区在线观看动漫 | 欧美电影免费提供在线观看| 99久久99久久精品国产片果冻| 精品一区二区三区在线播放| 亚洲成精国产精品女| **网站欧美大片在线观看| 久久久另类综合| 日韩一区二区三区精品视频| 欧美最新大片在线看| 9色porny自拍视频一区二区| 国产成人一级电影| 久久国产人妖系列| 日本午夜精品视频在线观看| 一个色在线综合| 综合久久给合久久狠狠狠97色 | 国产欧美日韩综合精品一区二区| 欧美日韩国产小视频| 91色乱码一区二区三区| 成人免费毛片a| 国产成人精品一区二区三区网站观看| 爽好多水快深点欧美视频| 亚洲成a人v欧美综合天堂下载| 亚洲免费电影在线| 亚洲精品国产视频| 亚洲欧洲av一区二区三区久久| 国产欧美一区二区三区沐欲| 久久夜色精品国产欧美乱极品| 日韩精品一区二区三区swag| 日韩欧美专区在线| 精品99999| 久久久精品免费观看| 国产亚洲欧美日韩日本| 国产拍揄自揄精品视频麻豆| 国产午夜亚洲精品羞羞网站| 欧美日韩大陆在线| 欧美日韩在线综合| 欧美系列一区二区| 欧美精品在欧美一区二区少妇| 欧美日韩免费视频| 欧美乱妇一区二区三区不卡视频| 欧美日韩在线播| 51精品久久久久久久蜜臀| 日韩一区二区三区免费看| 日韩免费福利电影在线观看| 久久影院午夜片一区| 日本一区二区三区四区| 国产精品美女久久久久久| 自拍偷在线精品自拍偷无码专区| 亚洲日本丝袜连裤袜办公室| 午夜精品视频在线观看| 蜜臀精品久久久久久蜜臀| 国产精品综合网| 91麻豆国产福利精品| 欧美人与性动xxxx| 久久综合久久鬼色| 亚洲欧美一区二区不卡| 日韩精品乱码免费| 国产另类ts人妖一区二区| 91美女在线看| 51精品国自产在线| 欧美国产精品劲爆| 亚洲自拍偷拍九九九| 裸体健美xxxx欧美裸体表演| 国产suv精品一区二区三区| 成人ar影院免费观看视频| 在线观看精品一区| 久久婷婷综合激情| 亚洲一区二区三区在线| 麻豆成人免费电影| 91免费视频观看| 日韩欧美在线综合网| 国产精品嫩草99a| 亚洲成人激情自拍| 成人免费看视频| 在线播放中文一区| 欧美国产国产综合| 日本强好片久久久久久aaa| 成人综合婷婷国产精品久久 | 欧美激情一区二区三区不卡| 一区二区三区欧美在线观看| 美女任你摸久久| 精品免费国产一区二区三区四区| 国产人伦精品一区二区| 亚洲成av人片一区二区三区| 国产一区二区三区久久久| 欧美日韩精品电影| 国产精品久久精品日日| 久久精品国产秦先生| 在线观看区一区二| 国产精品久久久久久户外露出 | 欧美激情一区二区三区在线| 午夜私人影院久久久久| av网站免费线看精品| 久久色视频免费观看| 亚洲最大的成人av| 福利电影一区二区三区| 精品久久国产字幕高潮| 午夜精品一区二区三区电影天堂| 99麻豆久久久国产精品免费优播| 欧美成va人片在线观看| 日韩avvvv在线播放| 91福利区一区二区三区| 中文字幕欧美一区| 国产黄色精品网站| xnxx国产精品| 理论片日本一区| 6080日韩午夜伦伦午夜伦| 亚洲一卡二卡三卡四卡五卡| 99久久免费精品| 国产精品的网站| av在线这里只有精品| 国产区在线观看成人精品| 国产专区欧美精品| 日韩写真欧美这视频| 免费高清在线视频一区·| 欧美喷潮久久久xxxxx| 亚洲第一福利一区| 欧美日韩一区二区三区四区五区| 亚洲免费观看视频| 色婷婷激情久久| 一区二区三区蜜桃网| 色偷偷成人一区二区三区91 | 亚洲影视在线播放| 日本韩国欧美三级| 亚洲综合小说图片| 欧美日韩在线免费视频| 亚洲国产成人高清精品| 香蕉成人伊视频在线观看| 美女一区二区三区在线观看| 欧美高清视频一二三区| 日韩成人dvd| 欧美变态口味重另类| 精品一区二区三区视频在线观看 | 另类小说欧美激情| 日韩精品一区二| 国产精华液一区二区三区| 亚洲国产精品99久久久久久久久 | 中文字幕一区在线观看| 99久久免费精品高清特色大片| 亚洲欧美色一区| 欧美日韩国产小视频在线观看| 青青草国产成人av片免费| 精品免费一区二区三区| 国产91在线|亚洲| 一区二区在线观看av| 欧美日本一道本在线视频| 久久99久久99| 国产精品每日更新在线播放网址| 91麻豆精东视频| 日韩国产一区二| 国产三级一区二区| 色狠狠一区二区| 久久99精品国产.久久久久久| 日本一区二区在线不卡| 91福利在线观看| 蜜臀久久久久久久| 欧美国产精品中文字幕| 在线观看www91| 麻豆高清免费国产一区| 中文字幕制服丝袜一区二区三区 | 91精品欧美久久久久久动漫 | 九九精品一区二区| 国产日产欧美一区| 欧美色图在线观看| 国产综合成人久久大片91| 亚洲男同1069视频| 日韩你懂的在线播放| 9l国产精品久久久久麻豆| 天涯成人国产亚洲精品一区av| 久久久噜噜噜久久中文字幕色伊伊| 色综合久久久久综合| 蜜桃视频在线观看一区| 国产精品久久久久7777按摩| 91精品国产综合久久久蜜臀图片| 粉嫩av一区二区三区粉嫩| 午夜欧美电影在线观看| 欧美高清在线精品一区| 91精品久久久久久蜜臀| 91亚洲国产成人精品一区二区三| 日韩国产成人精品| 亚洲日本va午夜在线影院| 精品久久久久一区二区国产| 欧洲人成人精品| 丁香婷婷综合色啪| 青青草91视频| 亚洲午夜三级在线| 国产精品久久久久久亚洲毛片| 日韩久久久久久| 欧美日韩国产首页|