请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中。

package naizi;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; public class TextUi extends JFrame implements ActionListener
{ private JTextField input,output;
private JButton tbutton,ebutton,sbutton;
private JLabel inlabel,outlabel; TextUi(){//构造方法
super("进制转换");//标题栏
this.setSize(300,150);
this.setLocation(200, 200);
this.dispose();//关闭按钮方法
// this.setVisible(true);//显示界面
this.getContentPane().setLayout(new GridLayout(1,2,5,5));
JPanel lpanel = new JPanel(new GridLayout(4,1,5,5));
JPanel rpanel = new JPanel(new GridLayout(3,1,5,5));
this.getContentPane().add(lpanel);
this.getContentPane().add(rpanel); inlabel = new JLabel("输入");
outlabel = new JLabel("输出");
input = new JTextField("20");
output = new JTextField(); lpanel.add(inlabel);
lpanel.add(input);
lpanel.add(outlabel);
lpanel.add(output); tbutton = new JButton("转换为2进制");
ebutton = new JButton("转换为8进制");
sbutton = new JButton("转换为16进制"); tbutton.addActionListener(this);//给按钮注册监听事件
ebutton.addActionListener(this);//给按钮注册监听事件
sbutton.addActionListener(this);//给按钮注册监听事件 rpanel.add(tbutton);
rpanel.add(ebutton);
rpanel.add(sbutton);
this.setVisible(true);//显示界面
}
public static void main(String [] args){
new TextUi();//运行程序窗体
} public void actionPerformed(ActionEvent e){//按钮单击事件处理方法
String str = input.getText();//获得输入文本行内容
int num = Integer.parseInt(str);//str转换为int
String result = "";
if(e.getSource()==tbutton ){//判断事件源是不是等于tbutton
result = String.valueOf(Integer.toBinaryString(num));//num转换为2进制
}else if(e.getSource()==ebutton ){//判断事件源是不是等于ebutton
result = String.valueOf(Integer.toOctalString(num));//num转换为8进制
} else if(e.getSource()==sbutton ){//判断事件源是不是等于sbutton
result = String.valueOf(Integer.toHexString(num));//num转换为16进制
}
output.setText(result);
}
}

运行结果如下:

图一

图二

图三

Java第二次作业第二题的更多相关文章

  1. Java第二次作业第一题

    编写图形界面程序,在窗体中设置菜单栏,在菜单栏上添加"file"菜单,在文件菜单中添加"new"和"quit"两个菜单项,其中"q ...

  2. 第二次作业 编程题 PAT 1001A+B Format

    Github的object-oriented仓库:1001.A+BFormat(20) 1.解题的思路过程 在之前学习C语言时曾经碰到过类似的将数字转换成字符输出的情况,这道题目要求输出的数字每三个间 ...

  3. OO第二单元作业小结

    前言 转眼已是第九周,第二单元的电梯系列作业已经结束,终于体验了一番多线程电梯之旅. 第一次作业是单电梯的傻瓜调度,虽然是第一次写多线程,但在课程PPT的指引下,写起来还是非常容易:第二次作业是单电梯 ...

  4. OO第二单元作业总结【自我反思与审视】

    第二单元作业的完成史,就是一部心酸的血泪史…… 多线程的出现为我(们)打开一片广阔的天地,我也在这方天地摸爬滚打,不断成长!如果说第一单元之前还对Java语法有所了解的话,那么这单元学习多线程则完全是 ...

  5. PTA第一次作业和第二次作业

    PTA的第一次作业第一题: #include <stdio.h> int main (void) { int grade,i,N ,a=0,b=0,c=0,d=0,e=0; printf( ...

  6. OO第二单元作业——魔鬼电梯

    简介 本单元作业分为三次 第一次作业:第一次作业要实现单部简单电梯,停靠所有楼层,无载客容量,性能分考量电梯运行时间. 第二次作业: 第二次作业实现多部电梯,电梯数量由初始化设定,每部电梯都停靠所有楼 ...

  7. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  8. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  9. Java第二周作业

    Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...

随机推荐

  1. Linux 精确判断是否同一文件--及终端获取字符串md5 的值

    背景 今天发现一个同事用 文件大小 对比,来判断编译所得的一个可执行文件是不是同一个文件. 讲道理 这种方式出错的概率很低,但是用这样的方法,一旦出错就容易被坑一把狠的. 所以我来分享一下 md5 在 ...

  2. 入门MySQL——查询语法练习

    前言: 前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法.其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各 ...

  3. 11.源码分析---SOFARPC数据透传是实现的?

    先把栗子放上,让大家方便测试用: Service端 public static void main(String[] args) { ServerConfig serverConfig = new S ...

  4. Linux任务调度(8)

    crond任务调度: 是指系统在某个时间执行特定的命令或程序. 分类:1.系统工作,有些重要的工作必须周而复始地执行,如病毒扫描等:2.个别用户工作,个别用户可能希望执行某些程序,如mysql数据库备 ...

  5. 七缸发动机预热,docker swarm + .net core 高速飙车成功

    (图片来源:Microsoft Blog) 上周五上午在我们将 .net core 博客站点由 docker swarm 自动驾驶改为 docker-compose 手动驾驶后,依然发生了翻车,意料之 ...

  6. Java和Tomcat安装教程

    jdk安装与配置1.下载好对应的jdk2.安装JDK 直接运行exe可执行程序,默认安装即可:备注:路径可以选其他盘符,路径要全部为英文. 3.配置环境变量 新建变量名:JAVA_HOME,变量值:D ...

  7. python 38 线程队列与协程

    目录 1. 线程队列 1.1 先进先出(FIFO) 1.2 后进先出(LIFO)堆栈 1.3 优先级队列 2. 事件event 3. 协程 4. Greenlet 模块 5. Gevent模块 1. ...

  8. Leetcode之二分法专题-167. 两数之和 II - 输入有序数组(Two Sum II - Input array is sorted)

    Leetcode之二分法专题-167. 两数之和 II - 输入有序数组(Two Sum II - Input array is sorted) 给定一个已按照升序排列 的有序数组,找到两个数使得它们 ...

  9. Linux中JDK安装配置

    安装jdk 1)下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择jdk1.8版本 2)上传至服务 ...

  10. SyntaxError: invalid syntax : if not 0 <= time_low < 1<<32L:

    报错 Traceback (most recent call last): File "D:/PyCharm 5.0.3/WorkSpace/2.NLP/8.高阶实践/1.PipelineQ ...