📄 bsbuddyfinderpanel.java
字号:
package edu.ou.kmi.buddyspace.plugins.buddyfinder.gui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import edu.ou.kmi.buddyspace.plugins.buddyfinder.core.*;
import javax.swing.border.TitledBorder;
/**
* <p>Title: BSBuddyFinderPanel.java</p>
*
* <p>Description: Buddy Finder User Interface</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: ICONOGRAPHICS LIMITED</p>
*
* @author Chris Denham - chris@iconographics.co.uk
* @version 1.0
*/
public class BSBuddyFinderPanel extends JPanel implements ActionListener, ListCellRenderer
{
private static String noURLs = "<no URLs found>";
public Component getListCellRendererComponent(
JList list,
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // the list and the cell have the focus
{
JLabel label = (JLabel)value;
if (isSelected) {
label.setBackground(list.getSelectionBackground());
label.setForeground(list.getSelectionForeground());
} else {
label.setBackground(list.getBackground());
label.setForeground(list.getForeground());
}
label.setEnabled(list.isEnabled());
label.setFont(list.getFont());
label.setOpaque(true);
return label;
}
private BSBuddyFinderWindow buddyFinderWindow = null;
public void setBuddyFinderWindow(BSBuddyFinderWindow buddyFinderWindow)
{
this.buddyFinderWindow = buddyFinderWindow;
buddyFinderRequest("keywords show");
buddyFinderRequest("urls mode");
buddyFinderRequest("urls getquery");
buddyFinderRequest("urls list");
}
private void buddyFinderRequest(String command)
{
buddyFinderWindow.getBuddyFinderBean().buddyFinderRequest(
command, "Results for display in window id=" +
buddyFinderWindow.getID()
);
}
public BSBuddyFinderPanel() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(borderLayout1);
searchPanel.setLayout(borderLayout3);
keywordPanel.setLayout(null);
urlPanel.setLayout(null);
jLabel4.setToolTipText("");
jLabel4.setText("Keywords about yourself or your interests (e.g. tennis cookery S103 TMA04)");
jLabel4.setBounds(new Rectangle(8, 3, 500, 23));
keywords.setBorder(BorderFactory.createLineBorder(Color.black));
keywords.setInputVerifier(null);
keywords.setText("<no keywords found>");
keywords.setLineWrap(true);
keywords.setWrapStyleWord(true);
keywords.setBounds(new Rectangle(8, 28, 306, 160));
setButton.setBounds(new Rectangle(8, 190, 306, 25));
setButton.setToolTipText("");
setButton.setText("Save the list above");
setButton.addActionListener(this);
JID.setText("JID");
JID.setBounds(new Rectangle(86, 9, 272, 20));
jLabel5.setText("Enter keywords to search for:");
jLabel5.setBounds(new Rectangle(8, 8, 350, 15));
search.setBounds(new Rectangle(297, 28, 103, 25));
search.setText("search");
search.addActionListener(this);
showOffline.setText("also show offline users");
showOffline.setSelected(true);
showOffline.setBounds(new Rectangle(5, 109, 393, 23));
getButton.setBounds(new Rectangle(8, 216, 306, 25));
getButton.setToolTipText("");
getButton.setText("Retrieve previously-saved list");
getButton.addActionListener(this);
northPanel.setLayout(null);
keysearch.setBounds(new Rectangle(8, 31, 285, 20));
keysearch.addActionListener(this);
centerPanel.setLayout(borderLayout2);
northPanel.setPreferredSize(new Dimension(100, 140));
results.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
resultsScrollPane.setAutoscrolls(true);
resultsScrollPane.setMinimumSize(new Dimension(100, 22));
resultsScrollPane.setPreferredSize(new Dimension(350, 10));
urlsScrollPane.setAutoscrolls(true);
urlsScrollPane.setMinimumSize(new Dimension(100, 22));
urlsScrollPane.setPreferredSize(new Dimension(350, 10));
centerPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 8, 8));
searchoption.setBounds(new Rectangle(8, 79, 284, 24));
searchoption.addItem("Web pages");
searchoption.addItem("BuddyFinder keywords");
searchoption.addItem("Usernames and Jabber IDs");
jLabel1.setToolTipText("");
jLabel1.setText("Search Options: ");
jLabel1.setBounds(new Rectangle(8, 57, 388, 18));
jLabel2.setToolTipText("");
jLabel2.setText("List of URLs containing info about you (e.g. your home page)");
jLabel2.setBounds(new Rectangle(8, 3, 500, 23));
reloadURLs.setBounds(new Rectangle(9, 256, 306, 25));
reloadURLs.setToolTipText("");
reloadURLs.setText("Retrieve previously-saved list");
reloadURLs.addActionListener(this);
URLs.setText(noURLs);
URLs.setLineWrap(false);
URLs.setWrapStyleWord(false);
urlsScrollPane.setBounds(new Rectangle(8, 27, 500, 201));
publishURLs.setBounds(new Rectangle(9, 230, 306, 25));
publishURLs.setToolTipText("");
publishURLs.setText("Save the list above...");
publishURLs.addActionListener(this);
autogenTest.setPreferredSize(new Dimension(60, 25));
autogenTest.setToolTipText("");
autogenTest.setText("Go");
autogenTest.addActionListener(this);
autogenCheckBox.setFont(new java.awt.Font("Arial", Font.PLAIN, 11));
autogenCheckBox.setToolTipText("");
autogenCheckBox.setText(
"allow buddyfinder to periodically refresh your URL list using the " +
"above query.");
autogenCheckBox.setBounds(new Rectangle(7, 167, 464, 24));
autogenCheckBox.addActionListener(this);
autoGenOptionPanel.setBorder(BorderFactory.createLineBorder(SystemColor.
controlText, 2));
autoGenOptionPanel.setLayout(null);
autoGenOptionPanel.setBounds(new Rectangle(8, 10, 478, 201));
jLabel3.setToolTipText("");
jLabel3.setText(
"Automatic URL Generation Options: (advanced users only)");
jLabel3.setBounds(new Rectangle(6, 7, 465, 15));
autogenQuery.setPreferredSize(new Dimension(200, 20));
autogenQuery.setText("<your name> site:<yoursite.domain.org>");
autogenQuery.setBounds(new Rectangle(61, 43, 398, 20));
jLabel6.setText("Query:");
jLabel6.setBounds(new Rectangle(7, 44, 50, 15));
jLabel7.setFont(new java.awt.Font("Arial", Font.PLAIN, 11));
jLabel7.setToolTipText("");
jLabel7.setText(
"(This is the web search query used for \'Auto generate list\')");
jLabel7.setBounds(new Rectangle(5, 25, 463, 15));
saveQuery.setBounds(new Rectangle(61, 65, 227, 25));
saveQuery.setText("Save query");
saveQuery.addActionListener(this);
optionPanel.setLayout(null);
reloadQuery.setBounds(new Rectangle(61, 92, 226, 25));
reloadQuery.setToolTipText("");
reloadQuery.setText("Retrieve previously-saved query");
reloadQuery.addActionListener(this);
jLabel8.setText("Engine:");
jLabel8.setBounds(new Rectangle(12, 139, 51, 15));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -