我做了一个主菜单JFrame,它可以生成4个不同的新框架来表示每个菜单。主菜单框架工作正常。但是我发现它不能从新框架文本字段中获取文本。这是错误报告和源代码。请让我知道如何修复它。
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.JTable;
public class PhoneBook extends JFrame implements ActionListener
{
private String[] colName;
JPanel panel_main;
JPanel panel_phbook;
JPanel panel_numb;
JPanel panel_grp;
JButton btn_main_phb;
JButton btn_main_name;
JButton btn_main_numb;
JButton btn_main_grp;
JTextArea ta_name_serch;
TextField tf_name_input;
JButton btn_name_search;
JButton btn_name_cancel;
JButton btn_name_modify;
JButton btn_name_del;
JButton btn_name_send;
JTextArea ta_numb_serch;
TextField tf_numb_input;
JButton btn_numb_search;
JButton btn_numb_cancel;
JButton btn_numb_modify;
JButton btn_numb_del;
JButton btn_numb_send;
JButton btn_grp_search;
JButton btn_grp_cancel;
JButton btn_grp_modify;
JButton btn_grp_del;
JButton btn_grp_send;
private JTable table;
public static void main(String[] args)
{
PhoneBook frame = new PhoneBook();
}
public PhoneBook()
{
colName = new String[3];
panel_main = new JPanel();
panel_main.setLayout(new GridLayout());
btn_main_phb = new JButton("phonbook");
btn_main_name = new JButton("name");
btn_main_numb = new JButton("number");
btn_main_grp = new JButton("grp");
btn_main_phb.addActionListener(this);
btn_main_name.addActionListener(this);
btn_main_numb.addActionListener(this);
btn_main_grp.addActionListener(this);
panel_main.add(btn_main_phb);
panel_main.add(btn_main_name);
panel_main.add(btn_main_numb);
panel_main.add(btn_main_grp);
// table = new JTable();
// table.setColumnSelectionAllowed(true);
// panel_main.add(table);
// table.set
panel_phbook = new JPanel();
panel_phbook.setLayout(new GridLayout());
// panel_phbook.add(btn_main_phb);
// panel_phbook.add(btn_main_name);
// panel_phbook.add(btn_main_numb);
// panel_phbook.add(btn_main_grp);
btn_name_search = new JButton("Serch");
btn_name_cancel = new JButton("Serch Cancel");
btn_name_modify = new JButton("Modi");
btn_name_del = new JButton("del");
btn_name_send = new JButton("sms send");
TextField tf_name_input = new TextField();
panel_phbook.add(tf_name_input);
panel_phbook.add(btn_name_search);
btn_name_search.addActionListener(this);
//
panel_numb = new JPanel();
panel_grp = new JPanel();
//getContentPane().setLayout(BorderLayout());
getContentPane().setLayout(new BorderLayout());
setLocation(500, 400);
getContentPane().add(panel_main);
setSize(650,150);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
@Override public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource().equals(btn_main_phb))
{
JFrame frame2 = new JFrame();
frame2.getContentPane().add(panel_phbook);
frame2.setLocation(400, 300);
frame2.setSize(500,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
frame2.setVisible(true);
}
else if(e.getSource().equals(btn_main_name))
{
}
else if(e.getSource().equals(btn_main_numb))
{
}
else if(e.getSource().equals(btn_main_grp))
{
}
else if(e.getSource().equals(btn_name_search))//this is the problem
{
System.out.println(tf_name_input.getText());
}
}
java线程“AWT-EventQueue-0”中出现异常。电话簿上的lang.NullPointerException。在javax上执行的操作(PhoneBook.java:166)。摆动抽象按钮。fireActionPerformed(未知源代码)在javax上执行。摆动AbstractButton$Handler。在javax上执行的操作(未知源)。摆动DefaultButtonModel。fireActionPerformed(未知源代码)在javax上执行。摆动DefaultButtonModel。javax上的setPressed(未知源)。摆动普拉夫。基本的基本按钮列表。java上的MouseRelease(未知源代码)。awt。组成部分javax上的processMouseEvent(未知源)。摆动JComponent。java上的ProcessMouseeEvent(未知源代码)。awt。组成部分java上的processEvent(未知源)。awt。容器java上的processEvent(未知源)。awt。组成部分java上的dispatchEventImpl(未知源)。awt。容器java上的dispatchEventImpl(未知源)。awt。组成部分java上的dispatchEvent(未知源)。awt。轻量级调度员。java上的retargetMouseEvent(未知源)。awt。轻量级调度员。java上的ProcessMouseeEvent(未知源代码)。awt。轻量级调度员。java上的dispatchEvent(未知源)。awt。容器java上的dispatchEventImpl(未知源)。awt。窗java上的dispatchEventImpl(未知源)。awt。组成部分java上的dispatchEvent(未知源)。awt。事件队列。java上的dispatchEventImpl(未知源)。awt。事件队列。在200美元(java)访问未知源。awt。事件队列3美元。在java上运行(未知源代码)。awt。事件队列3美元。在java上运行(未知源代码)。安全访问控制器。java上的doPrivileged(本机方法)。安全ProtectionDomain$1。java上的doIntersectionPrivilege(未知源)。安全ProtectionDomain$1。java上的doIntersectionPrivilege(未知源)。awt。事件队列4美元。在java上运行(未知源代码)。awt。事件队列4美元。在java上运行(未知源代码)。安全访问控制器。java上的doPrivileged(本机方法)。安全ProtectionDomain$1。java上的doIntersectionPrivilege(未知源)。awt。事件队列。java上的dispatchEvent(未知源)。awt。EventDispatchThread。java上的pumpOneEventForFilters(未知源)。awt。EventDispatchThread。java上的pumpEventsForFilter(未知源)。awt。EventDispatchThread。java上的pumpEventsForHierarchy(未知源)。awt。EventDispatchThread。java上的pumpEvents(未知源)。awt。EventDispatchThread。泵出口(未知来源)
您遇到这个问题的原因是因为您已经创建了一个新的局部变量,其名称与您的类成员变量之一相同:
TextField tf_name_input = new TextField();
而不是:
tf_name_input = new TextField();
我不熟悉RESTAPI和Spring Boot。我一直在尝试使用存储员工数据的STS和MySQL创建RESTAPI。 一切似乎都很好,但是当我在Postman中发布数据时,空的行存储在MySQL和body中。 //员工控制器类 //员工存储库类 //员工服务类 //员工服务Impl
我正在尝试访问Datasource对象,但它总是给出null,我正在使用@Inject,请告诉我我做错了什么? 它总是给空AgroalDataSource广告对象,为什么它不工作,我做错了什么吗? 它给出了以下错误: 2021-02-23 18:23:08,029ERROR[systemLogger](Quarkus主线程)DataSource不能为空:java.lang.IllegalArgum
在 Pagination 和 Sorting 部分, 我们已经介绍了如何允许终端用户选择一个特定的数据页面,根据一些字段对它们进行展现与排序。 因为分页和排序数据的任务是很常见的,所以Yii提供了一组封装好的data provider类。 数据提供者是一个实现了 yii\data\DataProviderInterface 接口的类。 它主要用于获取分页和数据排序。它经常用在 data widge
我跟着http://developer.android.com/guide/google/gcm/gs.html#server-在我的应用程序中实现GCM的应用程序 返回空字符串作为注册ID,还需要什么来获得注册ID??
没有空白的GUI显示为“拥挤”。我如何提供空白而不需要明确地设置元件的位置或尺寸?………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
问题内容: 我有一个简单的属性设置方法,不适用于此特定属性。在这种情况下,我一直很痛苦:我应该扔还是?从看来,两者都合适。有某种可以理解的标准吗?还是这只是您应该做的任何事情之一,而且两者都是正确的? 问题答案: 如果你不想成为允许的值,则似乎需要调用;如果你尝试使用原来是的变量,则将抛出。