📄 filemanager.java
字号:
}
return fClose;
}
private JPanel getTextField() {
if (textField == null) {
jLabel7 = new JLabel();
jLabel7.setBounds(new Rectangle(300, 1, 60, 32));
jLabel7.setText("打开文件");
jLabel6 = new JLabel();
jLabel6.setBounds(new Rectangle(240, 1, 60, 32));
jLabel6.setText("删除文件");
jLabel5 = new JLabel();
jLabel5.setBounds(new Rectangle(180, 1, 60, 32));
jLabel5.setText("创建文件");
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(120, 1, 60, 32));
jLabel4.setText("更改名称");
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(60, 1, 60, 32));
jLabel3.setText("删除目录");
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(0, 1, 60, 32));
jLabel2.setText("创建目录");
jLabel1 = new JLabel();
jLabel1.setText("进入目录");
jLabel1.setBounds(new Rectangle(8, 19, 52, 18));
textField = new JPanel();
textField.setLayout(null);
textField.setBounds(new Rectangle(79, 79, 365, 35));
textField.add(jLabel2, null);
textField.add(jLabel3, null);
textField.add(jLabel4, null);
textField.add(jLabel5, null);
textField.add(jLabel6, null);
textField.add(jLabel7, null);
}
return textField;
}
private JPanel getTextField2() {
if (textField2 == null) {
jLabel13 = new JLabel();
jLabel13.setBounds(new Rectangle(63, 3, 60, 32));
jLabel13.setText("关闭文件");
jLabel12 = new JLabel();
jLabel12.setBounds(new Rectangle(3, 3, 60, 32));
jLabel12.setText("保存文件");
textField2 = new JPanel();
textField2.setLayout(null);
textField2.setBounds(new Rectangle(495, 124, 128, 37));
textField2.add(jLabel12, null);
textField2.add(jLabel13, null);
}
return textField2;
}
/**
* This method initializes fInput
*
* @return javax.swing.JTextArea
*/
private JTextArea getFInput() {
if (fInput == null) {
fInput = new JTextArea();
fInput.setText("");
fInput.setLineWrap(true);
fInput.setEditable(false);
}
return fInput;
}
/**
* This method initializes cDir
*
* @return javax.swing.JPanel
*/
private JPanel getCDir() {
if (cDir == null) {
jLabel00 = new JLabel();
jLabel00.setText("格式化");
jLabel00.setBounds(new Rectangle(156, 62, 51, 26));
jLabel = new JLabel();
jLabel.setText("上一层");
jLabel.setBounds(new Rectangle(15, 158, 45, 27));
currentDir = new JLabel();
currentDir.setBounds(new Rectangle(13, 15, 69, 29));
currentDir.setText("当前目录");
cDir = new JPanel();
cDir.setLayout(null);
cDir.setBounds(new Rectangle(111, 171, 344, 50));
cDir.add(currentDir, null);
cDir.add(getDirectory(), null);
}
return cDir;
}
/**
* This method initializes directory
*
* @return javax.swing.JTextField
*/
private JTextField getDirectory() {
if (directory == null) {
directory = new JTextField();
directory.setBounds(new Rectangle(71, 15, 244, 27));
directory.setEditable(false);
}
return directory;
}
/**
* This method initializes upDir
*
* @return javax.swing.JButton
*/
private JButton getUpDir() {
if (upDir == null) {
upDir = new JButton(icon0);
upDir.setBounds(new Rectangle(10, 106, 50, 50));
//跳到上一级目录
upDir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
curDirPos=dirCol[curDirPos].upDir; //当前目录变为当前目录的上一层(子目录及文件更新)
tableRefresh(curDirPos); //刷新视图
//改变当前路径的显示
int a = curDirName.lastIndexOf("\\");
curDirName = curDirName.substring(0, a);
directory.setText(curDirName);
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return upDir;
}
/**
* This method initializes jEnter
*
* @return javax.swing.JPanel
*/
private JPanel getJEnter() {
if (jEnter == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
jEnter = new JPanel();
jEnter.setLayout(null);
jEnter.setBounds(new Rectangle(17, 219, 68, 237));
jEnter.add(jLabel1, gridBagConstraints);
jEnter.add(getSEnter(), null);
jEnter.add(jLabel, null);
jEnter.add(getUpDir(), null);
}
return jEnter;
}
/**
* This method initializes sEnter
*
* @return javax.swing.JButton
*/
private JButton getSEnter() {
if (sEnter == null) {
sEnter = new JButton(icon1);
sEnter.setBounds(new Rectangle(10, 44, 50, 50));
//进入当前选中的目录
sEnter.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String tempName = (String)jTable.getValueAt(jTable.getSelectionModel().getLeadSelectionIndex(), 0); //注释同上
String type = (String)jTable.getValueAt(jTable.getSelectionModel().getLeadSelectionIndex(), 1); //注释同上
if (type.equals("dir") ) //注释同上
{
Integer tempDir;
//找到当前目录对应的FCB,进入目录
for(int i=0;i<dirCol[curDirPos].items.size();i++)
{
tempDir = (Integer) dirCol[curDirPos].items.elementAt(i);
if(dirCol[tempDir].name.equals(tempName) && dirCol[tempDir].flag.equals(type))
goToDir(tempDir); //进入当前选中的目录
}
}
else
{
JOptionPane.showMessageDialog(null,"先选择一个目录再进入!");
}
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return sEnter;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(108, 228, 321, 254));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
private Vector rowData;
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
String names[] = { "名称", "类型","大小(Byte)" }; //新建一个表,显示当前目录下的文件及子目录
Vector columnNames = new Vector( Arrays.asList( names ) );
rowData = new Vector();
jTable = new JTable(rowData, columnNames);
jTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); //只能选中当行
}
return jTable;
}
/**
* This method initializes fOpen
*
* @return javax.swing.JButton
*/
private JButton getFOpen() {
if (fOpen == null) {
fOpen = new JButton(icon11);
fOpen.setBounds(new Rectangle(300, 6, 52, 52));
//打开选中的文件
fOpen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (openFlag == 0) //没有其他文件正在被打开
{
String tempName = (String) jTable
.getValueAt(jTable.getSelectionModel()
.getLeadSelectionIndex(), 0); //得到文件名
String type = (String) jTable
.getValueAt(jTable.getSelectionModel() //得到文件名
.getLeadSelectionIndex(), 1);
if (type.equals( "file"))
{
fInput.setEditable(true);
fInput.requestFocusInWindow();
JOptionPane.showMessageDialog(null, "文件打开,已可进行编辑");
Integer tempDir;
//找到选中的文件对应的FCB
for (int i = 0; i < dirCol[curDirPos].items.size(); i++)
{
tempDir = (Integer) dirCol[curDirPos].items
.elementAt(i);
if (dirCol[tempDir].name.equals( tempName))
{
fileOpen(tempDir); //打开选中的文件
}
}
}
else {
JOptionPane.showMessageDialog(null, "先选择一个文件再打开!");
}
}
else
{
JOptionPane.showMessageDialog(null, "请先关闭已打开的文件,再打开其他文件!");
}
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return fOpen;
}
/**
* This method initializes sFormat
*
* @return javax.swing.JButton
*/
private JButton getSFormat() {
if (sFormat == null) {
sFormat = new JButton(icon000);
sFormat.setBounds(new Rectangle(148, 8, 50, 50));
//格式化系统
sFormat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int choice=JOptionPane.showConfirmDialog(null, "你确定要格式化系统吗?","",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if (choice == JOptionPane.OK_OPTION)
{
for(int i=0;i<100;i++) //所有存放信息的变量都初始化
{
dirCol[i].clear();
spaces[i] = -1;
block[i] = "";
}
dirCol[0].flag = "dir";
dirCol[0].name = "H:";
dirCol[0].upDir = 0;
curDirName = dirCol[0].name;
directory.setText(curDirName);
curDirPos = 0;
tableRefresh(0);
}
JOptionPane.showMessageDialog(null,"系统格式化完毕!");
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return sFormat;
}
/**
* This method initializes sysPanel
*
* @return javax.swing.JPanel
*/
private JPanel getSysPanel() {
if (sysPanel == null) {
jLabel9 = new JLabel();
jLabel9.setBounds(new Rectangle(70, 62, 58, 26));
jLabel9.setText("输出系统");
jLabel8 = new JLabel();
jLabel8.setBounds(new Rectangle(10, 62, 60, 26));
jLabel8.setText("读入系统");
sysPanel = new JPanel();
sysPanel.setLayout(null);
sysPanel.setBounds(new Rectangle(453, 11, 203, 95));
sysPanel.add(getSFormat(), null);
sysPanel.add(jLabel00, null);
sysPanel.add(getOutPut(), null);
sysPanel.add(getInPut(), null);
sysPanel.add(jLabel8, null);
sysPanel.add(jLabel9, null);
}
return sysPanel;
}
/**
* This method initializes jTextlPane1
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJTextlPane1() {
if (jTextlPane1 == null) {
jTextlPane1 = new JScrollPane();
jTextlPane1.setBounds(new Rectangle(470, 229, 181, 251));
jTextlPane1.setViewportView(getFInput());
}
return jTextlPane1;
}
/**
* This method initializes outPut
*
* @return javax.swing.JButton
*/
private JButton getOutPut() {
if (outPut == null) {
outPut = new JButton(icon8);
outPut.setBounds(new Rectangle(70, 8, 50, 50));
//输出内存中内容至磁盘
outPut.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String name=JOptionPane.showInputDialog(null,"请输入要保存至的文件名: (将存放在与程序同一目录下)");
sysSave(name); //输出内存中内容至磁盘
JOptionPane.showMessageDialog(null,"系统输出至文件完毕!");
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -