gpt4 book ai didi

java - KeyPressed 调用 JInternalFrame 返回 Null 异常

转载 作者:行者123 更新时间:2023-12-01 14:58:35 24 4
gpt4 key购买 nike

我有一个 JInternalFrame,当我在 JTextField 中按 F1 时,我想调用另一个 JInternalFrame,但是我收到 NullPointerException。这是我的代码

图形用户界面:

jLabel2.setText("ID:");
getContentPane().add(jLabel2);
jLabel2.setBounds(10, 240, 15, 25);
getContentPane().add(jTextField11);
jTextField11.setBounds(30, 240, 70, 25);
jTextField11.addKeyListener(this);

关键事件:

public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
if( arg0.getKeyCode() == KeyEvent.VK_F1 ){
listProducto.setVisible(true);******ERROR******
Main.getInstance().getPortada().getDesktop().add(listProducto);
Main.getInstance().getPortada().getDesktop()
.moveToFront(listProducto);
try {
listProducto.setSelected(true);
} catch (PropertyVetoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最佳答案

问题是我忘记在 initComponents() 中初始化 searchForm;

这是我缺少的代码。

listProducto = new ListProducto();
listProducto.addSearchEventListener(new searchEventListener() {
public void resultFound(EventObject e) {
listProductoSearchPerformed();
}
});

对于我的搜索,我创建了一个 searchForm 来处理 searchListeners。我也添加了它的代码。

package com.mbpe.search;

import java.beans.PropertyVetoException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JInternalFrame;
import javax.swing.JInternalFrame;
import com.mbpe.gui.Portada;
import com.mbpe.main.Main;
import com.mbpe.main.searchEvent;
import com.mbpe.main.searchEventListener;



@SuppressWarnings("serial")
public class searchForm extends JInternalFrame {
public searchForm(String title, boolean resizable, boolean closable,
boolean maximizable, boolean iconifiable) {
super(title, resizable, closable, maximizable, iconifiable);
}

private List _listeners = new ArrayList();
public synchronized void addSearchEventListener(searchEventListener listener) {
_listeners.add(listener);
}
public synchronized void removeSearchEventListener(searchEventListener listener) {
_listeners.remove(listener);
}
public synchronized void fireEvent() {
searchEvent event = new searchEvent(this);
Iterator i = _listeners.iterator();
while (i.hasNext()) {
((searchEventListener) i.next()).resultFound(event);
}
}

public void onClose() {

}

public void onClosing() {
dispose();
}

}

关于java - KeyPressed 调用 JInternalFrame 返回 Null 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004627/

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