浏览 492 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-12-07 关键字: swing
Java的bug吗??现在有个问题很让我头疼
我先把代码贴出来把 package test; import java.awt.Dimension; import javax.swing.JFrame; public class TestFrame { public static void main(String[] args) { JFrame frame = new JFrame("Get MaxSize"); // frame.setSize(300,300); frame.setVisible(true); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension ds = frame.getSize(); System.out.println("-------->>>ds="+ds); } } 大家认为打印什么呢? 肯定是frame最大化时的大小啊?.确实,在windows下运行打的就是这个结果 可是到了linux下运行,居然是 -------->>>ds=java.awt.Dimension[width=0,height=0] 把你人气个半死,如果启用frame.setSize(300,300); 那么结果是 -------->>>ds=java.awt.Dimension[width=300,height=300] 实在是让人郁闷啊. 这似乎可以证明linux下运行frame.setExtendedState(JFrame.MAXIMIZED_BOTH);这个代码的时候, 是没有调setSize方法的哦 但是这就导致在不同的平台有不同的结果了 大家也许问我为何要知道这个尺寸,这只是一段事例代码,实际的业务与这有关哦 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-12-07
业务代码要和界面这么耦合
设计上还要重新考虑下吧 |
|
| 返回顶楼 | |
|
最后更新时间:2007-12-10
这个业务不是指后台的business logic,而是指我们整个程序需要完成的目标,是我表述不清除了,或者说这个业务纯粹是前台业务。
|
|
| 返回顶楼 | |



