まずインポート↓↓↓
~~~~~~~~~~~~~~~
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.JButton;
~~~~~~~~~~~~~~~
HTMLViewerクラス↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public class HTMLViewer implements ActionListener, HyperlinkListener{
JTextField addrField;
JEditorPane htmlPane;
JButton Clickhome;
JButton Clicksfc;
JButton Clicksfs;
JButton Clickmyhp;
public HTMLViewer(){
JFrame frame = new JFrame("Simple HTML Viewer");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.addWindowListener(
new WindowAdapter() {
public void windowClosed(WindowEvent e){
System.exit(0);
}
}
);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
URL入力フォームの設定↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~
addrField = new JTextField("http://");
addrField.addActionListener(this);
~~~~~~~~~~~~~~~~~~~~~~~
WEBページ表示画面の設定↓↓↓
~~~~~~~~~~~~~~~~
htmlPane = new JEditorPane();
htmlPane.setEditable(false);
htmlPane.setContentType("text/html");
htmlPane.addHyperlinkListener(this);
~~~~~~~~~~~~~~~~~~
4種類のボタンを作り、ボタンを押すと作動するよう設定↓↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Clickhome = new JButton("HOME");
Clickhome.addActionListener(new HomeActionListener());
Clicksfc = new JButton("SFC");
Clicksfc.addActionListener(new sfcActionListener());
Clicksfs = new JButton("SFC-SFS");
Clicksfs.addActionListener(new sfsActionListener());
Clickmyhp = new JButton("MyHomePage");
Clickmyhp.addActionListener(new myhpActionListener());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
オブジェクトのレイアウト↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~~~
JPanel topContainer = new JPanel();
topContainer.setLayout(new GridLayout(1,4));
topContainer.add(Clickhome);
topContainer.add(Clicksfc);
topContainer.add(Clicksfs);
topContainer.add(Clickmyhp);
JPanel bottomContainer = new JPanel();
bottomContainer.setLayout(new BorderLayout());
bottomContainer.add(addrField, BorderLayout.NORTH);
bottomContainer.add(new JScrollPane(htmlPane), BorderLayout.CENTER);
frame.getContentPane().add(topContainer, BorderLayout.NORTH );
frame.getContentPane().add(bottomContainer, BorderLayout.CENTER );
frame.setSize(640,480);
frame.setVisible(true);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
URLの入力後、エンターすると実行されるよう設定↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~
public void actionPerformed(ActionEvent e){
String url = addrField.getText();
System.out.println(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
System.out.println("無効なURLを指定していませんか?");
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~
4つのボタンが押された際の動作をそれぞれ設定↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public class HomeActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String url = "http://www.google.co.jp/";
System.out.println(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
System.out.println("ページジャンプに失敗しました。");
}
}
}
public class sfcActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String url = "http://www.sfc.keio.ac.jp/top.html";
System.out.println(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
System.out.println("ページジャンプに失敗しました。");
}
}
}
public class sfsActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String url = "https://vu9.sfc.keio.ac.jp/sfc-sfs/";
System.out.println(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
System.out.println("ページジャンプに失敗しました。");
}
}
}
public class myhpActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String url = "http://ameblo.jp/media-net/";
System.out.println(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
System.out.println("ページジャンプに失敗しました。");
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
webページ内のリンクについての設定↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public void hyperlinkUpdate(HyperlinkEvent e){
if(e.getEventType() != HyperlinkEvent.EventType.ACTIVATED){
return;
}
String url = e.getURL().toString();
addrField.setText(url);
try{
htmlPane.setPage(url);
}catch(Exception err){
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
プログラムの実行処理↓↓↓
~~~~~~~~~~~~~~~~~~~~~~~
public static void main(String[] args){
HTMLViewer my_viewer = new HTMLViewer();
}
}
~~~~~~~~~~~~~~~~~~~~~~~