annoteaserverprefs.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 218 行

JAVA
218
字号
//The MIT License//// Copyright (c) 2004 Mindswap Research Group, University of Maryland, College Park//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions://// The above copyright notice and this permission notice shall be included in// all copies or substantial portions of the Software.//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS// IN THE SOFTWARE.package org.mindswap.swoop.annotea;import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.net.URL;import java.util.ArrayList;import java.util.List;import javax.swing.JButton;import javax.swing.JComponent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.border.EtchedBorder;/** * @author Aditya * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */public class AnnoteaServerPrefs extends JFrame {		Font tahoma = new Font("Tahoma", Font.PLAIN, 11);	List serverRList, serverPList;		public AnnoteaServerPrefs() {		serverRList = new ArrayList();		serverRList.add("http://www.mindswap.org/2004/annotea/Annotation");		serverPList = new ArrayList();		serverPList.add("http://www.mindswap.org/2004/annotea/Annotation");		setupUI();	}		private JButton createButton(String lbl, String tooltip) {		JButton btn = new JButton(lbl);		btn.setFont(tahoma);		btn.setToolTipText(tooltip);		return btn;	}		private JTextField createField(String lbl) {		JTextField fld = new JTextField(lbl);		fld.setFont(tahoma);		return fld;	}		private JPanel createBox(String txt, JComponent comp) {		JPanel panel = new JPanel();		panel.setLayout(new BorderLayout());		JLabel lbl = new JLabel(txt);		lbl.setFont(tahoma);		panel.add(lbl, "West");		panel.add(comp, "Center");		return panel;	}		private void setupUI() {				JLabel topLbl = new JLabel("Retrieve Annotations from the following servers:");		topLbl.setFont(new Font("Tahoma", Font.BOLD, 10));		final JTextField serverFld = new JTextField();		JPanel serverFldPanel = createBox("Server URL:", serverFld);		JPanel serverTopPanel = new JPanel();		serverTopPanel.setLayout(new BorderLayout());		serverTopPanel.add(serverFldPanel, "Center");		JButton addServerBtn = createButton("Add", "Add URL to Server List");		serverTopPanel.add(addServerBtn, "East");		serverTopPanel.add(topLbl, "North");		JPanel retrPanel = new JPanel();		retrPanel.setLayout(new BorderLayout());				retrPanel.add(serverTopPanel, "North");		final JList serverLst = new JList();		serverLst.setFont(tahoma);		serverLst.setListData(serverRList.toArray());		JScrollPane serverPane = new JScrollPane(serverLst);		retrPanel.add(serverPane, "Center");		final JLabel serverListLbl = new JLabel("Server List: 1 present");		serverListLbl.setFont(tahoma);		retrPanel.add(serverListLbl, "South");		retrPanel.setBorder(new EtchedBorder());				addServerBtn.addActionListener(new ActionListener() {			public void actionPerformed(ActionEvent e) {				if (!isURL(serverFld.getText())) {					JOptionPane.showMessageDialog(null, "Invalid URL entered", "Error", JOptionPane.ERROR_MESSAGE);					return;				}				serverRList.add(serverFld.getText());				serverLst.setListData(serverRList.toArray());				serverListLbl.setText("Server List: "+serverRList.size()+ " present");			}		});				serverLst.addKeyListener(new KeyListener() {			public void keyPressed(KeyEvent e) {				int key = e.getKeyCode();				if (key==127) {					// delete server URL entry					serverRList.remove(serverLst.getSelectedIndex());					serverLst.setListData(serverRList.toArray());					serverListLbl.setText("Server List: "+serverRList.size()+ " present");				}			}			public void keyReleased(KeyEvent arg0) {}			public void keyTyped(KeyEvent arg0) {}					});				JLabel topLbl2 = new JLabel("Post Annotations to the following servers:");		topLbl2.setFont(new Font("Tahoma", Font.BOLD, 10));		final JTextField serverFld2 = new JTextField();		JPanel serverFldPanel2 = createBox("Server URL:", serverFld2);		JPanel serverTopPanel2 = new JPanel();		serverTopPanel2.setLayout(new BorderLayout());		serverTopPanel2.add(serverFldPanel2, "Center");		JButton addServerBtn2 = createButton("Add", "Add URL to Server List");		serverTopPanel2.add(addServerBtn2, "East");		serverTopPanel2.add(topLbl2, "North");		final JList serverLst2 = new JList();		serverLst2.setFont(tahoma);		serverLst2.setListData(serverPList.toArray());		JScrollPane serverPane2 = new JScrollPane(serverLst2);		final JLabel serverListLbl2 = new JLabel("Server List: 1 present");		serverListLbl2.setFont(tahoma);		JPanel postPanel = new JPanel();		postPanel.setLayout(new BorderLayout());		postPanel.add(serverTopPanel2, "North");		postPanel.add(serverPane2, "Center");		postPanel.add(serverListLbl2, "South");		postPanel.setBorder(new EtchedBorder());				addServerBtn2.addActionListener(new ActionListener() {			public void actionPerformed(ActionEvent e) {				if (!isURL(serverFld2.getText())) {					JOptionPane.showMessageDialog(null, "Invalid URL entered", "Error", JOptionPane.ERROR_MESSAGE);					return;				}				serverPList.add(serverFld2.getText());				serverLst2.setListData(serverPList.toArray());				serverListLbl2.setText("Server List: "+serverPList.size()+ " present");			}		});				serverLst2.addKeyListener(new KeyListener() {			public void keyPressed(KeyEvent e) {				int key = e.getKeyCode();				if (key==127) {					// delete server URL entry					serverPList.remove(serverLst2.getSelectedIndex());					serverLst2.setListData(serverPList.toArray());					serverListLbl2.setText("Server List: "+serverPList.size()+ " present");				}			}			public void keyReleased(KeyEvent arg0) {}			public void keyTyped(KeyEvent arg0) {}					});				getContentPane().setLayout(new GridLayout(2,1));		getContentPane().add(retrPanel);		getContentPane().add(postPanel);				setSize(400,400);		setLocation(260,200);		setResizable(false);		setTitle("Annotea Preferences");		hide();	}	private boolean isURL(String urlStr) {		try {			URL url = new URL(urlStr);			return true;			}		catch (Exception e) {			return false;		}	}}

⌨️ 快捷键说明

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