import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Merge1
{
public static void main(String[] args)
{
MergeFrame aFrame=new MergeFrame();
aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); aFrame.show();
}
}
class MergeFrame extends JFrame
{
MergeFrame()
{
setTitle("合并窗口");
setSize(400,500);
setLocation(200,150);
Container con=getContentPane();
con.setLayout(new GridLayout(3,1,2,2));
area1=new JTextArea("");
area2=new JTextArea("");
area3=new JTextArea(""); //@@@@@@@@注意这里(1)
area2.addKeyListener(new EnterAction());
addTextArea(con,area1);
addTextArea(con,area2);
addTextArea(con,area3);
area3.setEnabled(false);
}
public void addTextArea(Container con,JTextArea area)
{
//area=new JTextArea(""); //@@@@@@@@注意这里(2)
area.setLineWrap(true);
con.add(new JScrollPane(area));
}
private class EnterAction extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
int key=e.getKeyCode();
if(key==KeyEvent.VK_ENTER)
{
String str1=area1.getText();
String str2=area2.getText();
str1=str1+str2;
area3.setText(str1);
}
}
}
private JTextArea area1,area2,area3;
}程序主要实现两个textarea内容合并到第三个textarea.
但是当我注释掉(1)处,使用(2)时,程序便有如下提示...反之则正常,高手帮忙解释一下啊~~~Exception in thread "main" java.lang.NullPointerException
at MergeFrame.<init>(Merge1.java:36)
at Merge1.main(Merge1.java:9)
import java.awt.event.*;
import javax.swing.*;public class Merge1
{
public static void main(String[] args)
{
MergeFrame aFrame=new MergeFrame();
aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); aFrame.show();
}
}
class MergeFrame extends JFrame
{
MergeFrame()
{
setTitle("合并窗口");
setSize(400,500);
setLocation(200,150);
Container con=getContentPane();
con.setLayout(new GridLayout(3,1,2,2));
area1=new JTextArea("");
area2=new JTextArea("");
area3=new JTextArea(""); //@@@@@@@@注意这里(1)
area2.addKeyListener(new EnterAction());
addTextArea(con,area1);
addTextArea(con,area2);
addTextArea(con,area3);
area3.setEnabled(false);
}
public void addTextArea(Container con,JTextArea area)
{
//area=new JTextArea(""); //@@@@@@@@注意这里(2)
area.setLineWrap(true);
con.add(new JScrollPane(area));
}
private class EnterAction extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
int key=e.getKeyCode();
if(key==KeyEvent.VK_ENTER)
{
String str1=area1.getText();
String str2=area2.getText();
str1=str1+str2;
area3.setText(str1);
}
}
}
private JTextArea area1,area2,area3;
}程序主要实现两个textarea内容合并到第三个textarea.
但是当我注释掉(1)处,使用(2)时,程序便有如下提示...反之则正常,高手帮忙解释一下啊~~~Exception in thread "main" java.lang.NullPointerException
at MergeFrame.<init>(Merge1.java:36)
at Merge1.main(Merge1.java:9)
解决方案 »
- 为什么我不配置classpath一样可以跑起来呢?
- 我没有分了:异常的问题
- 关于从文件中读入的string急急急,在线等
- 不支持java applet的IE怎么让它支持?
- 广州的java工作太少
- 有没有办法加快Java数据库应用client端的数据显示呢?
- java中如何调用com接口
- 我的jbuild6怎么没有 IConnectionPool接口
- java所有的对象都要 new ,那不是所有的对象都在堆里创建,只有在程序结束的时候内存才释放
- 菜鸟的问题,请大家帮帮忙!
- 请教:中文XP系统,怎么将Java编译器的提示Output设成英文?
- JFrame窗口,点击“还原按钮”时,为何缩小到只有标题栏
这样无论在addTextArea函数中对这个area3操作,对不会影响到原先的area3(它始终是空值).所在后面的area3.setEnabled(false);操作中会引起nullpoint异常