📄 frontpagewindowpane.java
字号:
package com.cownew.phoneshow.office;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import nextapp.echo2.app.SplitPane;
import nextapp.echo2.app.WindowPane;
import nextapp.echo2.app.event.ActionEvent;
import nextapp.echo2.app.event.ActionListener;
import nextapp.echo2.app.filetransfer.Download;
import nextapp.echo2.app.filetransfer.DownloadProvider;
import nextapp.echo2.app.filetransfer.UploadEvent;
import org.apache.commons.io.IOUtils;
import com.cownew.phoneshow.MainApp;
import com.cownew.phoneshow.framework.ctrl.OpenFileDialog;
import com.cownew.phoneshow.framework.ctrl.UploadListenerAdapter;
import echopointng.ExtentEx;
import echopointng.Menu;
import echopointng.MenuBar;
import echopointng.MenuItem;
import echopointng.RichTextArea;
public class FrontPageWindowPane extends WindowPane
{
//富文本编辑器
private RichTextArea txtArea;
public FrontPageWindowPane()
{
super();
setTitle("FrontPage");
SplitPane splitPane = new SplitPane(
SplitPane.ORIENTATION_VERTICAL_TOP_BOTTOM);
splitPane.setSeparatorPosition(new ExtentEx("30px"));
add(splitPane);
MenuBar menuBar = new MenuBar();
menuBar.setMenuAlwaysOnTop(true);
splitPane.add(menuBar);
Menu menuFile = new Menu("文件");
menuFile.setMenuAlwaysOnTop(true);
menuBar.add(menuFile);
MenuItem miNew = new MenuItem("新建");
miNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
txtArea.setText("");
}
});
menuFile.add(miNew);
MenuItem miOpen = new MenuItem("打开");
miOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
openFile();
}
});
menuFile.add(miOpen);
MenuItem miSave = new MenuItem("保存");
miSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
saveFile();
}
});
menuFile.add(miSave);
MenuItem miExit = new MenuItem("退出");
miExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
userClose();
}
});
menuFile.add(miExit);
txtArea = new RichTextArea();
splitPane.add(txtArea);
}
//弹出打开文件对话框
private void openFile()
{
OpenFileDialog openDialog = new OpenFileDialog(
new UploadListenerAdapter() {
public void fileUpload(UploadEvent e)
{
openUpload(e);
}
});
MainApp.addComponent(openDialog);
}
//将被编辑的文档下载到客户端
private void saveFile()
{
Download download = new Download();
download.setProvider(new DownloadProvider() {
public String getContentType()
{
//设置ContentType为一个不被浏览器识别的类型
//否则浏览器会把文件当成普通网页显示出来
//而不是弹出下载对话框
return "application/cownew";
}
public String getFileName()
{
return ".htm";
}
public int getSize()
{
return -1;
}
public void writeFile(OutputStream os) throws IOException
{
OutputStreamWriter osw = new OutputStreamWriter(os);
try
{
osw.write(txtArea.getText());
} finally
{
IOUtils.closeQuietly(osw);
}
}
});
MainApp.getActiveApp().enqueueCommand(download);
}
private void openUpload(UploadEvent e)
{
InputStream is = e.getInputStream();
BufferedReader br = null;
try
{
br = new BufferedReader(new InputStreamReader(is));
StringBuffer sb = new StringBuffer();
String line = null;
try
{
//读入每一行然后添加到编辑器中
while ((line = br.readLine()) != null)
{
sb.append(line).append("\n");
}
} catch (IOException ioe)
{
MainApp.showInfo("文件打开过程中发生错误:" + ioe.getLocalizedMessage());
return;
}
txtArea.setText(sb.toString());
} finally
{
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(br);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -