📄 editfilechooser.java
字号:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
import javax.swing.JFileChooser;
/**
*
*/
/**
* @author squirrel
*
*/
public class EditFileChooser extends JFileChooser {
private String fileName;
private EditFileFilter filter;
private ScreenCanvas screenCanvas;
private ImageEditPanel editPanel;
public EditFileChooser()
{
filter = new EditFileFilter();
this.setFileFilter(filter);
this.setFileSelectionMode(JFileChooser.FILES_ONLY);
}
public void openFile()
{
int i = this.showOpenDialog(this);
if(i == this.APPROVE_OPTION)
{
try {
fileName = this.getSelectedFile().toString();
List shapeList;
shapeList = readFile(fileName);
screenCanvas.getShapeList().clear();
screenCanvas = editPanel.getScreenCanvas();
for(int j = 0; j < shapeList.size(); j++)
{
ShapeEntity entity = (ShapeEntity)shapeList.get(j);
screenCanvas.addShape(entity);
}
screenCanvas.repaint();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void saveFile()
{
int i = this.showSaveDialog(this);
if(i == this.APPROVE_OPTION)
{
try
{
String path = this.getSelectedFile().getPath();
path = path + ".jsg";
File newFile = new File(path);
writeFile(newFile);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
public List readFile(String fileName) throws Exception
{
FileInputStream fileReader = new FileInputStream(fileName);
ObjectInputStream ois = new ObjectInputStream(fileReader);
Object object = ois.readObject();
List shapeList = (List)object;
return shapeList;
}
public void writeFile(File file) throws Exception
{
FileOutputStream fileWriter = new FileOutputStream(file);
ObjectOutputStream ois = new ObjectOutputStream(fileWriter);
List shapeList = screenCanvas.getShapeList();
ois.writeObject(shapeList);
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public ScreenCanvas getScreenCanvas() {
return screenCanvas;
}
public void setScreenCanvas(ScreenCanvas screenCanvas) {
this.screenCanvas = screenCanvas;
}
public void setEditPanel(ImageEditPanel editPanel) {
this.editPanel = editPanel;
}
public void setFilter(EditFileFilter filter) {
this.filter = filter;
}
public ImageEditPanel getEditPanel() {
return editPanel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -