我的程序是基于1024×768的分辨率开发的,现在在低于此分辨率的情况下很多组件都显示不下,而高于此分辨率的话字体和组件都很小。如果遇到这种问题,大家一般是如何解决的?有什么比较容易的方式让界面显示适应不同分辨率吗?谢谢!

解决方案 »

  1.   

    一般在主程序里先获得屏幕大小如:Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();再基于screenSize.width与screenSize.height来设计.
      

  2.   


    Toolkit kit=Toolkit.getDefaultToolkit();
    Dimension size=kit.getScreenSize();
    int width=size.width;
    int height=size.height;

    setSize(width/2,height/2);
    setLocation(width/4,height/4);
      

  3.   

    但是对小的控件的放置,除了用borderLayout布局的外,其他的在改变分辨率后都没有适应窗口变化,好象gridBagLayout可以,但是太难用了,有其他解决的办法吗?
      

  4.   

    这个做起来还真的比较烦,但也要看看你开发的软件的窗口数.
    首先布局.再题所有窗口的大小不能设为绝对Size.还是组件的大小也不能设为绝对的Size.然后是字的大小也要改变.可能还有很多了,做的时候就会碰到.
    提议用配置文件来定义这些东东.大小都得用当前分辨率来确定.
      

  5.   

    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();int width=Toolkit.getDefaultToolkit().getScreenSize().width;
    int height=Toolkit.getDefaultToolkit().getScreenSize().height;

    setBounds(width/4,height/4,width/2,height/2);建议同上,用配置文件来定义这些.
      

  6.   

    不会出现这种问题啊,除非是用setLayout(null)
      

  7.   

    推荐GridBagLayout, 我很喜欢用