帮忙看一下这个换背景的窗体

dapenge 2010-04-13 05:23:08
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TextFrame1 implements ActionListener {
Frame f=new Frame("第一个窗体");
int i=0;
public static void main(String[] args){

TextFrame1 tf=new TextFrame1();

tf.init();
}
public void init()
{ f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new MyWindowListener());
Button btn=new Button("更换背景");
btn.addActionListener(new TextFrame1());
f.add(btn,"North");

}
public void actionPerformed(ActionEvent e){

Image[] im={new ImageIcon("c:\\1.jpg").getImage(),
new ImageIcon("c:\\2.jpg").getImage(),
new ImageIcon("c:\\3.jpg").getImage(),
new ImageIcon("c:\\4.jpg").getImage(),
new ImageIcon("c:\\5.jpg").getImage()};

f.getGraphics().drawImage(im[i],0,0,300,300,f);
i++;
if(i==5) i=0;



}


}

class MyWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
System.exit(0);
}
}

...全文
81 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dapenge 2010-04-23
  • 打赏
  • 举报
回复
哦了 谢了
whlcy 2010-04-16
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TextFrame1 implements ActionListener {
Frame f=new Frame("第一个窗体");
int i=0;
public static void main(String[] args){

TextFrame1 tf=new TextFrame1();

tf.init();
}
public void init()
{ f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new MyWindowListener());
Button btn=new Button("ok");
btn.addActionListener(this);
f.add(btn,"North");

}
public void actionPerformed(ActionEvent e){

Image[] im={new ImageIcon("c:\\1.jpg").getImage(),
new ImageIcon("c:\\2.jpg").getImage(),
new ImageIcon("c:\\3.jpg").getImage(),
new ImageIcon("c:\\4.jpg").getImage(),
new ImageIcon("c:\\5.jpg").getImage()};

f.getGraphics().drawImage(im[i],0,0,300,300,f);
i++;
if(i==5) i=0;



}


}

class MyWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
System.exit(0);
}
}

ok!!!!!!
liujun3512159 2010-04-16
  • 打赏
  • 举报
回复
路过,呵呵
awusoft 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 loocao 的回复:]
点击Button,btn.addActionListener(new TextFrame1());
也就相当于重新建了个TestFrame1,可是那个init方法只在main里调用过啊...
[/Quote]

换成这个就行了.
btn.addActionListener(this);

还有...

Image[] im={new ImageIcon("c:\\1.jpg").getImage(),
new ImageIcon("c:\\2.jpg").getImage(),
new ImageIcon("c:\\3.jpg").getImage(),
new ImageIcon("c:\\4.jpg").getImage(),
new ImageIcon("c:\\5.jpg").getImage()};

换到属性里

还有......

f.setVisible(true);

放到方法的后边去
loocao 2010-04-16
  • 打赏
  • 举报
回复
重新设计吧...
这个程序即使跑起来了,也是个bug程序...
每换一次背景,就会重新new TestFrame1,而且之前的TestFrame1也不会释放...
dapenge 2010-04-13
  • 打赏
  • 举报
回复
new TextFrame1()改成tf可是有错 就当我小白了 麻烦改一下
loocao 2010-04-13
  • 打赏
  • 举报
回复
点击Button,btn.addActionListener(new TextFrame1());
也就相当于重新建了个TestFrame1,可是那个init方法只在main里调用过啊...
loocao 2010-04-13
  • 打赏
  • 举报
回复
你这换背景法...可真牛!~
dapenge 2010-04-13
  • 打赏
  • 举报
回复
--------------------Configuration: <Default>--------------------
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TextFrame1.actionPerformed(TextFrame1.java:31)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
dapenge 2010-04-13
  • 打赏
  • 举报
回复
编译能通过 但运行有错误

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧