我有一个 JButton,单击时会显示随机文本,但我的问题是,如果我单击它两次,它将再次显示随机文本,但当我希望它以准确的位置显示时,会显示在第一个文本的一侧相同的地方而不是第一个(希望我说得很清楚哈哈)
我已经尝试过用谷歌搜索问题并在 reddit 和 stackoverflow 上搜索,但找不到我要找的内容
按钮代码:
butt = new JButton("Generate");
butt.setFont(new Font("Tahoma", Font.BOLD, 12));
butt.setBackground(Color.WHITE);
butt.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent e) {
RandomString yep = new RandomString();
String c = yep.nextString();
text = new JTextArea(" "+c,0,0);
text.setLineWrap(true);
text.setBounds(10,10,100,60);
text.setFont(new Font("Courier", Font.BOLD, 14));
text.setEditable(false);
p3.add(text,BorderLayout.CENTER);
f.remove(p4);
f.add(p3,BorderLayout.CENTER);
}
});
如果这是完美的,它将在第一次单击时显示文本,在第二次单击时它将再次显示文本,但这一次正是第一个文本所在的位置,就好像它正在删除它并再次显示它
我真的希望这是可以理解的!感谢您提供任何帮助,例如对该程序的最后修改:)
最佳答案
每次执行操作时,您都会创建一个 JTextArea
!将 JTextArea
移出 actionPerformed
并设置文本。
JTextArea text = new JTextArea();
JButton button = new JButton("Generate");
....
button.addActionListener(new ActionListener() {
....
String c = yep.nextString();
text.setText(c);
....
}
关于java - 如果单击两次,如何使 JButton 生成的文本重新出现在同一位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274769/