最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

互联网 admin 4浏览 0评论

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

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

    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 );

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

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

    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 );
发布评论

评论列表 (0)

  1. 暂无评论