监听事件奇怪报错
jokdo 2011-07-18 06:27:57 layout.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class layout{
public JFrame createiframe (String str)
{
JFrame jf=new JFrame();
jf.setTitle(str);
jf.setBackground(Color.BLACK);
return jf;
}
public JButton createbutton(String str)
{
JButton jb=new JButton();
jb.setText(str);
return jb;
}
public JPanel createpanel()
{
JPanel jp=new JPanel();
return jp;
}
public JLabel createlabel(String str)
{
JLabel jl=new JLabel();
jl.setText(str);
return jl;
}
public JTextField textcreate(String str)
{
JTextField text=new JTextField();
text.setText(str);
return text;
}
}
boxgridelayout.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class boxgridelayout implements MouseListener{
public JTextField txt;
public JFrame frame;
public layout object;
public static void main(String args[])
{
boxgridelayout obstart=new boxgridelayout();
obstart.createmain();
}
public void createmain()
{
object=new layout();
frame=object.createiframe("这是测试页");
Container cnt=frame.getContentPane();
cnt.setLayout(null);
JButton button =object.createbutton("Click this");
cnt.add(button);
button.setBounds(10,10,200,30);
button.addMouseListener(this);
JTextField txt=object.textcreate("");
cnt.add(txt);
txt.setBounds(10,80,200, 30);
frame.setSize(800,600);
frame.setVisible(true);
}
public JTextField createinputtxt()
{
layout object=new layout();
txt=object.textcreate("");
return txt;
}
public void settxtvalue(String str)
{
txt.setText(str);
}
@Override
public void mouseClicked(MouseEvent arg0) {
txt.setText("鼠标点击");
System.out.println("点击");
}
@Override
public void mouseEntered(MouseEvent arg0) {
//settxtvalue("鼠标进入");
//txt.setText("鼠标进入");
}
@Override
public void mouseExited(MouseEvent arg0) {
//settxtvalue("鼠标离开");
//txt.setText("鼠标离开");
}
@Override
public void mousePressed(MouseEvent arg0) {
//settxtvalue("鼠标pressed");
//txt.setText("鼠标离开");
}
@Override
public void mouseReleased(MouseEvent arg0) {
//settxtvalue("鼠标松开");
//txt.setText("鼠标离开");
}
}
上面程序运行时,报下面错误,我是新手,请大侠拔刀相助,小弟感激不尽
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at boxgridelayout.mouseClicked(boxgridelayout.java:43)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6111)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5873)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4469)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4134)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)