关于JavaSwing背景和Win7下和Xp下边框不一致的问题
2010-11-22 21:35
267 查看
白老师,我有一个问题。我现在创建了一个固定大小的JFrame,在里面添加了东西。但是会有一个问题,当我把这个项目拿到不同的操作系统上,比如从Win7到XP就会出现变形的问题。我找了一下原因,应该 是由于两个系统下JFrame的边框的大小不一样造成的。请问这种情况怎么解决?
还有就是关于界面背景的问题,在JPanel上可以重写
/**
* 覆盖父类paint方法
* <p>绘制背景</p>
*
* @param g Graphics对象
*/
public void paint (Graphics g){
super.paint(g);
g.drawImage(Icons.BG.getImage(), 0, 0, null);
super.paintChildren(g);
}
就能很好的实现,可是JFrame上不行啊,就算是绘制成功,因为如果添加东西到JFrame,那么contentPane会覆盖掉背景啊 ?怎么解决啊,一般我们是怎么添加背景的啊?
还有就是关于项目分包的问题,因为项目大了有很多类,应该怎么建包啊,比如我有一个界面类,里面会添加一些功能组件,这些组件,panel都是属于这个界面类的,我是把这些和这个界面类装在一起还是单独建一个包放他们啊,但是我本来是有一个View包装所有界面的。还有就是一些图片,音乐这些又该怎么放啊?
谢了哈,白老师,就是上面的三个问题
在JPanel中要去重写patinComponent()方法,绘制背景一般都在这里面去绘制的。这样就不会覆盖其他组件了,关于不同系统上JFrame边框大小不一样你可以在JFrame里面放一个JPanel,以后所有的组件都加在这个JPanel里面。设置大小的话就先获得JFrame的四个边框大小,然后再加上一个你自己设置的大小
this.getInsets().top //上边框
this.getInsets().left //左边框
this.getInsets().right //右边框
this.getInsets().bottom //下边框
关于建包的问题,一般界面类都会放在一个包里面,比如view,这里面包含窗口类、面板类
如果是做游戏会涉及到角色类,会建一个角色包,比如role
一些处理音乐、文件的类会放在util包里面
如果还有javabean对象会放到bean包里面
还有就是关于界面背景的问题,在JPanel上可以重写
/**
* 覆盖父类paint方法
* <p>绘制背景</p>
*
* @param g Graphics对象
*/
public void paint (Graphics g){
super.paint(g);
g.drawImage(Icons.BG.getImage(), 0, 0, null);
super.paintChildren(g);
}
就能很好的实现,可是JFrame上不行啊,就算是绘制成功,因为如果添加东西到JFrame,那么contentPane会覆盖掉背景啊 ?怎么解决啊,一般我们是怎么添加背景的啊?
还有就是关于项目分包的问题,因为项目大了有很多类,应该怎么建包啊,比如我有一个界面类,里面会添加一些功能组件,这些组件,panel都是属于这个界面类的,我是把这些和这个界面类装在一起还是单独建一个包放他们啊,但是我本来是有一个View包装所有界面的。还有就是一些图片,音乐这些又该怎么放啊?
谢了哈,白老师,就是上面的三个问题
在JPanel中要去重写patinComponent()方法,绘制背景一般都在这里面去绘制的。这样就不会覆盖其他组件了,关于不同系统上JFrame边框大小不一样你可以在JFrame里面放一个JPanel,以后所有的组件都加在这个JPanel里面。设置大小的话就先获得JFrame的四个边框大小,然后再加上一个你自己设置的大小
this.getInsets().top //上边框
this.getInsets().left //左边框
this.getInsets().right //右边框
this.getInsets().bottom //下边框
关于建包的问题,一般界面类都会放在一个包里面,比如view,这里面包含窗口类、面板类
如果是做游戏会涉及到角色类,会建一个角色包,比如role
一些处理音乐、文件的类会放在util包里面
如果还有javabean对象会放到bean包里面
相关文章推荐
- win7下关于java -version和指定JDK版本不一致问题
- A2的总结:win7和xp的环境不一致导致现在xp使用1.18的版本,而a2使用1.31的版本,存在的有以下的问题
- 关于WIN7与XP的共享访问问题(如图,账号和密码都正确,却总是提示错误)
- 关于多文档MFC从xp系统上移植到win7上出现错误的问题解决经验
- 关于自带win8的新笔记本装win7或xp的问题说明
- QT_win7下编译的程序在xp中运行中文乱码问题
- css解决select不能被遮盖和不能设置边框背景补白等样式的问题
- 蛙蛙请教:关于rdl图表边框设置的问题
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决
- 关于多张图片和单个图片的背景选择的问题
- 关于android中EditText边框的问题 下划线
- 关于win7 mysql无法启动的问题
- 关于win7下protues(单片机模拟软件)的自动退出问题
- 关于vs2012/2013的C编译器生成的exe的向后兼容xp的问题
- 解决Win7编译后XP系统无法访问数据库的问题
- 关于无边框窗口的兼容性问题
- 完美解决XP无法定位程序输入点RegGetValue于动态链接库ADVAPI32.dll,XP,win7注册表读取问题
- XP下Winform背景透明问题
- 解决win7背景黑屏问题
- 关于Vue背景图打包之后访问路径错误问题