package com.james.uicomparerunner.ui; import java.awt.BorderLayout; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; import javax.swing.JTextPane; import javax.swing.SwingUtilities; import com.james.uicomparerunner.ui.uiinterface.OnWindowCloseListener; public class SocketFrame extends JFrame { private JTextPane devicePane; public SocketFrame(JFrame parentFrame, final OnWindowCloseListener onWindowCloseListener) { setTitle("Remote"); setLayout(new BorderLayout()); devicePane = new JTextPane(); devicePane.setEditable(false); this.add(devicePane, BorderLayout.CENTER); pack(); addWindowListener(new WindowListener() { @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowClosing(WindowEvent arg0) { if (onWindowCloseListener != null) onWindowCloseListener.onWindowClosing(); } @Override public void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub } }); } public void setDevice(String device) { String content = "Device connect:\n" + device; devicePane.setText(content); SwingUtilities.invokeLater(new Runnable() { public void run() { pack(); } }); } public void appendCmd(String cmd) { String content = devicePane.getText() + "\n" + cmd; devicePane.setText(content); SwingUtilities.invokeLater(new Runnable() { public void run() { pack(); } }); } }