java - 如何在 JTextArea 上打印

标签 java

我正在学习用 Java 编程,并且正在创建我的第一个 GUI 应用程序。它关于创建 100 个随机数。我首先在 cmd 上这样做:

public class RandomNumbers {

public static void main(String[] args){

        float n = 100;
        float m = 1513;
        float a = 19713;
        float x = 177963;
        float c = 1397;
        float r;
        float i;

        for(i=0;i<=n;i++){
            r = (a*x+c)%m;
            x = r;
            r = r/m;

            System.out.println(r);
        }
    }
}

由于某种原因,当我尝试在文本区域打印 100 个随机数时,它只打印一个。这是代码:

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class GUIRandomNumbers extends JFrame implements ActionListener{

        public JTextArea area;
    public JScrollPane scroll;
    public JButton button;

    public RandomNumbers(){
        setLayout(null);
        area = new JTextArea();
        area.setEditable(false);
        scroll = new JScrollPane(area);
        scroll.setBounds(10, 10, 400, 300);
        add(scroll);

        button = new JButton("Generate");
        button.setBounds(10, 650, 100, 25);
        add(button);
        button.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e){
        float n = 100;
        float m = 1513;
        float a = 19713;
        float x = 177963;
        float c = 1397;
        float r;
        float i;
        if(e.getSource()==button){
            for(i=0;i<=n;i++){
                r = (a*x+c)%m;
                x = r;
                r = r/m;

                area.setText(String.valueOf(r));
            }

        }
    }


    public static void main(String[] args) {


        RandomNumbers p1 = new RandomNumbers();
        p1.setBounds(0, 0, 500, 750);
        p1.setVisible(true);

    }   

}

可能是什么问题?我将非常感谢您的帮助。

提前致谢。

最佳答案

当你这样做的时候

area.setText(String.valueOf(r));

它会用新文本覆盖文本区域上的文本。

你应该使用

area.append(String);

方法代替。

关于java - 如何在 JTextArea 上打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232358/

相关文章:

java - 如何动态改变布局背景

java - 如何在java中将文本区域与图像分开

java - 改进通过套接字从桌面到 Android 服务的数据传输

Java 循环未按预期打印结果

java - 有没有办法在 Java 中动态生成变量的名称?

java - 使用多线程并行化 Java 中的 for 循环

java - Spring 和 Hibernate 5. SessionFactory 始终为 null

java - JAXB 似乎正在重新编码新行字符

java - 如何填充缓存并保持更新

java - asyncTask 内 viewholder 的 setText