Convertidor decimal en JAVA SWING Convertidor.java // Copyright (c) 1996, Agustin Froufe // Todos los derechos reservados. // // No se asume ninguna responsabilidad por el uso o alteracion de este // software. Este software se proporciona COMO ES, sin garantia de ningun // tipo de su funcionamiento y en ningun caso sera el autor responsable de // daños o perjuicios que se deriven del mal uso del software, aun cuando // este haya sido notificado de la posibilidad de dicho daño. // // Compilador: javac 1.0 // Autor: Agustin Froufe // Creacion: 21-Ago-1996 18:53:19 // //------------------------------------------------------------------------// Esta informacion no es necesariamente definitiva y esta sujeta a cambios // que pueden ser incorporados en cualquier momento, sin avisar. //------------------------------------------------------------------------import java.awt.*; // Clase que nos permite introducir un número y nos lo presenta en // diferentes bases public class Convertidor extends Frame { int valorDecimal = 0; String valorX = new String( "0" ); TextField dTexto,xTexto; public Convertidor() { super( "Convertidor Decimal" ); // Creamos la barra de menú, los botones de las bases y los // paneles que vamos a utilizar para posicionar los // Componentes MenuBar menub = new MenuBar(); Button Bin = new Button( "Binario" ); Button Octal = new Button( "Octal" ); Button Hexa = new Button( "Hexadecimal" ); Button Base36 = new Button( "Base36" ); Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); // Creamos el menú desplegable Menu menu = new Menu( "Aplicación" ); menu.add( new CheckboxMenuItem( "Base36 Activa" ) ); menu.add( new MenuItem( "Salir" ) ); menub.add( menu ); setMenuBar( menub ); // Incorporamos los botones a uno de los paneles p3.setLayout( new FlowLayout() ); p3.add( Bin ); p3.add( Octal ); p3.add( Hexa ); p3.add( Base36 ); // Creamos los dos campos de texto que vamos a utilizar, uno // para la introducción del número decimal que queremos // convertir y el otro para presentar el número convertido // Y asociamos cada uno de los campos, junto con su etiqueta // explicativa a uno de los paneles Label dEtiq = new Label( " Número Decimal:" ); Label xEtiq = new Label( "Valor Convertido:" ); dTexto = new TextField( Integer.toString( valorDecimal ),7 ); xTexto = new TextField( valorX,32 ); p1.setLayout( new FlowLayout( FlowLayout.LEFT ) ); p2.setLayout( new FlowLayout( FlowLayout.LEFT ) ); p1.add( dEtiq ); p1.add( dTexto ); p2.add( xEtiq ); p2.add( xTexto ); // Incorporamos los paneles a la ventana add( "North",p1 ); add( "Center",p2 ); add( "South",p3 ); } // Fija el tamaño de la ventana y la presenta en pantalla public void start() { resize( 400,150 ); show(); } // Actualiza el texto convertido en el campo de texto que le // corresponde public void actualizaTexto() { xTexto.setText( valorX ); } // Controlador de eventos, que hace caso solamente al evento de // destrucción de la ventana y a los de los botones, efectuando la // operación de coversión que correponda al botón que se haya // pulsado y llama al método que hace aparecer el nuevo valor en // el campo de texto del valor convertido public boolean handleEvent( Event evt ) { if( evt.target instanceof MenuItem ) { if( "Salir".equals( ( (MenuItem)evt.target).getLabel() ) ) { hide(); dispose(); System.exit( 0 ); return false; } return( true ); } else if( evt.target instanceof Button ) { String boton = ( (Button)evt.target).getLabel(); // Conversión del número decimal a binario if( boton.equals( "Binario" ) ) { valorDecimal = Integer.parseInt( dTexto.getText() ); valorX = Integer.toString( valorDecimal,2 ); } // Conversión del número decimal a octal if( boton.equals( "Octal" ) ) { valorDecimal = Integer.parseInt( dTexto.getText() ); valorX = Integer.toString( valorDecimal,8 ); } // Conversión del número decimal a hexadecimal if( boton.equals( "Hexadecimal" ) ) { valorDecimal = Integer.parseInt( dTexto.getText() ); valorX = Integer.toString( valorDecimal,16 ); } // Conversión del número decimal a un número en base 36 if( boton.equals( "Base36" ) ) { valorDecimal = Integer.parseInt( dTexto.getText() ); valorX = Integer.toString( valorDecimal,36 ); } actualizaTexto(); return( true ); } return false; } public static void main( String args[] ) { Convertidor c = new Convertidor(); c.start(); } } //--------------------------------------- Final del fichero Convertidor.java