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

📄 jremeventsview.java

📁 JRemoteControl is a simple Java&#8482 driven bluetooth remote control.It allows you to initiate virt
💻 JAVA
字号:
package fildiv.jremcntl.server.gui.app;import java.awt.Dimension;import java.awt.Font;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.io.File;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.SoftBevelBorder;import fildiv.jremcntl.server.core.JRemEnv;import fildiv.jremcntl.server.core.JRemProperties;import fildiv.jremcntl.server.core.JRemPropertyManager;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.JRemConfigDoc;import fildiv.jremcntl.server.gui.util.swing.SwingUtils;public class JRemEventsView extends JPanel {	private static final long serialVersionUID = 1L;	private JLabel jLabel = null;	private JTextField jTextFieldOnConnect = null;	private JButton jButtonOnConnect = null;	private JLabel jLabel1 = null;	private JLabel jLabel2 = null;	private JTextField jTextFieldOnDisconnect = null;	private JButton jButtonOnDisconnect = null;	private JLabel jLabel3 = null;		private JRemConfigDoc doc;	private JRemPropertyManager pm;	private JRemEnv env;	private DocumentListener listener = new DocumentListener() {		public void actionPerformed(DocumentEvent event) {			updateView(event);  //  @jve:decl-index=0:		}	};	private boolean updating;	/**	 * This is the default constructor	 */	public JRemEventsView() {		super();		initialize();				this.env = JRemEnv.getInstance();	}	/**	 * This method initializes this	 * 	 * @return void	 */	private void initialize() {		GridBagConstraints gridBagConstraints5 = new GridBagConstraints();		gridBagConstraints5.gridx = 0;		gridBagConstraints5.fill = GridBagConstraints.BOTH;		gridBagConstraints5.weightx = 1.0;		gridBagConstraints5.weighty = 1.0;		gridBagConstraints5.gridwidth = 3;		gridBagConstraints5.gridy = 3;		jLabel3 = new JLabel();		jLabel3.setText("");		jLabel3.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));		GridBagConstraints gridBagConstraints4 = new GridBagConstraints();		gridBagConstraints4.gridx = 2;		gridBagConstraints4.gridy = 2;		GridBagConstraints gridBagConstraints3 = new GridBagConstraints();		gridBagConstraints3.fill = GridBagConstraints.BOTH;		gridBagConstraints3.gridy = 2;		gridBagConstraints3.weightx = 1.0;		gridBagConstraints3.insets = new Insets(2, 2, 2, 2);		gridBagConstraints3.gridx = 1;		GridBagConstraints gridBagConstraints21 = new GridBagConstraints();		gridBagConstraints21.gridx = 0;		gridBagConstraints21.insets = new Insets(7, 2, 2, 2);		gridBagConstraints21.fill = GridBagConstraints.HORIZONTAL;		gridBagConstraints21.gridwidth = 3;		gridBagConstraints21.gridy = 0;		jLabel2 = new JLabel();		jLabel2.setText("Run a external program for this events");		GridBagConstraints gridBagConstraints11 = new GridBagConstraints();		gridBagConstraints11.gridx = 0;		gridBagConstraints11.insets = new Insets(2, 2, 2, 2);		gridBagConstraints11.gridy = 2;		jLabel1 = new JLabel();		jLabel1.setText("On client disconnection");		jLabel1.setFont(new Font("Dialog", Font.PLAIN, 12));		GridBagConstraints gridBagConstraints2 = new GridBagConstraints();		gridBagConstraints2.gridx = 2;		gridBagConstraints2.insets = new Insets(2, 2, 2, 2);		gridBagConstraints2.gridy = 1;		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();		gridBagConstraints1.fill = GridBagConstraints.BOTH;		gridBagConstraints1.gridy = 1;		gridBagConstraints1.weightx = 1.0;		gridBagConstraints1.insets = new Insets(2, 2, 2, 2);		gridBagConstraints1.gridx = 1;		GridBagConstraints gridBagConstraints = new GridBagConstraints();		gridBagConstraints.gridx = 0;		gridBagConstraints.anchor = GridBagConstraints.WEST;		gridBagConstraints.insets = new Insets(2, 2, 2, 2);		gridBagConstraints.gridy = 1;		jLabel = new JLabel();		jLabel.setText("On client connection");		jLabel.setFont(new Font("Dialog", Font.PLAIN, 12));		this.setSize(423, 200);		this.setLayout(new GridBagLayout());		this.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED));		this.add(jLabel, gridBagConstraints);		this.add(getJTextFieldOnConnect(), gridBagConstraints1);		this.add(getJButtonOnConnect(), gridBagConstraints2);		this.add(jLabel1, gridBagConstraints11);		this.add(jLabel2, gridBagConstraints21);		this.add(getJTextFieldOnDisconnect(), gridBagConstraints3);		this.add(getJButtonOnDisconnect(), gridBagConstraints4);		this.add(jLabel3, gridBagConstraints5);	}	public void setDocument(JRemConfigDoc doc) {		if (this.doc != null) {			commitPendings();			this.doc.removeActionListener(listener);		}		this.doc = (JRemConfigDoc) doc;		this.pm = (JRemPropertyManager) doc;				if (this.doc != null)			this.doc.addActionListener(listener);	}		private void commitPendings() {				setupOnConnect();		setupOnDisconnect();	}	/**	 * This method initializes jTextFieldOnConnect		 * 		 * @return javax.swing.JTextField		 */	private JTextField getJTextFieldOnConnect() {		if (jTextFieldOnConnect == null) {			jTextFieldOnConnect = new JTextField();						jTextFieldOnConnect.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {										setupOnConnect();				}			});						jTextFieldOnConnect.addFocusListener(new FocusListener() {				public void focusGained(FocusEvent e) {									}				public void focusLost(FocusEvent e) {					setupOnConnect();				}							});					}		return jTextFieldOnConnect;	}	protected void setupOnConnect() {		pm.setPropertyValue(JRemProperties.PROP_ON_CONNECT, 				getJTextFieldOnConnect().getText());	}	protected void setupOnDisconnect() {		pm.setPropertyValue(JRemProperties.PROP_ON_DISCONNECT, 				getJTextFieldOnDisconnect().getText());			}	/**	 * This method initializes jButtonOnConnect		 * 		 * @return javax.swing.JButton		 */	private JButton getJButtonOnConnect() {		if (jButtonOnConnect == null) {			jButtonOnConnect = new JButton();			jButtonOnConnect.setMaximumSize(new Dimension(25, 20));			jButtonOnConnect.setPreferredSize(new Dimension(25, 20));			jButtonOnConnect.setText("...");			jButtonOnConnect.setMinimumSize(new Dimension(25, 20));			jButtonOnConnect.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					File f = SwingUtils.showOpenDialog(env, JRemEventsView.this);					if (f != null) {												String path = f.getAbsolutePath();						pm.setPropertyValue(JRemProperties.PROP_ON_CONNECT, path);					}				}			});		}		return jButtonOnConnect;	}	/**	 * This method initializes jTextFieldOnDisconnect		 * 		 * @return javax.swing.JTextField		 */	private JTextField getJTextFieldOnDisconnect() {		if (jTextFieldOnDisconnect == null) {			jTextFieldOnDisconnect = new JTextField();						jTextFieldOnDisconnect.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {										setupOnDisconnect();				}			});						jTextFieldOnDisconnect.addFocusListener(new FocusListener() {				public void focusGained(FocusEvent e) {									}				public void focusLost(FocusEvent e) {					setupOnDisconnect();				}							});					}		return jTextFieldOnDisconnect;	}	/**	 * This method initializes jButtonOnDisconnect		 * 		 * @return javax.swing.JButton		 */	private JButton getJButtonOnDisconnect() {		if (jButtonOnDisconnect == null) {			jButtonOnDisconnect = new JButton();			jButtonOnDisconnect.setMaximumSize(new Dimension(25, 20));			jButtonOnDisconnect.setPreferredSize(new Dimension(25, 20));			jButtonOnDisconnect.setText("...");			jButtonOnDisconnect.setMinimumSize(new Dimension(25, 20));			jButtonOnDisconnect.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					File f = SwingUtils.showOpenDialog(env, JRemEventsView.this);					if (f != null) {												String path = f.getAbsolutePath();						pm.setPropertyValue(JRemProperties.PROP_ON_DISCONNECT, path);					}				}			});		}		return jButtonOnDisconnect;	}		private void updateView(DocumentEvent event) {		try {						updating = true;						SwingUtils.showWaitCursor(this, false);							if (event instanceof DocumentModifiedEvent) {								update();												} else {								if (event instanceof DocumentAttachedEvent) {						update();								} else {					enableAll(false);				}							}					} finally {			updating = false;						SwingUtils.showWaitCursor(this, false);		}	}	private void enableAll(boolean enable) {				getJButtonOnConnect().setEnabled(enable);		getJButtonOnDisconnect().setEnabled(enable);		getJTextFieldOnConnect().setEnabled(enable);		getJTextFieldOnDisconnect().setEnabled(enable);	}	private void update() {				getJTextFieldOnConnect().setEnabled(pm.isPropertyEnabled(JRemProperties.PROP_ON_CONNECT));		getJTextFieldOnDisconnect().setEnabled(pm.isPropertyEnabled(JRemProperties.PROP_ON_DISCONNECT));		getJButtonOnConnect().setEnabled(getJTextFieldOnConnect().isEnabled());		getJButtonOnDisconnect().setEnabled(getJTextFieldOnDisconnect().isEnabled());				getJTextFieldOnConnect().setText(				(String) pm.getPropertyValue(JRemProperties.PROP_ON_CONNECT));		getJTextFieldOnDisconnect().setText(				(String) pm.getPropertyValue(JRemProperties.PROP_ON_DISCONNECT));	}}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

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