猿问

格式化 JLabel/JTextField 文本?

所以我正在尝试制作一个非常基本的应用程序,当您点击一个按钮时,它会计数(每秒将一个数字添加到 0),然后将其显示在标签和文本字段中。因为我使用的是 doubles,所以文本输出看起来像这样,例如:2.34555555555555。我希望它在点后只显示 2 个数字。我怎么能那样做?


这是我的代码,正如我所说的只是一个按钮、标签和文本字段以及一个小计时器:


public class Frame1 {


    private JFrame frame;

    private JTextField txtbox1;

    double fiz = 1500;

    double mpfiz = fiz/60/60;

    int secondsPassed = 0;

    double penz = 0;

    Timer timer = new Timer();


    TimerTask task = new TimerTask() {

        public void run() {

            secondsPassed++;

            penz += mpfiz;

            lbpenz.setText("Ennyi: "+ penz);

            txtbox1.setText("Ennyi: " + penz);

        }};

        private JLabel lbpenz;



        public void start() {

            timer.scheduleAtFixedRate(task, 1000, 1000);

        }


        public static void main(String[] args) {

            Frame1 peldany = new Frame1();

            peldany.start();


            EventQueue.invokeLater(new Runnable() {

                @Override

                public void run() {

                    try {

                        Frame1 window = new Frame1();

                        window.frame.setVisible(true);

                    } catch (Exception e) {

                        e.printStackTrace();

                    }

                }

            });

        }


        /**

         * Create the application.

         */

        public Frame1() {

            initialize();

        }


        /**

         * Initialize the contents of the frame.

         */

        private void initialize() {


            JButton btnStart = new JButton("Start!");

            btnStart.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent arg0) {

                    start();

                }

            });

        }

}

提前致谢。


函数式编程
浏览 157回答 1
1回答

浮云间

试试下面的代码public void run() {    DecimalFormat df = new DecimalFormat(".##");    secondsPassed++;    penz += mpfiz;    lbpenz.setText("Ennyi: "+ df.format(penz));    txtbox1.setText("Ennyi: " + df.format(penz));}};
随时随地看视频慕课网APP

相关分类

Java
我要回答