package fileoperation;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class modifyFileAttribute extends JFrame {
public JButton chooseButton;
public JTextField sizeField,pathField,urField,modifyDateField;
public JCheckBox readCheckBox,writeCheckBox,hideCheckBox;
public JLabel path_label,size_label,choose_label,ur_label,modify_label;
public modifyFileAttribute(){
GridBagLayout layout=new GridBagLayout();
setLayout(layout);
chooseButton=new JButton("选择文件");
add(chooseButton,new GBC(0,0));
choose_label=new JLabel("");
add(choose_label,new GBC(1,0).setFill(GBC.HORIZONTAL));
size_label=new JLabel("文件大小:");
sizeField=new JTextField("",20);
add(size_label,new GBC(0,1));
add(sizeField,new GBC(1,1));
path_label=new JLabel("文件路径:");
pathField=new JTextField("",20);
add(path_label,new GBC(0,3));
add(pathField,new GBC(1,3));
ur_label=new JLabel("UR路径:");
urField=new JTextField("",20);
add(ur_label,new GBC(0,4));
add(urField,new GBC(1,4));
modify_label=new JLabel("最近修改日期:");
modifyDateField=new JTextField("",20);
add(modify_label,new GBC(0,5));
add(modifyDateField,new GBC(1,5));
JPanel panel=new JPanel();
readCheckBox=new JCheckBox("只读");
writeCheckBox=new JCheckBox("只写");
hideCheckBox=new JCheckBox("禁止");
panel.add(readCheckBox);
panel.add(writeCheckBox);
panel.add(hideCheckBox);
add(panel,new GBC(1,6));
chooseButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser();
chooser.showOpenDialog(modifyFileAttribute.this);
File file=chooser.getSelectedFile();
choose_label.setText(file.getName());
sizeField.setText(file.length()+"");
pathField.setText(file.getPath());
urField.setText(file.toURI()+"");
urField.select(0, 0);
modifyDateField.setText(new Date(file.lastModified())+"");
readCheckBox.setSelected(file.canRead());
writeCheckBox.setSelected(file.canWrite());
hideCheckBox.setSelected(file.isHidden());
}
});
pack();
}
}
package fileoperation;
//网格组布局
import java.awt.GridBagConstraints;
import java.awt.Insets;
public class GBC extends GridBagConstraints {
public GBC(int gridx,int gridy){
this.gridx=gridx;
this.gridy=gridy;
}
public GBC(int gridx,int gridy,int gridwidth,int gridheight){
this.gridx=gridx;
this.gridy=gridy;
this.gridwidth=gridwidth;
this.gridheight=gridheight;
}
public GBC setAnchor(int anchor){
this.anchor=anchor;
return this;
}
public GBC setFill(int fill){
this.fill=fill;
return this;
}
public GBC setWeight(double weightx,double weighty){
this.weightx=weightx;
this.weighty=weighty;
return this;
}
public GBC setInsets(int distance){
this.insets=new Insets(distance,distance,distance,distance);
return this;
}
public GBC setInsets(int top,int left,int bottom,int right){
this.insets=new Insets(top,left,bottom,right);
return this;
}
public GBC setIpad(int ipadx,int ipady){
this.ipadx=ipadx;
this.ipady=ipady;
return this;
}
}