栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JTextArea中的setText()机制?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JTextArea中的setText()机制?

setText
做到这一点,它将“字段的文本”设置为您提供的值,从而删除所有先前的内容。

你想要的是

Jtextarea#append

如果您使用的是Java 8,则另一个选择可能是

StringJoiner

StringJoiner joiner = new StringJoiner(", ");for (int i = 0; i < 10; i++) {    joiner.add("QUang " + i);}jtextarea1.setTexy(joiner.toString());

(假设您想在每次

actionPerformed
调用该方法时替换文本,但仍然可以使用
append

根据评论的假设进行更新

我“假设”您的意思是您希望每个元素都

String
显示一小段时间,然后替换为下一个
String

Swing是一个单线程环境,因此任何阻塞事件分派线程的事件(例如循环)都将阻止UI的更新。相反,您需要使用Swing

Timer
定期安排回调,并在每个刻度上更改UI。

import java.awt.BorderLayout;import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.Jframe;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.Jtextarea;import javax.swing.Timer;import javax.swing.UIManager;import javax.swing.UnsupportedLookAndFeelException;public class Test {    public static void main(String[] args) {        new Test();    }    public Test() {        EventQueue.invokeLater(new Runnable() { @Override public void run() {     try {         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());     } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {         ex.printStackTrace();     }     Jframe frame = new Jframe("Testing");     frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);     frame.add(new TestPane());     frame.pack();     frame.setLocationRelativeTo(null);     frame.setVisible(true); }        });    }    public class TestPane extends JPanel {        private String[] messages = { "Example 1", "Example 2", "Example 3", "Example 4", "Example 5", "Example 6", "Example 7", "Example 8", "Example 9",        };        private Jtextarea ta;        private int index;        private Timer timer;        public TestPane() { setLayout(new BorderLayout()); ta = new Jtextarea(1, 20); add(new JScrollPane(ta)); JButton btn = new JButton("Start"); btn.addActionListener(new ActionListener() {     @Override     public void actionPerformed(ActionEvent e) {         if (timer.isRunning()) {  timer.stop();         }         index = 0;         timer.start();     } }); add(btn, BorderLayout.SOUTH); timer = new Timer(500, new ActionListener() {     @Override     public void actionPerformed(ActionEvent e) {         if (index < messages.length) {  ta.setText(messages[index]);         } else {  timer.stop();         }         index++;     } });        }    }}

了解Swing中的并发性以及如何使用Swing计时器以了解更多详细信息



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号