如何在进度条为 100% 时更改 JTextArea

How to change JTextArea when Progress Bar is 100%

我对 Java 语言很陌生,我开始自己和互联网制作一个程序。现在我有这个:

package com.butoane;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class App {
private JButton apasaAiciButton;
private JPanel Dunno;
private JButton apoiaici;
private JTextArea text1;
private JProgressBar progressBar1;
private JTextArea text2;

public App() {
   String a = "H";
   String b = "e";
   String y = "Ce faci sefule??";
    final String[] d = {"x"};
    final String[] f = {"D"};
    final int[] c = {0};
    apasaAiciButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            //apoiaici.setEnabled(true);
            //apasaAiciButton.setEnabled(false);
            text1.append(a);
            progressBar1.setValue(c[0] +1);
            c[0] = c[0] +1;
        }

    });
    apoiaici.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            //apoiaici.setEnabled(false);
            //apasaAiciButton.setEnabled(true);
            apasaAiciButton.setText("Apasa iar aici");
            text1.append(b);
            progressBar1.setValue(c[0] +1);
            c[0] = c[0] +1;
        }
    });

    }

public static void main(String[] args) {
    JFrame frame = new JFrame("App");
    frame.setContentPane(new App().Dunno);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}
}

我想做的是在进度条为 100% 时向 text2 添加一个功能。 例如:当 progressbar1 为 100% 时,text2 将文本设置为 "You did it!" 。我该怎么做?

FYK:我查看了有关 JProgressBar 和 JTextArea 的 oracle 文档,但我什么都看不懂。

进度条有用吗? 如果它有效,那么只需添加。

//the max value of the progress bar == actual value
if (progressBar1.getMaximum() == progressBar1.getValue() {
    text2.append("You did it!");
}

您的代码将抛出 NullPointerException,因为您没有初始化任何小部件。向你的进度条添加一个监听器(假设你使用的是 java 8+)

progressBar1.addChangeListener(e ->
{
        javax.swing.JProgressBar bar = (javax.swing.JProgressBar)e.getSource();
        if(bar.getValue() == 100)
            text2.setText("You dit it");
});