程序如下:
---------------------------------------------------------------
import java.awt.*;public class Awt1 extends Frame
{
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
public void paint(Graphics g)
{
g.drawString("Not a hello world!!", 75,100);
}
public static void main(String []args)
{
Frame f = new Frame();
f.resize(300,200);
f.show();
}
}
---------------------------------------------------------------程序无法关闭,也无法显示那个字符串,编译时提示存在过时的API,是不是这些API过时了就无法正确显示效果了,我参考的是Core Java 2 6th Edition
---------------------------------------------------------------
import java.awt.*;public class Awt1 extends Frame
{
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
public void paint(Graphics g)
{
g.drawString("Not a hello world!!", 75,100);
}
public static void main(String []args)
{
Frame f = new Frame();
f.resize(300,200);
f.show();
}
}
---------------------------------------------------------------程序无法关闭,也无法显示那个字符串,编译时提示存在过时的API,是不是这些API过时了就无法正确显示效果了,我参考的是Core Java 2 6th Edition
解决方案 »
- 我注释的地方什么作用啊 如果我想用产生的F调用内部类的方法 怎么做
- "abc".equals(str) ,str.equals("abc")哪个 效率高一些?
- 新手问题 如何利用输出流向一个文件输入一张图片,在利用输入流将其读取??
- 怎么用代码实现,获取一台主机的网关?
- 菜鸟问题!!请大哥大姐帮忙
- 初学者2问题:Object是最基本类吗;import java.awt.*为什么还要import java.awt.event.*?
- 用JAVA读取oracle的问题
- 请问报sqlException:游标未打开;这是什么意思;
- 一本JAVA问答式教程快看完了,可什么也不会写,救命呀!!!
- 关于文件操作的简单问题
- 探讨多重继续的解决办法
- 哪位大侠帮我解释一下结果是怎么来的
你可以把Frame换成JFrame
然后在main中加入f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这样程序就可以关闭了
import java.awt.*;
import javax.swing.*;
public class Awt1 extends JFrame
{
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
public void paint(Graphics g)
{
g.drawString("Not a hello world!!", 75,100);
}
public static void main(String []args)
{
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.resize(300,200);
f.show();
}
}
1.无法关闭
需要使用addWindowListener()来增加window event处理
2.无法显示字符串
增加一个Panel并显示字符串,再把这个Panel放在Frame中。
完整的代码如下:(test.java)
import java.awt.*;
import java.awt.event.*;public class test extends Frame
{
Panel pane = new Panel(){
public void paint(Graphics g)
{
g.drawString("Not a hello world!!", 1,11);
}
}; public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0); return super.handleEvent(evt);
}
public static void main(String []args)
{
test f = new test();
f.setTitle("test");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.resize(300,200);
f.add(f.pane);
f.show();
}
}
JFrame和Frame有必要要换吗?我个人认为这是风牛马不相及的事,