import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
public class Main {
static boolean a=true;
static JFrame frame;
static JPanel panel;
static JPanel panel1;
static JPanel panel2;
static String road="C:\\Users\\绿波亭\\Desktop\\小学期工作报表\\try_root\\";
static String last_road;
static Button refresh=new Button("刷新");
public boolean error(int a){
if(a==-1){return false;}
else if(a==-2){return false;}
else if(a==-3){return false;}
else {return true;}
}
public static void getRefresh() {
refresh.setVisible(true);
refresh.setBounds(150,15,30,20);
panel2.add(refresh);
}
static public JScrollPane Scroll_Test(){
JScrollPane jScrollPane = new JScrollPane(panel1);
jScrollPane.setPreferredSize(new Dimension(200, 10));
jScrollPane.setBounds(190,0,13,270);
jScrollPane.setVisible(true);
jScrollPane.setMinimumSize(new Dimension(200,10));
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
return jScrollPane;
}
/* static class ScrollBarListener implements AdjustmentListener {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
// TODO Auto-generated method stub
System.out.println(e.getValue());
}
}*/
public static Button[] display_file(){
Button[] buttons;
buttons = new Button[Manager.child_file(road).length];
for(int i=0;i<Manager.child_file(road).length;i++){
buttons[i]=new Button(Manager.child_file(road)[i].getName());
String a = Manager.child_file(road)[i].getName();
buttons[i].setBounds(5,5+20*i,100,25);
buttons[i].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
last_road=road;
road=road+a+"\\";
System.out.println(road);
frame.dispose();
Frame frame = f_start();
frame = p_start(frame);
frame.setVisible(true);
}
});
}
return buttons;
}
public static Frame f_start(){
frame = new JFrame(); //Frame默认的布局管理器为BorderLayout
frame.setLocationRelativeTo(null);
frame.setBounds(100, 100, 400, 300);
frame.setLayout(null); //设置布局管理器为FlowLayout
frame.setResizable(false);//设置窗口可否调整
frame.setTitle("文件管理器");//设置窗口标题
frame.addWindowListener(new WindowAdapter(){//关闭窗口
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
return frame;
}
public static void panel2_start(){
TextField textField=new TextField();
textField.setBounds(45,15,100,20);
textField.setVisible(true);
panel2.add(textField);
Button create=new Button("创建");
create.setBounds(45,40,100,20);
create.setVisible(true);
panel2.add(create);
create.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("创建"+textField.getText());
Manager.create(road,textField.getText());
}
});
TextField road_input=new TextField("绝对路径输入(默认.txt):");
TextField value_input=new TextField("内容");
road_input.setVisible(true);
road_input.setBounds(45,75,100,20);
value_input.setVisible(true);
value_input.setBounds(45,95,100,20);
panel2.add(road_input);
panel2.add(value_input);
Button create_txt=new Button("新建");
create_txt.setVisible(true);
create_txt.setBounds(45,125,100,20);
create_txt.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Manager.create_txt(road_input.getText(),value_input.getText());
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
});
panel2.add(create_txt);
Button delete=new Button("删除(绝对路径)");
delete.setVisible(true);
delete.setBounds(45,150,100,20);
panel2.add(delete);
delete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Manager.DeleteFolder(road_input.getText())==1){
System.out.println("删除成功");
}
}
});
Button last=new Button("后退");
if(road.equals("C:\\Users\\绿波亭\\Desktop\\小学期工作报表\\try_root\\")){
last.setVisible(false);
}
else{
last.setVisible(true);
}
last.setBounds(45,200,100,20);
panel2.add(last);
last.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
road=last_road;
System.out.println(road);
frame.dispose();
Frame frame = f_start();
frame = p_start(frame);
frame.setVisible(true);
}
});
}
public static Frame p_start(Frame frame){
JScrollPane scrollPane=Scroll_Test();
panel=new JPanel();
panel.setLayout(null);
panel.setBounds(0, 0, 400, 300);
frame.add(panel);
panel1=new JPanel();
panel1.setBounds(5,5,184,295);
panel1.setBackground(Color.gray);
panel1.setVisible(true);
panel1.setLayout(null);
panel2=new JPanel();
panel2.setBounds(203,5,195,295);
panel2.setBackground(Color.BLUE);
panel2.setVisible(true);
panel2.setLayout(null);
panel2_start();
panel.add(panel1);
panel.add(panel2);
panel.add(scrollPane);
if(Manager.child_file(road).length>0){
Button[] buttons=display_file();
for(int i=0;i<buttons.length;i++){
panel1.add(buttons[i]);
}
}
return frame;
}
static public void main(String[] args){
frame = (JFrame) f_start();
frame = (JFrame) p_start(frame);
getRefresh();
refresh.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.dispose();
frame = (JFrame) p_start(frame);
frame.setVisible(true);
}
});
frame.setVisible(true);
}
}