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

📄 jremconsole.java

📁 JRemoteControl is a simple Java&#8482 driven bluetooth remote control.It allows you to initiate virt
💻 JAVA
字号:
/* * 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.Frame;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.Point;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import fildiv.jremcntl.common.core.Logger;import fildiv.jremcntl.server.utils.JRemServerUtils;public class JRemConsole extends JDialog {	private static final long serialVersionUID = 1L;	private JPanel jContentPane = null;	private JTextArea jConsoleTextArea = null;	private JButton jOkButton = null;	private JScrollPane jScrollPane = null;	private JButton jClearButton = null;	private static LoggerImpl logger;	// TODO: implements colors for different errors type	private static Color STARTUP_COLOR = Color.BLACK;	private static Color ERR_COLOR = Color.RED;	private static Color WARN_COLOR = Color.ORANGE;	private static Color INFO_COLOR = Color.BLACK;	private static JRemConsole consoleDialog = null;	protected static boolean hasErrors; 		private static class LoggerImpl implements Logger {				private StringBuffer tmpBuffer = new StringBuffer();		private JTextArea textArea;		public void setTextArea(JTextArea textArea) {			this.textArea = textArea;						appendAndScroll(tmpBuffer.toString(), STARTUP_COLOR);		}				public void error(String s) {			JRemConsole.hasErrors = true;			appendAndScroll(s, ERR_COLOR);		}		public void error(Exception e) {			JRemConsole.hasErrors = true;			appendAndScroll(JRemServerUtils.getExceptionStack(e), 					ERR_COLOR);			}		public void info(String s) {			appendAndScroll(s, INFO_COLOR);		}		public void warning(String s) {			appendAndScroll(s, WARN_COLOR);		}		private void appendAndScroll(String s, Color c) {						String msg = s + "\n";						if (textArea != null) {												msg = textArea.getText() + msg;								textArea.setText(msg);				textArea.setCaretPosition(textArea.getText().length());			} else {								tmpBuffer.append(msg);			}		}	}	public static JRemConsole getInstance(Frame frame) {				if (consoleDialog == null) {			consoleDialog = new JRemConsole(frame);			consoleDialog.pack();			consoleDialog.setSize(640, 400);			consoleDialog.setModal(true);		}		return consoleDialog;	}		public static void showConsole() {				if (consoleDialog == null)			throw new IllegalStateException(					"You must call getInstance before!");		consoleDialog.setVisible(true);			}		public static void disposeConsole() {				if (consoleDialog != null)			consoleDialog.dispose();	}	/**	 * @param owner	 */	public JRemConsole(Frame owner) {		super(owner);		initialize();				LoggerImpl logger = (LoggerImpl) getLogger();		logger.setTextArea(getJConsoleTextArea());	}	public static Logger getLogger() {				if (logger == null)			logger = new LoggerImpl();				return logger;	}		/**	 * This method initializes this	 * 	 * @return void	 */		private void initialize() {		this.setSize(300, 200);		this.setTitle("JRemote Control console");		this.setModal(true);		this.setContentPane(getJContentPane());	}	/**	 * This method initializes jContentPane	 * 	 * @return javax.swing.JPanel	 */	private JPanel getJContentPane() {		if (jContentPane == null) {			GridBagConstraints gridBagConstraints2 = new GridBagConstraints();			gridBagConstraints2.gridx = 1;			gridBagConstraints2.insets = new Insets(2, 2, 2, 2);			gridBagConstraints2.anchor = GridBagConstraints.EAST;			gridBagConstraints2.gridy = 1;			GridBagConstraints gridBagConstraints = new GridBagConstraints();			gridBagConstraints.fill = GridBagConstraints.BOTH;			gridBagConstraints.gridy = 0;			gridBagConstraints.weightx = 1.0;			gridBagConstraints.weighty = 1.0;			gridBagConstraints.insets = new Insets(0, 0, 0, 0);			gridBagConstraints.gridwidth = 2;			gridBagConstraints.gridx = 0;			GridBagConstraints gridBagConstraints1 = new GridBagConstraints();			gridBagConstraints1.gridx = 0;			gridBagConstraints1.insets = new Insets(2, 2, 2, 2);			gridBagConstraints1.anchor = GridBagConstraints.EAST;			gridBagConstraints1.gridy = 1;			jContentPane = new JPanel();			jContentPane.setLayout(new GridBagLayout());			jContentPane.add(getJOkButton(), gridBagConstraints1);			jContentPane.add(getJScrollPane(), gridBagConstraints);			jContentPane.add(getJClearButton(), gridBagConstraints2);		}		return jContentPane;	}	/**	 * This method initializes jConsoleTextArea		 * 		 * @return javax.swing.JTextArea		 */	private JTextArea getJConsoleTextArea() {		if (jConsoleTextArea == null) {			jConsoleTextArea = new JTextArea();			jConsoleTextArea.setEditable(false);			jConsoleTextArea.setBackground(new Color(243, 243, 243));		}		return jConsoleTextArea;	}	/**	 * This method initializes jOkButton		 * 		 * @return javax.swing.JButton		 */	private JButton getJOkButton() {		if (jOkButton == null) {			jOkButton = new JButton();			jOkButton.setText("Ok");			jOkButton.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					onOkButton();				}			});		}		return jOkButton;	}	/**	 * This method initializes jScrollPane		 * 		 * @return javax.swing.JScrollPane		 */	private JScrollPane getJScrollPane() {		if (jScrollPane == null) {			jScrollPane = new JScrollPane();			jScrollPane.setViewportView(getJConsoleTextArea());		}		return jScrollPane;	}	/**	 * This method initializes jClearButton		 * 		 * @return javax.swing.JButton		 */	private JButton getJClearButton() {		if (jClearButton == null) {			jClearButton = new JButton();			jClearButton.setText("Clear");			jClearButton.addActionListener(new java.awt.event.ActionListener() {				public void actionPerformed(java.awt.event.ActionEvent e) {					onClearButton();				}			});		}		return jClearButton;	}		private void onOkButton() {		hide();	}		private void onClearButton() {		getJConsoleTextArea().setText("");	}	public static boolean hasErrors() {		return hasErrors;	}}

⌨️ 快捷键说明

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