bookmarkmanager.java

来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 79 行

JAVA
79
字号
import java.awt.event.*;
import java.awt.Dimension;
//import javax.swing.DefaultListModel;
import javax.swing.JEditorPane;
//import javax.swing.JScrollPane;
//import javax.swing.JList;
import javax.swing.event.*;
import javax.swing.*;
import java.io.IOException;

public class BookmarkManager extends JFrame implements ListSelectionListener, HyperlinkListener
{
	private DefaultListModel data	=	new	DefaultListModel();
	private JList list				=	new JList(data);
	private JEditorPane info		=	new JEditorPane();
	private class WindowCloser extends WindowAdapter
	{
		public void windowClosing(WindowEvent we)
		{	System.exit(0);	}
	}
	public BookmarkManager()
	{
		super("Bookmark Manager");
		Bookmark samples[]	=	Bookmark.getSampleBookmarks();
		for (int i = 0; i < samples.length; i ++)
			data.addElement(samples[i]);
		info.setEditable(false);
		JScrollPane scrollList	=	new JScrollPane(list);
		JScrollPane scrollInfo	=	new JScrollPane(info);
		scrollList.setPreferredSize(new Dimension(150, 200));
		scrollInfo.setPreferredSize(new Dimension(300, 200));
		JSplitPane split		=	new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
											new JPanelBox(scrollList, "Bookmarks"),
											new JPanelBox(scrollInfo, "Description"));
		getContentPane().add("Center", split);
		list.addListSelectionListener(this);
		info.addHyperlinkListener(this);
		addWindowListener(new WindowCloser());
		validate();
		pack();
		setLocationRelativeTo(this);
		setVisible(true);
	}
	public void valueChanged(ListSelectionEvent lse)
	{
		if (!lse.getValueIsAdjusting())
			showBookmark(list.getSelectedIndex());
	}
	public void hyperlinkUpdate(HyperlinkEvent hle)
	{
		if (hle.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
		{
			try
			{
				info.setPage(hle.getURL());
			}
			catch	(IOException ioe)
			{
				info.setText("<B>" + hle.getURL() + "unloadable </B><P>" + ioe);
			}
		}
	}
	public void showBookmark(int i)
	{
		Bookmark mark	=	(Bookmark)data.get(i);
		String s		=	"<HTML><H1>" + mark.title + "</H1><UL>";
		s	+=	"<LI><B> Address: </B><A HREF= '" + mark.address + "'>";
		s	+=	mark.address + "</A></LI>";
		s	+=	"<LI><B> Category: </B><I>" + mark.category + "</I></LI>";
		s	+=	"<LI><B> Description: </B>" + mark.description + "</LI></UL></HTML>";
		info.setContentType("text/html");
		info.setText(s);
	}
	public static void main(String args[])
	{
		BookmarkManager bm	=	new BookmarkManager();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?