社区
Java SE
帖子详情
java 保存 窗口对象
magic_kid_2010
2012-09-12 11:38:34
在一个java项目中,先运行程序,开启了一个JFrame窗口,保存到HashMap hm中;再重新运行该程序,开启另一个窗口,再保存到之前那个HashMap hm中。。。如何实现。求源码。谢谢。
...全文
164
6
打赏
收藏
java 保存 窗口对象
在一个java项目中,先运行程序,开启了一个JFrame窗口,保存到HashMap hm中;再重新运行该程序,开启另一个窗口,再保存到之前那个HashMap hm中。。。如何实现。求源码。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
magic_kid_2010
2012-09-18
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
每次运行java程序都会打开一个java虚拟机,虚拟机不会共享内存空间。所以,你第一个打开窗体件是1,第二个肯定也是1.
[/Quote]
但是,我现在需要保存每次打开的窗口。有什么好方法吗?
Siekoo
2012-09-13
打赏
举报
回复
楼主你的意识是所有打开的窗体引用都压入集合是吧??
修改main方法即可
main()
while(true)
{
询问是否新打开窗体
ManageJFrame.addFrame(名字,new JFrame());//不推荐这样new对象,这样虚拟机运行期间会销毁不了堆对象.
}
Siekoo
2012-09-13
打赏
举报
回复
每次运行java程序都会打开一个java虚拟机,虚拟机不会共享内存空间。所以,你第一个打开窗体件是1,第二个肯定也是1.
magic_kid_2010
2012-09-13
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
这是两个不同的程序吧,可能吗
[/Quote]
我自己写的方法如下,但是并没有符合我的初衷。我初衷为,第一次运行TJFrame,输出size=1,再运行TJrame,输出size=2。我好像知道为什么错了,但是要如何修改才能完成我的目的。谢谢。
public class TFrame extends JFrame{
public TFrame() {
this.setTitle("1");
// this.setTitle("2");
// this.setTitle("3");
// this.setTitle("4");
this.setSize(100, 200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ManageJFrame.addJFrame(this.getTitle(), this);
}
public static void main(String[] args) {
new TFrame();
}
}
---------------------------
public class ManageJFrame {
private static Map<String, JFrame> hm = new HashMap<String, JFrame>();
public static void addJFrame(String name, JFrame frame) {
hm.put(name, frame);
System.out.println("name=" + name);
System.out.println("size=" + hm.size());
}
}
magic_kid_2010
2012-09-13
打赏
举报
回复
我自己写的方法如下,但是并没有符合我的初衷。我初衷为,第一次运行TJFrame,输出size=1,再运行TJrame,输出size=2。我好像知道为什么错了,但是要如何修改才能完成我的目的。谢谢。
public class TFrame extends JFrame{
public TFrame() {
this.setTitle("1");
// this.setTitle("2");
// this.setTitle("3");
// this.setTitle("4");
this.setSize(100, 200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ManageJFrame.addJFrame(this.getTitle(), this);
}
public static void main(String[] args) {
new TFrame();
}
}
---------------------------
public class ManageJFrame {
private static Map<String, JFrame> hm = new HashMap<String, JFrame>();
public static void addJFrame(String name, JFrame frame) {
hm.put(name, frame);
System.out.println("name=" + name);
System.out.println("size=" + hm.size());
}
}
杀手
2012-09-12
打赏
举报
回复
这是两个不同的程序吧,可能吗
java
源码包---
java
源码 大量 实例
Java
生成密钥、
保存
密钥的实例源码,通过本源码可以了解到
Java
如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何
保存
公钥的字节数组、
保存
私钥到文件privateKey.dat、如何用
Java
对象
序列化
保存
私钥...
java
源码包3
Java
生成密钥、
保存
密钥的实例源码,通过本源码可以了解到
Java
如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何
保存
公钥的字节数组、
保存
私钥到文件privateKey.dat、如何用
Java
对象
序列化
保存
私钥...
java
源码包2
Java
生成密钥、
保存
密钥的实例源码,通过本源码可以了解到
Java
如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何
保存
公钥的字节数组、
保存
私钥到文件privateKey.dat、如何用
Java
对象
序列化
保存
私钥...
十字棋游戏
Java
作为一种高级、面向
对象
的编程语言,非常适合开发轻量级的应用,尤其是在移动设备和桌面环境中。
Java
小程序通常体积小,运行效率高,且具有良好的移植性,使得"jumpchess"能够轻松适应不同的硬件平台。 **...
Android系统截屏功能提取Demo
3. **创建Bitmap
对象
**:使用屏幕尺寸和密度,我们可以创建一个与屏幕相匹配的Bitmap
对象
: ```
java
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章