Larback - Retornando conhecimento

Você não precisa ser o java, mas deve ter alguma classe.

GUI - Conversão de bases numericas

Um exemplo simples de utilização da classe Integer para conversão de decimal para binário, octal e hexadecimal.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class ConversorBase extends JFrame implements ActionListener {
	JLabel jlDecimal = new JLabel("Decimal");
	JLabel jlBinario = new JLabel("Binário");
	JLabel jlOctal = new JLabel("Octal");
	JLabel jlHexadecimal = new JLabel("Hexadecimal");
	
	JTextField jtDecimal = new JTextField(17);
	JTextField jtBinario = new JTextField(17);
	JTextField jtOctal = new JTextField(17);
	JTextField jtHexadecimal = new JTextField(17);
	
	JCheckBox jcBinario = new JCheckBox("Binário");
	JCheckBox jcOctal = new JCheckBox("Octal");
	JCheckBox jcHexadecimal = new JCheckBox("Hexadecimal");
	
	JButton jbConverter = new JButton("Converter");
	public ConversorBase() {
		super("Conversor de base numerica");
		setSize(290,180);
		setResizable(false);
		setLocationRelativeTo(null);
		setLayout(new FlowLayout(FlowLayout.RIGHT));
		jtBinario.setDisabledTextColor(Color.RED);
		jtHexadecimal.setDisabledTextColor(Color.RED);
		jtOctal.setDisabledTextColor(Color.RED);
		jtBinario.setEnabled(false);
		jtHexadecimal.setEnabled(false);
		jtOctal.setEnabled(false);
		jtDecimal.setHorizontalAlignment(JTextField.RIGHT);
		jtBinario.setHorizontalAlignment(JTextField.RIGHT);
		jtOctal.setHorizontalAlignment(JTextField.RIGHT);
		jtHexadecimal.setHorizontalAlignment(JTextField.RIGHT);
		jbConverter.setPreferredSize(new Dimension(278, 30));
		jbConverter.addActionListener(this);
		add(jlDecimal);
		add(jtDecimal);
		add(jcBinario);
		add(jcOctal);
		add(jcHexadecimal);
		add(jlBinario);
		add(jtBinario);
		add(jlOctal);
		add(jtOctal);
		add(jlHexadecimal);
		add(jtHexadecimal);
		add(jbConverter);
		setVisible(true);
	}
	public static void main(String [] args){
		new ConversorBase();
	}
	public void actionPerformed(ActionEvent arg){
		int numero = 0;
		try {
			jtDecimal.setBackground(Color.WHITE);
			jtBinario.setText("");
			jtOctal.setText("");
			jtHexadecimal.setText("");
			numero = Integer.parseInt(jtDecimal.getText());
			if (jcBinario.isSelected())
				jtBinario.setText(Integer.toString(numero, 2));
			if (jcOctal.isSelected())
				jtOctal.setText(Integer.toString(numero, 8));
			if (jcHexadecimal.isSelected())
				jtHexadecimal.setText(Integer.toString(numero, 16));
		} catch (Exception e){
			jtDecimal.setBackground(Color.RED);
			jtDecimal.requestFocus();
		}
	}	
}