gpt4 book ai didi

java - 设置 JTextField 自动更改

转载 作者:行者123 更新时间:2023-11-30 04:16:25 26 4
gpt4 key购买 nike

有一个问题,我有“yC”,当用户按 alt + C 时它会一直改变

问题是如何让 JTextField 在每次 yC 值改变时改变里面的值。

yT=new JTextField(5);
mainframe.add(yT);
yT.setText(Integer.toString(yC));
window.getContentPane().add(mainframe);
window.pack();
window.setVisible(true);

如何更改 yC:

cor.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
xC = (int) b.getX();
yC = (int) b.getY();
textArea.replaceSelection("X-Coordinates:" + xC + " Y-Coordinates: " + yC + "\n");
}

});

最佳答案

如果 yC 和 yT 在同一个类(class),那么你的工作就会变得更容易。考虑给 yC 一个 setter 方法:

public void setYC(int yC) {
this.yC = yC;
yT.setText(String.valueOf(yC));
}

然后从不直接设置 yC,而是总是通过它的 setter 方法。

<小时/>

编辑
您所链接的代码存在一个问题:

public class Test {

static JTextField curTimeH, curTimeM, curTimeS, xT, yT;
Timer timer;
Robot robot = new Robot();
static JFrame window;
static JPanel mainframe;
static JFrame frameRes;
static JTextArea textArea;
static int xC, yC;

上面的所有静态字段都应该是实例字段或非静态字段。如果您声明这样做是因为编译器提示“无法对非静态字段窗口进行静态引用”或类似的情况,那么我会告诉您您修复了错误的问题。关键是使关键字段(例如这些实例字段)以实例排序方式使用,而不是以静态排序方式使用。

关于java - 设置 JTextField 自动更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18242647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com