图形化界面:输入十进制,输出二进制

博客介绍将十进制整数用二进制表示,还展示了运行结果。运用的知识点包括监听器,如JTextField类用于文本处理,还涉及窗口处理事件、系统处理函数及容器用法等Java相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入一个十进制整数,用二进制表示出来。

    package day06;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Java_3 extends JFrame {
       public Java_3(){
          super( "打印无符号整数位" );                          
          Container c = getContentPane();
          c.setLayout( new FlowLayout() );
          c.add( new JLabel( "请输入整数: " ) );
          final JTextField output = new JTextField( 33 );
          JTextField input = new JTextField( 10 );
          input.addActionListener(
             new ActionListener() {
                //*********Found********
                public void actionPerformed( ActionEvent e ){
                   int val = Integer.parseInt(
                      e.getActionCommand() );
                   //*********Found********
                   output.setText( getBits( val ) );
                }
             }
          );
          c.add( input );
          c.add( new JLabel( "该数的二进制位表示是" ) );      
          output.setEditable( false );
         //*********Found********
          c.add( output );
          setSize( 720, 70 );
          setVisible(true);
       }
    
       private String getBits( int value ){
          int displayMask = 1 << 31;
          StringBuffer buf = new StringBuffer( 35 );
          for ( int c = 1; c <= 32; c++ ) {
             buf.append(
                ( value & displayMask ) == 0 ? '0' : '1' );
             value <<= 1;
             if ( c % 8 == 0 )
                buf.append( ' ' );
          }
          return buf.toString();
       }
    
       public static void main( String args[] ){
          Java_3 app = new Java_3();
          app.addWindowListener(
             new WindowAdapter() {
         //*********Found********
                public void windowClosing( WindowEvent e ){
                   System.exit( 0 );
                }
             }
          );
       }
    }

运行结果

运行结果

运用的知识点

  1. 监听器:

     input.addActionListener(	 //input是一个文本框
          new ActionListener() {		//新建一个监听器
             public void actionPerformed( ActionEvent e ){		//触发了文本框的输入后的实际处理函数
                int val = Integer.parseInt(
                   e.getActionCommand() );
                output.setText( getBits( val ) );
             }
          }
       );
    
  2. JTextField类:文本处理的类。
    JTextField output= new JTextField( 10 ); 创建一个名为 output的文本框,长度为10。
    output.setText(“33”);给文本框输入字符串33,并显示在文本框上面。

  3. 窗口处理事件:windowClosing( WindowEvent e )为窗口退出。

  4. 系统处理函数:System.exit( 0 )为系统退出。

  5. 容器的用法:利用add函数给图形界面添加对象。

    Container c = getContentPane();   //创建一个容器
    c.setLayout( new FlowLayout() );
    c.add( new JLabel( "请输入整数: " ) ); //add函数给界面添加对象
    c.add( input );
    c.add( new JLabel( "该数的二进制位表示是" ) );  
    c.add( output );
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值