在窗体窗口上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10 进制数,选择不同选项可转换为2、8、16 进制数

在窗体窗口上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10 进制数,选择不同选项可转换为2、8、16 进制数。

import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JFrame;

public class JZtransform extends Frame implements ItemListener{
	TextArea area=new TextArea(6,30);
	String Item[]= {"2进制","8进制","16进制","10进制"};
	Checkbox checkbox[]=new Checkbox[5];
	Checkbox radio[]=new Checkbox[5];
	Label label=new Label("请输入10进制数");
	TextField field=new TextField(10);
	
	public JZtransform() {
		setLayout(new FlowLayout());
		add(label);
		add(field);
		add(area);
		add(new Label("请选择进制:"));
		for(int i=0;i<4;i++) {
			checkbox[i]=new Checkbox(Item[i]);
			add(checkbox[i]);
			checkbox[i].addItemListener(this);
		}
		CheckboxGroup checkboxGroup=new CheckboxGroup();
		add(new Label("请选择进制:"));
		for(int i=0;i<4;i++) {
			radio[i]=new Checkbox(Item[i],checkboxGroup,false);
			add(radio[i]);
			radio[i].addItemListener(this);
		}
		setBounds(800,100,350,300);
		setVisible(true);
	}
	
	public void itemStateChanged(ItemEvent e) {
		int x=Integer.parseInt(field.getText());
		if(e.getItem()=="2进制") {
			area.append(x+"转化为"+e.getItem()+"后等于"+Integer.toBinaryString(x)+"\n");
		}
		if(e.getItem()=="8进制") {
			area.append(x+"转化为"+e.getItem()+"后等于"+Integer.toOctalString(x)+"\n");
		}
		if(e.getItem()=="16进制") {
			area.append(x+"转化为"+e.getItem()+"后等于"+Integer.toHexString(x)+"\n");
		}
		if(e.getItem()=="10进制") {
			area.append(x+"转化为"+e.getItem()+"后等于"+x+"\n");
		}
	}
	
	public static void main(String[] args) {
		new JZtransform();
	}

}

运行结果:

以上代码经过测试,请放心使用

发布了20 篇原创文章 · 获赞 264 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Mr_wxc/article/details/93344509