⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 digitframe.java

📁 一个高效的显示一个整数的各个数位
💻 JAVA
字号:
//【例6.3】  显示一个整数的各位数字。

import java.awt.Color;
import java.awt.FlowLayout;

import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Button;
import java.awt.Dialog;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;


/*
import java.awt.*;
import java.awt.event.*;
*/

public class DigitFrame extends Frame implements ActionListener, WindowListener
{
    private TextField text_input,text_hundred,text_decade,text_digit;
    private Button button_ok;
    private Dialog dialog;
    private Label label_dialog;

    public DigitFrame()
    {
        super("显示整数数字");
        
        this.setSize(190,150);
        this.setResizable(false);                //窗口大小不能改变
        this.setBackground(java.awt.Color.lightGray);
        this.setLocation(300,240);
        this.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));  //流布局且左对齐
        
        this.add(new Label("整数"));

        text_input = new TextField(10);
        this.add(text_input);
        text_input.addActionListener(this);      //为文本行注册单击事件监听器

        button_ok = new Button("OK");
        this.add(button_ok);
        button_ok.addActionListener(this);       //为按钮注册单击事件监听器

        this.add(new Label("百位"));
        text_hundred = new TextField(10);
        text_hundred.setEditable(false);         //只能显示,不允许编辑
        this.add(text_hundred);

        this.add(new Label("十位"));
        text_decade = new TextField(10);
        text_decade.setEditable(false);
        this.add(text_decade);

        this.add(new Label("个位"));
        text_digit = new TextField(10);
        text_digit.setEditable(false);
        this.add(text_digit);

        this.addWindowListener(this);            //为框架注册事件监听器,委托当前类的对象处理事件
        this.setVisible(true);

        dialog = new Dialog(this,"提示",true);   //模式窗口
        dialog.setSize(240,80);
        label_dialog = new Label("",Label.CENTER);   //标签的字符串为空,居中对齐
        dialog.add(label_dialog); 
        dialog.addWindowListener(this);          //为对话框注册窗口事件监听器
    }

    public void actionPerformed(ActionEvent e)   //按钮单击、文本行中单击回车键
    {
        try
        {
            int i = Integer.parseInt(text_input.getText());
            text_hundred.setText(""+(i / 100));  //百位
            text_decade.setText(""+(i/10 % 10)); //十位
            text_digit.setText(""+(i % 10));     //个位
        }
        catch(NumberFormatException nfe)
        {
            label_dialog.setText("\""+text_input.getText()+"\" 不能转换成整数,请重新输入!");
            dialog.setLocation(this.getX()+100,this.getY()+100);
            dialog.setVisible(true);
        }
        finally{}
    }
    
    public void windowClosing(WindowEvent e)
    {
        if(e.getSource()==dialog)
            dialog.setVisible(false);           //隐藏对话框
        else
            System.exit(0); 
    }

    public void windowOpened(WindowEvent e)         {  }
    public void windowActivated(WindowEvent e)      {  }
    public void windowDeactivated(WindowEvent e)    {  }
    public void windowClosed(WindowEvent e)         {  }
    public void windowIconified(WindowEvent e)      {  }
    public void windowDeiconified(WindowEvent e)    {  }
    
    public static void main(String arg[])
    {
        new DigitFrame();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -