gpt4 book ai didi

java - JTextField 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 05:50:56 27 4
gpt4 key购买 nike

我只想运行一个显示文本字段的 swing 应用程序。以下是运行时生成的异常的代码:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at textf.<init>(textf.java:10)
at textf$1.run(textf.java:35)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

请帮忙做什么。

import java.awt.FlowLayout;
import javax.swing.*;

class textf{
JTextField tf;
JFrame j;
textf(){
new JFrame("TextField Demo");
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setSize(400,200);
j.setLayout(new FlowLayout());
tf=new JTextField("press<Enter>",20);

j.add(tf);
j.setVisible(true);
}

public static void main(String s[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new textf();
}
});
}
}

最佳答案

您永远不会为 j 赋值,因此它具有默认值 null。当您尝试在构造函数 (j.setDefaultCloseOperation(...)) 的第二行取消引用它时,会因此抛出 NullPointerException。请注意,这是在您访问 JTextField...

之前

只需将构造函数的第一行更改为:

j = new JFrame("TextField Demo");

之后,整理好代码的缩进以及类和变量的命名,这样你就可以得到更易于维护的代码:)

关于java - JTextField 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899905/

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