报着希望,看有人回答没,100分,顶者都有分吧 看以下程序,如何实现2个框架的通信?

wangfengxiangdewei 2007-07-03 03:56:44
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import java.awt.event.ActionEvent;
import java.io.File;

public class full_Frame extends JFrame {
BorderLayout borderLayout1 = new BorderLayout();
static Timer AutoTimer;
ImageIcon icon = new ImageIcon("./src/image/1.jpg");
JLabel jLabel1 = new JLabel(icon);
private String[] getFile()
{
File f=new File("./src/image/");
return f.list();
}
int i=1;
String[] files=getFile();

public full_Frame() {

try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public void jbInit() throws Exception {
getContentPane().setLayout(borderLayout1);

this.getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER);

AutoTimer = new Timer(3000, new ActionListener() {

public void actionPerformed(ActionEvent e) {
if (i ==files.length-1)
i = 1;
icon = new ImageIcon("./src/image/" + files[i]);
jLabel1.setIcon(icon);
jLabel1.repaint();
i++;
}
});
final JFrame fram = new JFrame("full screen");
fram.getContentPane().add(jLabel1, BorderLayout.CENTER);
fram.setExtendedState(JFrame.MAXIMIZED_BOTH);
fram.setAlwaysOnTop(true);
fram.setUndecorated(true);
fram.setVisible(true);

AutoTimer.start();

fram.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ESCAPE||e.getKeyCode() == KeyEvent.VK_C) {

fram.setVisible(false);
fram.dispose();
AutoTimer.stop();
}
}
});
}
}
////////////////////////////////////
...全文
653 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangfengxiangdewei 2007-07-04
  • 打赏
  • 举报
回复
volkia(MonkeyKing)
..................................
静态变量
或者将一个窗体作为参数传入另一窗体.

这个 -------->将一个窗体作为参数传入另一窗体.
讲一下啊,..代码.....说明
rainv 2007-07-04
  • 打赏
  • 举报
回复
绑顶
weaponwp 2007-07-04
  • 打赏
  • 举报
回复
up
wolf863292 2007-07-04
  • 打赏
  • 举报
回复
代码好长,没时间看啊。
帮你顶上去吧。
volkia 2007-07-04
  • 打赏
  • 举报
回复
静态变量
或者将一个窗体作为参数传入另一窗体.
老猿能饭 2007-07-04
  • 打赏
  • 举报
回复
对于你的i需要同步,可以使用静态成员的方式来解决。
protected static int i=1;
那么,当任何一个子类的实例更改了i值,其它实例能获取到最新的值
老猿能饭 2007-07-04
  • 打赏
  • 举报
回复
你这种情况需要使用继承,即编写一个基类 BaseFrame extends JFrame 将i和getfile等可重用的方法和成员变量定义为公有的或受保护的
public abstract class BaseFrame extends JFrame
{
protected int i=1;
protected String[] files=getFile();

public String[] getFile()
{
File f=new File("./src/image/");
return f.list();
}


}

然后full_frame 和player_frame 都可以继承于BaseFrame
另外,你的代码没有注释,同时命名规范不标准 类应该这样定义 FullFrame PlayerFrame 才标准
Supernpc 2007-07-04
  • 打赏
  • 举报
回复
用单态模式
wangfengxiangdewei 2007-07-04
  • 打赏
  • 举报
回复
千斤顶!!!!!!我顶!!!!
mao5588 2007-07-04
  • 打赏
  • 举报
回复
我顶!我顶!我顶顶顶!
zjf405 2007-07-04
  • 打赏
  • 举报
回复
GUI没弄过,纯顶~~
redstart 2007-07-04
  • 打赏
  • 举报
回复
不会,帮你顶,记得给分啊 !
zhilei02 2007-07-04
  • 打赏
  • 举报
回复
不会呀帮顶
無名VF 2007-07-04
  • 打赏
  • 举报
回复
UP
hamehameha 2007-07-04
  • 打赏
  • 举报
回复
UP
liang_zai 2007-07-03
  • 打赏
  • 举报
回复
用一个单字模式的类,里面提供一个静态的变量i
这样应该可以实现共享吧!!!!!!!!!!!!!!
liang_zai 2007-07-03
  • 打赏
  • 举报
回复
再用一个单字模式的类,里面提供一个静态的变量i
这样应该可以实现共享吧!!!!!!!!!!!!!!
wangfengxiangdewei 2007-07-03
  • 打赏
  • 举报
回复
我的老师是用的方法的重载,实现2个框架的通信.大家帮我想想吧
其实我一直都在线等的...........
等待奇迹.................
有人愿意具体点回答我吗..........
wangfengxiangdewei 2007-07-03
  • 打赏
  • 举报
回复
我的老师是用的方法的重载,实现2个框架的通信.大家帮我想想吧
xwtcss 2007-07-03
  • 打赏
  • 举报
回复
在full_Frame的监听键盘事件那边把当前图片反馈给Player_Frame
加载更多回复(5)

62,623

社区成员

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

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