📄 fcbframe.java
字号:
package ncepu;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
public class FCBFrame implements ActionListener{
private static final int NO = 0;
public Frame f;
Disk disk;
FileFcb filefcb;
public Button setButton,displayButton;
public TextField tname,tsize;
public static Vector File=new Vector();
public FCBFrame()
{
f=new Frame("磁盘分配");Panel p1;
Label name,size;
f.setSize(200,200);
f.setLocation(300,300);
f.setBackground(Color.LIGHT_GRAY );
p1=new Panel();
name=new Label("Filename");
size=new Label("Filesize ");
tname=new TextField(9);
tname.setEditable(true);
tsize=new TextField(9);
tsize.setEditable(true);
setButton=new Button("文件分配");
setButton.addActionListener(this);
displayButton=new Button("磁盘分配情况");
displayButton.addActionListener(this);
p1.add(name);
p1.add(tname);
p1.add(size);
p1.add(tsize);
p1.add(setButton);
p1.add(displayButton);
f.add(p1);
//f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
f.setVisible(false);
}
});
}
/*public static void main(String args[]){
FCBFrame file=new FCBFrame();
}*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==setButton)
{
//int disknum=0;
int number=0;
String Filename="";int NO=0;
int disknumber=0;
int i,j;
if(tname.getText().compareTo("")==0||tsize.getText().compareTo("")==0){
final Frame ff=new Frame("信息不全");
ff.setSize(200,100);
ff.setLocation(300,300);
Button bb=new Button("信息不全,请查证");
ff.add(bb);
ff.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
ff.setVisible(false);
}
});
ff.setVisible(true);
}
else{
Filename=tname.getText();tname.setText("");
NO=Integer.parseInt(tsize.getText());tsize.setText("");
}
for(i=0;i<File.size();i++){
filefcb=(FileFcb)(File.elementAt(i));
if(filefcb.Filename.compareTo(Filename)==0){
final Frame ff=new Frame("文件重复");
ff.setSize(200,100);
ff.setLocation(300,300);
Button bb=new Button("该文件已存在,请查证");
ff.add(bb);
ff.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
ff.setVisible(false);
}
});
ff.setVisible(true);
break;
}
}
if(i==File.size())
{
filefcb=new FileFcb(Filename);
File.addElement(filefcb);
//System.out.println("FileNo="+NO);
for(i=0;i<disk.LONG;i++)
for(j=0;j<disk.WIDE;j++)
if(disk.ints[i][j]==0)
disknumber++;
for(i=0;i<disk.LONG;i++)
for(j=0;j<disk.WIDE;j++)
{
if(number<NO&&disknumber>0&&disk.ints[i][j]==0)
{
disk.ints[i][j]=1;
disk.Diskbutt[i][j].setLabel("1");
disk.Diskbutt[i][j].setBackground(Color.red);
//System.out.println("number="+number);
//filefcb.nums[number++]=i*disk.WIDE+j;
filefcb.nums.addElement(new Integer(i*disk.WIDE+j+1));
number++;
disknumber--;
// System.out.println("disknumber="+disknumber);
}
if(number<NO&&disknumber==0){
Frame ff=new Frame("磁盘空间不够");
ff.setSize(200,200);
ff.setLocation(300,300);
Button bb=new Button("磁盘空间不够");
ff.add(bb);
ff.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
ff.setVisible(true);
}
}
}
}
if(e.getSource()==displayButton){
//disk.f.setVisible(false);
//disk.f.setVisible(true);
Display dis=new Display(this);
if(this.File.size()!=0)
dis.f.setVisible(true);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -