/** * (c) 2000-2011 Carlos G�mez Rodr�guez, todos los derechos reservados / all rights reserved. * Licencia en license.txt / License in license.txt * File created: 06/11/2011 12:50:58 */ package eu.irreality.age.swing.mdi.gameloader; import javax.swing.BoxLayout; import javax.swing.JCheckBox; import javax.swing.JDesktopPane; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import eu.irreality.age.i18n.UIMessages; import eu.irreality.age.server.ServerHandler; class OptionChoosingPanel extends JPanel { JDesktopPane thePanel; JCheckBox cb1 = new JCheckBox(); JCheckBox cb2 = new JCheckBox(); JCheckBox cb3 = new JCheckBox(); //JTextField tf1 = null; //JTextField tf2 = null; JLabel ageLabel = new JLabel( UIMessages.getInstance().getMessage("gameloader.option.ageserver") ); JLabel telnetLabel = new JLabel( UIMessages.getInstance().getMessage("gameloader.option.telnetserver") ); JLabel ircLabel = new JLabel( UIMessages.getInstance().getMessage("gameloader.option.ircserver") ); JLabel infoLabel = new JLabel( UIMessages.getInstance().getMessage("gameloader.option.info") ); public boolean servirAGE() { return cb1.isSelected(); } public boolean servirTelnet() { return cb2.isSelected(); } public boolean servirIRC() { return cb3.isSelected(); } public void updateServersAndPorts() { String agePort = String.valueOf(ServerHandler.getInstance().getServerConfigurationOptions().getPuertoAge()); String telnetPort = String.valueOf(ServerHandler.getInstance().getServerConfigurationOptions().getPuertoTelnet()); ageLabel.setText( UIMessages.getInstance().getMessage("gameloader.option.ageserverwithport","$port",agePort) ); telnetLabel.setText( UIMessages.getInstance().getMessage("gameloader.option.telnetserverwithport","$port",telnetPort) ); //tf1.setText(agePort); //tf2.setText(telnetPort); boolean age = ServerHandler.getInstance().getServerConfigurationOptions().sirveAge(); boolean telnet = ServerHandler.getInstance().getServerConfigurationOptions().sirveTelnet(); boolean irc = ServerHandler.getInstance().getServerConfigurationOptions().sirveIrc(); cb1.setEnabled(age); cb2.setEnabled(telnet); cb3.setEnabled(irc); ageLabel.setEnabled(age); telnetLabel.setEnabled(telnet); ircLabel.setEnabled(irc); if ( !age ) cb1.setSelected(false); if ( !telnet ) cb2.setSelected(false); if ( !irc ) cb3.setSelected(false); //build info label text infoLabel.setText(getInfoLabelText(age,telnet,irc)); } /** * Returns a text for the info label, which depends on which servers are enabled on the server configuration options. */ private String getInfoLabelText ( boolean age , boolean telnet , boolean irc ) { StringBuffer sb = new StringBuffer(); sb.append("<html><p>"); if ( !age || !telnet || !irc ) { //informar de servidores deshabilitados boolean plur = false; if ( (!age && !telnet) || (!age && !irc) || (!telnet && !irc) ) plur = true; if ( plur ) { sb.append( UIMessages.getInstance().getMessage("gameloader.serversdisabled.1p") ); //sb.append("Los servidores de "); } else { sb.append( UIMessages.getInstance().getMessage("gameloader.serversdisabled.1s") ); //sb.append("El servidor de "); } sb.append(" "); sb.append(getDisabledServerList(age,telnet,irc)); sb.append(" "); if ( plur ) sb.append( UIMessages.getInstance().getMessage("gameloader.serversdisabled.2p") ); //sb.append(" est�n deshabilitados.</p><p>Para utilizarlos, "); else sb.append( UIMessages.getInstance().getMessage("gameloader.serversdisabled.2s") ); //sb.append(" est� deshabilitado.</p><p>Para utilizarlo, "); sb.append(" "); //sb.append("deben habilitarse primero</p><p>en las opciones de servidor (Servidor/Configuraci�n...).</p>"); //sb.append("<p>En dichas opciones tambi�n se pueden</p><p>configurar los correspondientes puertos.</p>"); sb.append( UIMessages.getInstance().getMessage("gameloader.serversdisabled.3") ); } else { //sb.append("<p>Se pueden cambiar los puertos telnet y AGE</p><p>en las opciones de servidor (Servidor/Configuraci�n...).</p>"); sb.append( UIMessages.getInstance().getMessage("gameloader.canchangeports") ); } sb.append("</html>"); return sb.toString(); } /** * Returns a string with a comma-separated list of disabled servers to use in the info label. */ private String getDisabledServerList ( boolean age , boolean telnet , boolean irc ) { StringBuffer sb = new StringBuffer(); if ( !age ) sb.append("AGE"); if ( !telnet ) { if ( sb.length() > 0 ) sb.append(", "); sb.append("telnet"); } if ( !irc ) { if ( sb.length() > 0 ) sb.append(", "); sb.append("IRC"); } return sb.toString(); } public OptionChoosingPanel ( final JInternalFrame madre ) { JPanel pan0 = new JPanel(); JPanel pan1 = new JPanel(); JPanel pan2 = new JPanel(); JPanel pan3 = new JPanel(); JPanel pan4 = new JPanel(); JLabel l0 = new JLabel( UIMessages.getInstance().getMessage("gameloader.option.header") ); JLabel l1 = ageLabel; JLabel l2 = telnetLabel; JLabel l3 = ircLabel; JLabel l4 = infoLabel; //tf1 = new JTextField(String.valueOf(ServerHandler.getInstance().getServerConfigurationOptions().getPuertoAge())); //tf2 = new JTextField(String.valueOf(ServerHandler.getInstance().getServerConfigurationOptions().getPuertoTelnet())); //setLayout ( new GridLayout ( 5 , 1 ) ); setLayout ( new BoxLayout(this,BoxLayout.PAGE_AXIS) ); setBackground ( GameChoosingInternalFrame.BACKGROUND_COLOR ); pan0.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); pan0.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); l0.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); l0.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); pan1.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); pan1.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); l1.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); l1.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); pan2.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); pan2.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); l2.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); l2.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); pan3.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); pan3.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); l3.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); l3.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); pan4.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); pan4.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); l4.setBackground(GameChoosingInternalFrame.BACKGROUND_COLOR); l4.setForeground(GameChoosingInternalFrame.FOREGROUND_COLOR); //tf1.setEditable(false); //tf2.setEditable(false); //tf1.setEnabled(false); //tf2.setEnabled(false); pan0.add(l0); pan1.add ( cb1 ); pan1.add ( l1 ); //pan1.add ( tf1 ); pan2.add ( cb2 ); pan2.add ( l2 ); //pan2.add ( tf2 ); pan3.add ( cb3 ); pan3.add ( l3 ); pan4.add ( l4 ); add(pan0);add(pan1);add(pan2);add(pan3);add(pan4); } }