|
From: Johannes Z. <jza...@us...> - 2006-02-02 21:23:22
|
Update of /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/gui/dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24072/src/net/sf/magicmap/client/gui/dialogs Modified Files: ConnectServerDialog.java Log Message: window close operation now treated as cancel Index: ConnectServerDialog.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/gui/dialogs/ConnectServerDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ConnectServerDialog.java 11 May 2005 10:51:30 -0000 1.3 --- ConnectServerDialog.java 2 Feb 2006 21:23:14 -0000 1.4 *************** *** 32,180 **** public class ConnectServerDialog extends JDialog implements ActionListener { ! private JPanel mainPanel; ! private ServerConnectionInfo serverConnectionInfo; ! private JComboBox hostname; ! private JTextField clientname; ! private JTextField port; ! private JPasswordField password; ! private JCheckBox useNoServer; ! ! public static ServerConnectionInfo showDialog(Frame owner, ServerConnectionInfo info){ ! ConnectServerDialog d = new ConnectServerDialog(owner, info); ! GUIUtils.locateOnScreen(d); ! d.setModal(true); ! d.setVisible(true); ! return d.getServerConnectionInfo(); ! } ! public ConnectServerDialog(Frame owner, ServerConnectionInfo info) { ! super(owner, GUIUtils.i18n("connectserver")); ! setSize(300, 300); ! this.setResizable(false); ! this.serverConnectionInfo = info; ! RelativeLayout layout = new RelativeLayout(); ! RelativePanelBuilder builder = new RelativePanelBuilder(layout); ! /* ! builder.addButton("Hallo","hallo", "HALLO", 10, 10); ! builder.setRightRightDistance("hallo",DependencyManager.ROOT_NAME,-10); ! builder.addButton("Noch nen Button", "button", "TEST"); ! builder.setTopBottomDistance("button","hallo",10); ! builder.setLeftLeftDistance("button",DependencyManager.ROOT_NAME,10); ! builder.addButton("Hiho","hiho","NOCHNENTEST"); ! builder.setTopBottomDistance("hiho","hallo",10); ! builder.setLeftRightDistance("hiho","button",10); ! builder.setRightRightDistance("hiho",DependencyManager.ROOT_NAME,-100); ! */ ! // OK / Abbrechen ! JButton ok = builder.createButton(GUIUtils.i18n("connect"), "OK", this); ! JButton cancel = builder.createButton(GUIUtils.i18n("cancel"), "CANCEL", this); ! builder.addOKCancelButtonBar(ok, cancel, "okcancel"); ! builder.setLeftLeftDistance("okcancel", null, 10); ! builder.setRightRightDistance("okcancel", null, -10); ! builder.setBottomBottomDistance("okcancel", null, -10); ! // Clientname ! clientname = builder.addTextField("clientname"); ! builder.addLabel(GUIUtils.i18n("clientname"), "clientlabel", clientname); ! builder.setLeft("clientlabel", 20); ! builder.setRightRightDistance("clientname", null, -20); ! builder.setTopBottomDistance("clientlabel", "header", 20); ! builder.setTopBottomDistance("clientname", "header", 20); ! // Password ! password = new JPasswordField(); ! builder.add(password, "password"); ! builder.addLabel(GUIUtils.i18n("password"), "passwordlabel", password); ! builder.setLeft("passwordlabel", 20); ! builder.setRightRightDistance("password", null, -20); ! builder.setTopBottomDistance("passwordlabel", "clientlabel,clientname", 5); ! builder.setTopBottomDistance("password", "clientlabel,clientname", 5); ! // Hostname ! hostname = builder.addComboBox(Settings.DEFAULT_SERVER_LIST, "hostcombo"); ! builder.addLabel(GUIUtils.i18n("hostname"), "hostlabel", hostname); ! builder.setLeft("hostlabel", 20); ! hostname.setEditable(true); ! builder.setRightRightDistance("hostcombo", null, -20); ! builder.setTopBottomDistance("hostlabel", "passwordlabel,password", 10); ! builder.setTopBottomDistance("hostcombo", "passwordlabel,password", 10); ! // Port ! port = builder.addTextField("portedit"); ! builder.addLabel(GUIUtils.i18n("port"), "portlabel", port); ! builder.setLeft("portlabel", 20); ! builder.setTopBottomDistance("portlabel", "hostlabel,hostcombo", 5); ! builder.setRightRightDistance("portedit", null, -20); ! builder.setLeftRightDistance("portedit", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setTopBottomDistance("portedit", "hostlabel,hostcombo,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("hostcombo", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("clientname", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("password", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! // CheckBox für "lokale Verbindung" ! useNoServer = builder.addCheckBox(GUIUtils.i18n("nonserverconnect"), "nonserver", serverConnectionInfo.useNoServer); ! builder.setLeftLeftDistance("nonserver", "portedit", 0); ! builder.setTopBottomDistance("nonserver", "portlabel,portedit", 5); ! useNoServer.setActionCommand("USENOSERVER"); ! useNoServer.addActionListener(this); ! // Kopf ! builder.addDialogHeader("<html><b>" + GUIUtils.i18n("createconnectiontopacwserver") + "</b><br>" ! + GUIUtils.i18n("createconnectiontopacwserverhint") + "</html>", GUIConstants.ICON_SERVER_BIG, "header"); ! builder.setTop("header", 0); ! builder.setLeft("header", 0); ! builder.setRightRightDistance("header", null, 0); ! // Defaults setzen ! this.password.setText(serverConnectionInfo.password); ! this.clientname.setText(serverConnectionInfo.name); ! this.hostname.setSelectedItem(serverConnectionInfo.hostname); ! this.port.setText("" + serverConnectionInfo.port); ! mainPanel = builder.getPanel(); ! setContentPane(mainPanel); ! getRootPane().setDefaultButton(ok); ! //getContentPane().setLayout(new BorderLayout()); ! //getContentPane().add(mainPanel,BorderLayout.CENTER); ! } ! /** ! */ ! public void actionPerformed(ActionEvent e){ ! if ("OK".equals(e.getActionCommand())){ ! serverConnectionInfo = new ServerConnectionInfo(); ! serverConnectionInfo.hostname = (String) this.hostname.getSelectedItem(); ! serverConnectionInfo.password = new String(this.password.getPassword()); ! serverConnectionInfo.name = this.clientname.getText(); ! serverConnectionInfo.useNoServer = this.useNoServer.isSelected(); ! try{ ! serverConnectionInfo.port = Integer.parseInt(this.port.getText()); ! } catch (NumberFormatException n){ ! JOptionPane.showMessageDialog(this, GUIUtils.i18n("invalidportnumber")); ! return; ! } ! this.setVisible(false); ! } else if ("CANCEL".equals(e.getActionCommand())){ ! serverConnectionInfo = null; ! this.setVisible(false); ! } else if ("USENOSERVER".equals(e.getActionCommand())){ ! // CheckBox angeklickt ! boolean b = !useNoServer.isSelected(); ! this.hostname.setEnabled(b); ! this.port.setEnabled(b); ! } ! } ! public ServerConnectionInfo getServerConnectionInfo(){ ! return serverConnectionInfo; ! } ! public void setServerConnectionInfo(ServerConnectionInfo serverConnectionInfo){ ! this.serverConnectionInfo = serverConnectionInfo; ! } ! } \ No newline at end of file --- 32,202 ---- public class ConnectServerDialog extends JDialog implements ActionListener { ! private JPanel mainPanel; ! private ServerConnectionInfo serverConnectionInfo; ! private JComboBox hostname; ! private JTextField clientname; ! private JTextField port; ! private JPasswordField password; ! private JCheckBox useNoServer; ! /** ! * Static method to create and open a ConnectServerDialog ! * @param owner - the owner frame for the dialog ! * @param info - the server connection info ! * @return ! */ ! public static ServerConnectionInfo showDialog(Frame owner, ServerConnectionInfo info){ ! ConnectServerDialog d = new ConnectServerDialog(owner, info); ! GUIUtils.locateOnScreen(d); ! d.setModal(true); ! d.setVisible(true); ! return d.getServerConnectionInfo(); ! } ! /** ! * Constructor ! * @param owner - owner frame of this dialog (!= null) ! * @param info - server connnection info (!= null) ! */ ! public ConnectServerDialog(Frame owner, ServerConnectionInfo info) { ! super(owner, GUIUtils.i18n("connectserver")); ! ! // necessary to treat a dialog close as cancel ! addWindowListener(new java.awt.event.WindowAdapter() { ! public void windowClosing(java.awt.event.WindowEvent e) { ! cancelConnect(); ! } ! }); ! ! setSize(300, 300); ! this.setResizable(false); ! this.serverConnectionInfo = info; ! RelativeLayout layout = new RelativeLayout(); ! RelativePanelBuilder builder = new RelativePanelBuilder(layout); ! // OK / Abbrechen ! JButton ok = builder.createButton(GUIUtils.i18n("connect"), "OK", this); ! JButton cancel = builder.createButton(GUIUtils.i18n("cancel"), "CANCEL", this); ! builder.addOKCancelButtonBar(ok, cancel, "okcancel"); ! builder.setLeftLeftDistance("okcancel", null, 10); ! builder.setRightRightDistance("okcancel", null, -10); ! builder.setBottomBottomDistance("okcancel", null, -10); ! // Clientname ! clientname = builder.addTextField("clientname"); ! builder.addLabel(GUIUtils.i18n("clientname"), "clientlabel", clientname); ! builder.setLeft("clientlabel", 20); ! builder.setRightRightDistance("clientname", null, -20); ! builder.setTopBottomDistance("clientlabel", "header", 20); ! builder.setTopBottomDistance("clientname", "header", 20); ! // Password ! password = new JPasswordField(); ! builder.add(password, "password"); ! builder.addLabel(GUIUtils.i18n("password"), "passwordlabel", password); ! builder.setLeft("passwordlabel", 20); ! builder.setRightRightDistance("password", null, -20); ! builder.setTopBottomDistance("passwordlabel", "clientlabel,clientname", 5); ! builder.setTopBottomDistance("password", "clientlabel,clientname", 5); ! // Hostname ! hostname = builder.addComboBox(Settings.DEFAULT_SERVER_LIST, "hostcombo"); ! builder.addLabel(GUIUtils.i18n("hostname"), "hostlabel", hostname); ! builder.setLeft("hostlabel", 20); ! hostname.setEditable(true); ! builder.setRightRightDistance("hostcombo", null, -20); ! builder.setTopBottomDistance("hostlabel", "passwordlabel,password", 10); ! builder.setTopBottomDistance("hostcombo", "passwordlabel,password", 10); ! // Port ! port = builder.addTextField("portedit"); ! builder.addLabel(GUIUtils.i18n("port"), "portlabel", port); ! builder.setLeft("portlabel", 20); ! builder.setTopBottomDistance("portlabel", "hostlabel,hostcombo", 5); ! builder.setRightRightDistance("portedit", null, -20); ! builder.setLeftRightDistance("portedit", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setTopBottomDistance("portedit", "hostlabel,hostcombo,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("hostcombo", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("clientname", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! builder.setLeftRightDistance("password", "portlabel,hostlabel,clientlabel,passwordlabel", 5); ! // CheckBox für "lokale Verbindung" ! useNoServer = builder.addCheckBox(GUIUtils.i18n("nonserverconnect"), "nonserver", serverConnectionInfo.useNoServer); ! builder.setLeftLeftDistance("nonserver", "portedit", 0); ! builder.setTopBottomDistance("nonserver", "portlabel,portedit", 5); ! useNoServer.setActionCommand("USENOSERVER"); ! useNoServer.addActionListener(this); ! // Kopf ! builder.addDialogHeader("<html><b>" + GUIUtils.i18n("createconnectiontopacwserver") + "</b><br>" ! + GUIUtils.i18n("createconnectiontopacwserverhint") + "</html>", GUIConstants.ICON_SERVER_BIG, "header"); ! builder.setTop("header", 0); ! builder.setLeft("header", 0); ! builder.setRightRightDistance("header", null, 0); ! // Defaults setzen ! this.password.setText(serverConnectionInfo.password); ! this.clientname.setText(serverConnectionInfo.name); ! this.hostname.setSelectedItem(serverConnectionInfo.hostname); ! this.port.setText("" + serverConnectionInfo.port); ! mainPanel = builder.getPanel(); ! setContentPane(mainPanel); ! getRootPane().setDefaultButton(ok); ! //getContentPane().setLayout(new BorderLayout()); ! //getContentPane().add(mainPanel,BorderLayout.CENTER); ! } ! /* (non-Javadoc) ! * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) ! */ ! public void actionPerformed(ActionEvent e){ ! if ("OK".equals(e.getActionCommand())){ ! serverConnectionInfo = new ServerConnectionInfo(); ! serverConnectionInfo.hostname = (String) this.hostname.getSelectedItem(); ! serverConnectionInfo.password = new String(this.password.getPassword()); ! serverConnectionInfo.name = this.clientname.getText(); ! serverConnectionInfo.useNoServer = this.useNoServer.isSelected(); ! try { ! serverConnectionInfo.port = Integer.parseInt(this.port.getText()); ! } catch (NumberFormatException n){ ! JOptionPane.showMessageDialog(this, GUIUtils.i18n("invalidportnumber")); ! return; ! } ! this.setVisible(false); ! } else if ("CANCEL".equals(e.getActionCommand())){ ! cancelConnect(); ! } else if ("USENOSERVER".equals(e.getActionCommand())){ ! // CheckBox angeklickt ! boolean b = !useNoServer.isSelected(); ! this.hostname.setEnabled(b); ! this.port.setEnabled(b); ! } ! } ! /** ! * local method for cancelling a connect dialog ! */ ! private void cancelConnect() { ! serverConnectionInfo = null; ! this.setVisible(false); ! } ! /** ! * get the ServerConnectionInfo ! * @return the serverConnectionInfo ! */ ! public ServerConnectionInfo getServerConnectionInfo(){ ! return serverConnectionInfo; ! } ! /** ! * set the ServerConnectionInfo ! * @param serverConnectionInfo - the new serverConnectionInfo ! */ ! public void setServerConnectionInfo(ServerConnectionInfo serverConnectionInfo){ ! this.serverConnectionInfo = serverConnectionInfo; ! } ! } |