Java第二次作业第二题

请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算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);
}
}

运行结果如下:

oThNEVX.png

图一

9Xwpj88.png

图二

3S7dHCW.png

图三

转载于:https://www.cnblogs.com/zqm-sau/p/9807651.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值