⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jrempropertyeditorview.java

📁 JRemoteControl is a simple Java&#8482 driven bluetooth remote control.It allows you to initiate virt
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * JRemCntl - Copyright (C) 2007 Filippo Di Vattimo <fildiv@gmail.com> * See COPYING */package fildiv.jremcntl.server.gui.app;import java.awt.Color;import java.awt.Dimension;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.SystemColor;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.io.File;import java.util.Collection;import java.util.Hashtable;import java.util.Iterator;import java.util.Map;import javax.swing.ComboBoxModel;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import fildiv.jremcntl.common.core.JRemMobileKeys;import fildiv.jremcntl.server.core.JRemEnv;import fildiv.jremcntl.server.core.JRemProperties;import fildiv.jremcntl.server.core.JRemPropertyDomainValue;import fildiv.jremcntl.server.core.JRemPropertyManager;import fildiv.jremcntl.server.gui.core.AbstractDocument;import fildiv.jremcntl.server.gui.core.DocumentAttachedEvent;import fildiv.jremcntl.server.gui.core.DocumentEvent;import fildiv.jremcntl.server.gui.core.DocumentListener;import fildiv.jremcntl.server.gui.core.DocumentModifiedEvent;import fildiv.jremcntl.server.gui.model.JRemCommandDoc;import fildiv.jremcntl.server.gui.model.JRemContextDoc;import fildiv.jremcntl.server.gui.util.swing.SwingUtils;import fildiv.jremcntl.server.gui.util.swing.JRemRenderers.AbstractLabelComboBoxRenderer;import fildiv.jremcntl.server.utils.JRemServerUtils;import java.awt.event.KeyEvent;import java.awt.Font;public class JRemPropertyEditorView extends JPanel {	private static final long serialVersionUID = 1L;	private JLabel jLabel = null;	private JTextField jTextId = null;	private JLabel jLabel1 = null;	private JTextField jTextDescription = null;	private JLabel jLabel2 = null;	private JLabel jLabel21 = null;	private JButton jButtonBrowseBaseDir = null;	private JTextField jTextBasePath = null;	private JComboBox jComboDefView = null;	private JLabel jLabel211 = null;	private JComboBox jComboKey = null;	private JLabel jLabel22 = null;	private JTextField jTextCmdPath = null;	private JButton jButtonBrowseCmdPath = null;		private JRemEnv env;	private boolean updating;			protected static class KeyComboItem extends JRemPropertyDomainValue {		private boolean used = false;				public KeyComboItem(String key, String value) {			super(key, value);		}						public boolean isUsed() {			return used;		}				public void setUsed(boolean used) {			this.used  = used;		}				public String toString() {						String desc = "";			String mobileKey = (String) getValue();						if (!"".equals(mobileKey)) {							desc = mobileKey;				if (used)					desc = desc + "*";							} else				desc = "<none>";						return desc;		}	}		protected static class MobileKeysComboRenderer extends AbstractLabelComboBoxRenderer {		public void setupComponent(JList list, Object value, 				int index, boolean isSelected, boolean cellHasFocus) {			KeyComboItem ci = (KeyComboItem) value;			if (ci == null)				return;						if (ci.isUsed()) {				setForeground(JRemGUIConstants.JREM_FORE_COLOR_KEY_USED);			} else {				setForeground(list.getForeground());			}						setText((String) ci.getValue());		}			}		/**	 * This is the default constructor	 * @param env 	 */	public JRemPropertyEditorView() {		super();				this.env = JRemEnv.getInstance();				initialize();		disableAll();	}	/**	 * This method initializes this	 * 	 * @return void	 */	private void initialize() {		GridBagConstraints gridBagConstraints71 = new GridBagConstraints();		gridBagConstraints71.gridx = 1;		gridBagConstraints71.insets = new Insets(2, 2, 2, 3);		gridBagConstraints71.fill = GridBagConstraints.HORIZONTAL;		gridBagConstraints71.gridwidth = 6;		gridBagConstraints71.weightx = 1.0;		gridBagConstraints71.gridy = 0;		jLabel3 = new JLabel();		jLabel3.setText("Item Properties");		GridBagConstraints gridBagConstraints51 = new GridBagConstraints();		gridBagConstraints51.gridwidth = 3;		gridBagConstraints51.ipadx = 275;		gridBagConstraints51.fill = GridBagConstraints.BOTH;		gridBagConstraints51.gridy = 5;		gridBagConstraints51.weightx = 1.0;		gridBagConstraints51.gridheight = 1;		gridBagConstraints51.insets = new Insets(2, 2, 0, 0);		gridBagConstraints51.gridx = 3;		GridBagConstraints gridBagConstraints13 = new GridBagConstraints();		gridBagConstraints13.gridx = 1;		gridBagConstraints13.insets = new Insets(2, 4, 0, 0);		gridBagConstraints13.gridy = 5;		jLabel221 = new JLabel();		jLabel221.setBackground(SystemColor.control);		jLabel221.setBorder(null);		jLabel221.setMaximumSize(new Dimension(130, 23));		jLabel221.setMinimumSize(new Dimension(130, 23));		jLabel221.setPreferredSize(new Dimension(130, 23));		jLabel221.setText("Command question");		jLabel221.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel221.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel221.setForeground(Color.black);		GridBagConstraints gridBagConstraints8 = new GridBagConstraints();		gridBagConstraints8.gridx = 6;		gridBagConstraints8.insets = new Insets(2, 2, 0, 0);		gridBagConstraints8.gridy = 4;		GridBagConstraints gridBagConstraints7 = new GridBagConstraints();		gridBagConstraints7.fill = GridBagConstraints.BOTH;		gridBagConstraints7.gridy = 4;		gridBagConstraints7.weightx = 1.0;		gridBagConstraints7.gridwidth = 3;		gridBagConstraints7.insets = new Insets(2, 2, 0, 0);		gridBagConstraints7.gridx = 3;		GridBagConstraints gridBagConstraints61 = new GridBagConstraints();		gridBagConstraints61.gridx = 1;		gridBagConstraints61.fill = GridBagConstraints.BOTH;		gridBagConstraints61.insets = new Insets(2, 4, 0, 0);		gridBagConstraints61.gridy = 4;		jLabel22 = new JLabel();		jLabel22.setBackground(SystemColor.control);		jLabel22.setBorder(null);		jLabel22.setMaximumSize(new Dimension(130, 23));		jLabel22.setMinimumSize(new Dimension(130, 23));		jLabel22.setPreferredSize(new Dimension(130, 23));		jLabel22.setText("Command Path");		jLabel22.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel22.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel22.setForeground(Color.black);		GridBagConstraints gridBagConstraints5 = new GridBagConstraints();		gridBagConstraints5.fill = GridBagConstraints.CENTER;		gridBagConstraints5.gridy = 3;		gridBagConstraints5.weightx = 1.0;		gridBagConstraints5.insets = new Insets(2, 2, 0, 0);		gridBagConstraints5.anchor = GridBagConstraints.WEST;		gridBagConstraints5.gridx = 5;		GridBagConstraints gridBagConstraints41 = new GridBagConstraints();		gridBagConstraints41.gridx = 4;		gridBagConstraints41.insets = new Insets(2, 2, 0, 0);		gridBagConstraints41.fill = GridBagConstraints.BOTH;		gridBagConstraints41.weightx = 0.0;		gridBagConstraints41.anchor = GridBagConstraints.CENTER;		gridBagConstraints41.gridy = 3;		jLabel211 = new JLabel();		jLabel211.setBackground(SystemColor.control);		jLabel211.setBorder(null);		jLabel211.setMaximumSize(new Dimension(110, 15));		jLabel211.setMinimumSize(new Dimension(110, 15));		jLabel211.setPreferredSize(new Dimension(110, 15));		jLabel211.setText("J2ME Device Key");		jLabel211.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel211.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel211.setForeground(Color.black);		GridBagConstraints gridBagConstraints31 = new GridBagConstraints();		gridBagConstraints31.fill = GridBagConstraints.VERTICAL;		gridBagConstraints31.gridy = 3;		gridBagConstraints31.weightx = 0.0;		gridBagConstraints31.insets = new Insets(2, 2, 0, 0);		gridBagConstraints31.anchor = GridBagConstraints.WEST;		gridBagConstraints31.gridx = 3;		GridBagConstraints gridBagConstraints2 = new GridBagConstraints();		gridBagConstraints2.anchor = GridBagConstraints.EAST;		gridBagConstraints2.gridwidth = 3;		gridBagConstraints2.fill = GridBagConstraints.BOTH;		gridBagConstraints2.gridy = 2;		gridBagConstraints2.weightx = 1.0;		gridBagConstraints2.insets = new Insets(2, 2, 0, 0);		gridBagConstraints2.gridx = 3;		GridBagConstraints gridBagConstraints12 = new GridBagConstraints();		gridBagConstraints12.gridx = 6;		gridBagConstraints12.insets = new Insets(2, 2, 0, 0);		gridBagConstraints12.gridy = 2;		GridBagConstraints gridBagConstraints6 = new GridBagConstraints();		gridBagConstraints6.gridx = 1;		gridBagConstraints6.fill = GridBagConstraints.BOTH;		gridBagConstraints6.anchor = GridBagConstraints.WEST;		gridBagConstraints6.insets = new Insets(2, 4, 0, 0);		gridBagConstraints6.gridy = 3;		jLabel21 = new JLabel();		jLabel21.setBackground(SystemColor.control);		jLabel21.setBorder(null);		jLabel21.setMaximumSize(new Dimension(90, 23));		jLabel21.setMinimumSize(new Dimension(90, 23));		jLabel21.setPreferredSize(new Dimension(90, 23));		jLabel21.setText("Default View");		jLabel21.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel21.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel21.setForeground(Color.black);		GridBagConstraints gridBagConstraints4 = new GridBagConstraints();		gridBagConstraints4.gridx = 1;		gridBagConstraints4.fill = GridBagConstraints.HORIZONTAL;		gridBagConstraints4.insets = new Insets(2, 4, 0, 0);		gridBagConstraints4.gridy = 2;		jLabel2 = new JLabel();		jLabel2.setBackground(SystemColor.control);		jLabel2.setBorder(null);		jLabel2.setMaximumSize(new Dimension(130, 23));		jLabel2.setMinimumSize(new Dimension(130, 23));		jLabel2.setPreferredSize(new Dimension(130, 23));		jLabel2.setText("Base path");		jLabel2.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel2.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel2.setForeground(Color.black);		GridBagConstraints gridBagConstraints3 = new GridBagConstraints();		gridBagConstraints3.fill = GridBagConstraints.BOTH;		gridBagConstraints3.gridy = 1;		gridBagConstraints3.weightx = 1.0;		gridBagConstraints3.insets = new Insets(2, 2, 0, 0);		gridBagConstraints3.gridx = 5;		GridBagConstraints gridBagConstraints11 = new GridBagConstraints();		gridBagConstraints11.gridx = 4;		gridBagConstraints11.insets = new Insets(2, 2, 0, 0);		gridBagConstraints11.fill = GridBagConstraints.BOTH;		gridBagConstraints11.weightx = 0.0;		gridBagConstraints11.anchor = GridBagConstraints.WEST;		gridBagConstraints11.gridy = 1;		jLabel1 = new JLabel();		jLabel1.setBackground(SystemColor.control);		jLabel1.setBorder(null);		jLabel1.setMaximumSize(new Dimension(90, 23));		jLabel1.setMinimumSize(new Dimension(90, 23));		jLabel1.setPreferredSize(new Dimension(90, 23));		jLabel1.setText("Description");		jLabel1.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel1.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel1.setForeground(Color.black);		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();		gridBagConstraints1.fill = GridBagConstraints.VERTICAL;		gridBagConstraints1.gridy = 1;		gridBagConstraints1.weightx = 0.0;		gridBagConstraints1.gridheight = 1;		gridBagConstraints1.weighty = 0.0;		gridBagConstraints1.insets = new Insets(2, 2, 0, 0);		gridBagConstraints1.gridwidth = 2;		gridBagConstraints1.anchor = GridBagConstraints.WEST;		gridBagConstraints1.gridx = 2;		GridBagConstraints gridBagConstraints = new GridBagConstraints();		gridBagConstraints.gridx = 1;		gridBagConstraints.fill = GridBagConstraints.BOTH;		gridBagConstraints.weightx = 0.0;		gridBagConstraints.weighty = 0.0;		gridBagConstraints.insets = new Insets(2, 4, 0, 0);		gridBagConstraints.anchor = GridBagConstraints.WEST;		gridBagConstraints.gridwidth = 1;		gridBagConstraints.gridy = 1;		jLabel = new JLabel();		jLabel.setText("ID");		jLabel.setMinimumSize(new Dimension(130, 15));		jLabel.setMaximumSize(new Dimension(130, 15));		jLabel.setForeground(Color.black);		jLabel.setBackground(SystemColor.control);		jLabel.setBorder(null);		jLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);		jLabel.setFont(new Font("Dialog", Font.PLAIN, 12));		jLabel.setPreferredSize(new Dimension(130, 23));		this.setSize(501, 159);		this.setLayout(new GridBagLayout());		this.add(jLabel, gridBagConstraints);		this.add(getJTextId(), gridBagConstraints1);		this.add(jLabel1, gridBagConstraints11);		this.add(getJTextDescription(), gridBagConstraints3);		this.add(jLabel2, gridBagConstraints4);		this.add(jLabel21, gridBagConstraints6);		this.add(getJButtonBrowseBaseDir(), gridBagConstraints12);		this.add(getJTextBasePath(), gridBagConstraints2);		this.add(getJComboDefView(), gridBagConstraints31);		this.add(jLabel211, gridBagConstraints41);		this.add(getJComboKey(), gridBagConstraints5);		this.add(jLabel22, gridBagConstraints61);		this.add(getJTextCmdPath(), gridBagConstraints7);		this.add(getJButtonBrowseCmdPath(), gridBagConstraints8);		this.add(jLabel221, gridBagConstraints13);		this.add(getJTextQuestion(), gridBagConstraints51);		this.add(jLabel3, gridBagConstraints71);	}	/**	 * This method initializes jTextId		 * 		 * @return javax.swing.JTextField		 */	private JTextField getJTextId() {		if (jTextId == null) {			jTextId = new JTextField();			jTextId.setForeground(Color.BLACK);			jTextId.setPreferredSize(new Dimension(50, 23));			jTextId.setMaximumSize(new Dimension(50, 23));			jTextId.setMinimumSize(new Dimension(50, 23));		}		return jTextId;	}	/**	 * This method initializes jTextDescription		 * 		 * @return javax.swing.JTextField		 */	private JTextField getJTextDescription() {		if (jTextDescription == null) {			jTextDescription = new JTextField();			jTextDescription.setForeground(Color.BLACK);			jTextDescription.setPreferredSize(new Dimension(150, 20));			jTextDescription.setMinimumSize(new Dimension(30, 23));			jTextDescription.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {										setupDescription();				}			});						jTextDescription.addFocusListener(new FocusListener() {				public void focusGained(FocusEvent e) {									}				public void focusLost(FocusEvent e) {					setupDescription();				}							});		}		return jTextDescription;	}	/**	 * This method initializes jButtonBrowseBaseDir		 * 		 * @return javax.swing.JButton		 */	private JButton getJButtonBrowseBaseDir() {		if (jButtonBrowseBaseDir == null) {			jButtonBrowseBaseDir = new JButton();			jButtonBrowseBaseDir.setPreferredSize(new Dimension(25, 20));			jButtonBrowseBaseDir.setMaximumSize(new Dimension(25, 20));			jButtonBrowseBaseDir.setText("...");			jButtonBrowseBaseDir.setMinimumSize(new Dimension(25, 20));			jButtonBrowseBaseDir.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					File f = SwingUtils.showOpenDirDialog(env, JRemPropertyEditorView.this);					if (f != null) {												String path = f.getAbsolutePath();						pm.setPropertyValue(JRemProperties.PROP_BASE_DIR, path);					}				}			});		}		return jButtonBrowseBaseDir;	}	/**	 * This method initializes jTextBasePath		 * 		 * @return javax.swing.JTextField		 */	private JTextField getJTextBasePath() {		if (jTextBasePath == null) {			jTextBasePath = new JTextField();			jTextBasePath.setForeground(Color.BLACK);			jTextBasePath.setToolTipText("Use '.' to ignore parent base path.");			jTextBasePath.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {

⌨️ 快捷键说明

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