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 + -
显示快捷键?