用java语言实现各种进制转换(二进制,八进制,十进制,十六进制互转,主要使用Java Swing技术)
1、原题
先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效的十六进制数,则抛出异常。
2、分析
原题是java老师前几天布置的一个课后作业,因为现在还正在学习java控制台下的输入输出操作,所以按原题交作业很简单。自己就自作主张,改了一下。改用GUI可视化实现,并且要能实现2进制数,8进制数,10进制数,16进制数之间的互相转换。具体实现下面都有很详细的介绍。
3、UML图
4、具体实现代码(附注释:共6个)
(1)
package ConvertNumber;
/**
* @Author Kun Sun
* @Date 2013-10-26
* @At XUST
* @All Copyright by Kun Sun
*
*/
public class MainClass { // 用做测试
public static void main(String[] args) {
// TODO Auto-generated method stub
WindowNumber win = new WindowNumber();
win.setTitle("简单进制转换器");
}
}
(2)
package ConvertNumber;
/**
* @Author Kun Sun
* @Date 2013-10-26
* @At XUST
* @All Copyright by Kun Sun
*
*/
import java.awt.FlowLayout;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class WindowNumber extends JFrame {
Box baseBox,boxV1,boxV2; // boxV1,boxV2为两个列式盒式容器,baseBox盛放前两者。此三者用于布局
JTextField enterTwo,enterEight,enterTen,enterSixteen; // 4个可编辑文本区域,依次用做输入2进制数,8进制数,10进制数,16进制数
// 监视器,分别用于监听各进制(2,8,10,16)进制
PoliceListen2 listener2;
PoliceListen8 listener8;
PoliceListen10 listener10;
PoliceListen16 listener16;
public WindowNumber(){ // 构造函数,初始化
setLayout(new FlowLayout());
init();
setBounds(100,100,600,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
enterTwo = n