如何在进度条为 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");
});
我对 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");
});