zoukankan      html  css  js  c++  java
  • 使用Swing组件实现简单的进制转换

    请编写图像界面程序,

    用户在第一文本行输入数字,

    有三个按钮,分别是计算2进制,8进制,16进制,

    点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中。

    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextField;
    import javax.swing.WindowConstants;
    
    public class Test3 extends JFrame{
        public Test3() {
            setTitle("整数进制转换");
            setLayout(null);
            setBounds(0, 0, 400, 300);
            Container container = getContentPane();
             JTextField jTextField1 = new JTextField(40);
             JTextField jTextField2 = new JTextField(40);
             JButton jButton2 = new JButton("2进制转化");
             JButton jButton8 = new JButton("8进制转化");
             JButton jButton16 = new JButton("16进制转化");
             
             jTextField1.setBounds(80, 20, 200, 30);
             jTextField2.setBounds(80, 180, 200, 30);
             jButton16.setBounds(20, 100, 100, 30);
             jButton8.setBounds(220, 100, 100, 30);
             jButton2.setBounds(120, 100, 100, 30);
            container.add(jTextField1);
            container.add(jTextField2);
            container.add(jButton2);
            container.add(jButton8);
            container.add(jButton16);
            String string = "q23";
            setVisible(true);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            jTextField1.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {                
                    jTextField1.setText("触发事件");
                }
            });
            
            //2进制
            jButton2.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    Object object = jTextField1.getText();
                    String str = object.toString();
                    int i = Integer.parseInt(str);                
                    jTextField2.setText(Integer.toBinaryString(i));
                    jTextField1.requestFocus();
                }
            });
            
            //8进制
                jButton8.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    Object object = jTextField1.getText();
                    String str = object.toString();
                    int i = Integer.parseInt(str);                
                    jTextField2.setText(Integer.toOctalString(i));
                    jTextField1.requestFocus();
                }
            });
            
            //16进制
                jButton16.addActionListener(new ActionListener() {
                    
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        Object object = jTextField1.getText();
                        String str = object.toString();
                        int i = Integer.parseInt(str);                
                        jTextField2.setText(Integer.toHexString(i));
                        jTextField1.requestFocus();
                    }
                });
                
            
        }    
    
        public static void main(String[] args) {
             new Test3();
        }
    
    }

    结果如下:

    二进制:

    八进制:

    十六进制:

  • 相关阅读:
    CF 7C. Line(扩展欧几里德)
    HDU 1700 Points on Cycle(向量旋转)
    POJ 1673 EXOCENTER OF A TRIANGLE(垂心)
    SRM 594 DIV1 250
    Codeforces Round #207 (Div. 1) A. Knight Tournament(STL)
    POJ 1654 Area(水题)
    POJ 1474 Video Surveillance(半平面交)
    POJ 1473 There's Treasure Everywhere!
    POJ 1329 Circle Through Three Points(三角形外心)
    POJ 1279 Art Gallery(半平面交)
  • 原文地址:https://www.cnblogs.com/lwx521/p/7737369.html
Copyright © 2011-2022 走看看