?? testjeditorpane.java
字號:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
public class TestJEditorPane
{
JFrame mainWin = new JFrame("測試JEditorPane");
LinkedList<String> urls = new LinkedList<String>();
JEditorPane editorPane = new JEditorPane();
JTextField url = new JTextField(30);
JCheckBox editable = new JCheckBox();
JButton backButton = new JButton("后退");
public void init()
{
//默認設置不允許編輯
editorPane.setEditable(false);
editorPane.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent event)
{
if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
{
try
{
//將用戶瀏覽過的URL
urls.push(event.getURL().toString());
//在文本框內輸入URL字符串
url.setText(event.getURL().toString());
//讓JEditorPane裝載新的頁面
editorPane.setPage(event.getURL());
}
catch (IOException e)
{
editorPane.setText("出現異常: " + e);
}
}
}
});
//為可編輯的復選框添加事件監聽器。
editable.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//如果該復選框處于選中狀態,則該編輯器可編輯
editorPane.setEditable(editable.isSelected());
}
});
//加載URL指定頁面的監聽器
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
//將用戶瀏覽后的URL添加到URL棧中
urls.push(url.getText());
editorPane.setPage(url.getText());
}
catch (IOException e)
{
editorPane.setText("頁面: " + e);
}
}
};
JButton loadButton = new JButton("載入");
loadButton.addActionListener(listener);
url.addActionListener(listener);
//為后退按鈕添加監聽器
backButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//如果還沒有已經瀏覽過的URL
if (urls.size() <= 1) return;
try
{
//取出、并獲取最后一個URL
String urlString = urls.pop();
url.setText(urlString);
//重新加載新的URL
editorPane.setPage(urlString);
}
catch (IOException e)
{
editorPane.setText("出現異常: " + e);
}
}
});
mainWin.add(new JScrollPane(editorPane), BorderLayout.CENTER);
JPanel panel = new JPanel();
panel.add(new JLabel("URL"));
panel.add(url);
panel.add(loadButton);
panel.add(backButton);
panel.add(new JLabel("Editable"));
panel.add(editable);
mainWin.add(panel, BorderLayout.NORTH);
mainWin.pack();
mainWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWin.setVisible(true);
}
public static void main(String[] args)
{
new TestJEditorPane().init();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -