zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    

    运行结果如下:

    图一

    图二

    图三

  • 相关阅读:
    【面试题037】两个链表的第一个公共结点
    【面试题036】数组中的逆序对
    【面试题035】第一个只出现一次的字符
    WebService 序列化和反序列化
    Cookies设置,获取,删除
    Session 存储和失效方式
    Render 使用
    批量保存 htm
    js属性prototype的使用
    水晶报表 IE设置
  • 原文地址:https://www.cnblogs.com/zqm-sau/p/9807651.html
Copyright © 2011-2022 走看看