⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frontpagewindowpane.java

📁 基于Ajax的WebOS————PhoneShow案例
💻 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 + -