7、还有titlebar的字体怎么控制?

解决方案 »

  1.   

    5、同样是最大化问题,没找到java窗口最大化的函数实现最大化我用
       Toolkit.getDefaultToolkit().getScreenSize()来实现,但每次都会被任务栏覆盖
       一部分窗口,郁闷!  这个问题我们是使用java.awt.Robot机器人来实现的! 基本思想是借用机器人实例移动鼠标和点击鼠标——移动到最大化按钮上并点击它。在此之前我们应该使窗口实现表面上的最大,也就是你说的覆盖了任务栏的那种,这样看起来就象真的一样!
      要注意的是鼠标移动到的最大化按钮的坐标,这个坐标我们是取得X的值减去了一个常数,这个要自己去试,我们一般是减去15个象素;Y轴坐标取10左右吧,你自己也要多试才行!
      

  2.   

    这个方法的弊端就是可能在不同的分辨率下,最大化按钮的位置不好确定;而且,如果在代码运行过程中,人为的故意频繁移动鼠标,那么机器人的鼠标移动就会被覆盖,结果是不能自动移动到最大化按钮上,点击也没有用!代码如下! :
    Robot rb=new Robot();
          int x=this.getWidth( )-40;
          int y=10;
          rb.mouseMove(x,y);
          //System.out.println("机器人移动鼠标!");
          rb.mousePress (InputEvent.BUTTON1_MASK );
          //System.out.println("机器人点鼠标!");
          rb.mouseRelease (InputEvent.BUTTON1_MASK);
          //System.out.println("机器人放开鼠标!");
          //rb.keyPress (KeyEvent.VK_X );
          rb.mouseMove(this.getWidth()/2 ,this.getHeight()/2 );
      

  3.   

    1、这个问题实在是很难以解决,至少界面上的控件极其相关n多的监听阿什么的处理是无法分成几个小java文件的。
    2、你这个是什么意思?去掉热咖啡图标还是改变它的top格式?
    3、关于jtable的列表形式,你可以到这里看看,里面有n多的table样板源代码
    http://www2.gol.com/users/tame/swing/examples/SwingExamples.html
      

  4.   

    谢谢!phoenix_zd(天马行空) :
       你这个主意不错!
      不过,我是在想是不是可以直接发送个类似窗口最大化鼠标事件给窗口,java既然可以通过单击最大化按钮最大化,那么它应该可以读出屏幕操作区域的尺寸,还有可能根本就不需我们去读屏幕操作区域,!
    就像windows中的消息机制一样!alphazhao(绿色咖啡) :
      2、让他永远显示在最前面,就是失去焦点的时候也不会被其他窗口覆盖了,就像
         在jb6中按f1弹出的帮助那样。或者win2k的任务管理器! 其实我更希望找到
        jb6中的那种方式,可以被其他程序窗口覆盖,但在本程序窗口中永远显示在最
        前面!
      

  5.   

    1,写JPanel类。实现preload。
    2,回家给你。
      

  6.   

    2.要调用win32API吧,写一个native方法。
    6.在javax.swing.plaf.basic.BasicLookAndFeel.java中,自己找找!
      

  7.   

    4.5.
      你可以使用JInternalFrame的
      setMaximum(boolean b) .
      setIcon(boolean b)。--------------------------------------------
    CSDN论坛助手很棒,希望以后更好,我坚决拥护!
      

  8.   

    JackyXiao(杰克) :
    你试过吗?我怎么觉得不行?
      

  9.   

    问题1.可以考虑用函数重载,在JBUILDER的sample/ipworks/ftp中有个不错的例子.
    问题2.去http://www.l2fprod.com/当一个skinlf.jar,加入classpath,程序里这样写
    import com.l2fprod.gui.nativeskin.NativeSkin;
    ...
    //把frame始终置前
    NativeSkin.getInstance().setAlwaysOnTop(frame, true);
      

  10.   

    1。采用非匿名类,我看到某个程序的源代码的事件监听器分成几个java文件,每个java文件采用主文件+$+名字的方法,感觉比较好读,而且主文件也挺干净的。
      

  11.   

    crm2000(浏览器)  
     原理是这样,
     但这样的话,就不好在事件响应函数中访问主框架的成员了!
     你有森么好的方法嘛?
      

  12.   

    setMaximum(boolean b)
      setIcon(boolean b)
    我在我的一个小工程中就是这样用的。肯定可以的,你不妨贴出你的代码片段,大家研究!
    --------------------------------------------
    CSDN论坛助手很棒,希望以后更好,我坚决拥护!
      

  13.   

    5.想实现最大化,在jdk1.4下,用
    JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
      

  14.   

    5.
    //前提:jdk1.4
    JFrame frame=new JFrame();
    frame.show();
    frame.setExtendedState(Frame.MAXIMIZED_BOTH);
      

  15.   

    回复人: JackyXiao(杰克) 
    你可能误会我的意思了,的确是最大化了,但子窗口还是有titlebar我希望把子窗口的titlebar去掉!
      

  16.   

    唉!我的是jdk1.3
    用java作application的到底多不多?
      

  17.   

    回复人: westdo() (  ) 信誉:100  2002-07-04 15:27:00  得分:0  
     ...
    问题2.去http://www.l2fprod.com/当一个skinlf.jar,加入classpath,程序里这样写
    import com.l2fprod.gui.nativeskin.NativeSkin;
    ...
    //把frame始终置前
    NativeSkin.getInstance().setAlwaysOnTop(frame, true);哈哈,似乎是我写的嘛,那功能目前只能在win32上用最大化internalframe时把按钮嵌入父窗体的menubar的例子我见过,等研究一下看结果。
      
     
      

  18.   

    Apocalypse(逍遥思辨) :
      太感激了!:-)
      

  19.   

    那破程序居然还经过混淆器,看得人头晕,不过基本搞明白了。
    原来在最大化时是把internalframe的contentpane抠出来,把desktoppane换成jscrollpane,把抠来的contentpane放进viewport。(titlebar当然没了)把internalframe的title叠加到父窗体title的后面。
    再做3个按钮,-口x,包装到一个box里,放进父窗体的jmenubar,监听其事件,还原时做上面步骤的逆操作。(牵涉到不同界面样式下的绘制,还没看得太明白)
      

  20.   

    也可以找个JClass 5.0k,记得里面有个JCMDIPane已经实现了这功能,不过往父窗体里面加window菜单的逻辑不好,只能加到最后一个(经常出现在help后面的情况),可以找一个来套用或者参考。
      

  21.   

    JDK升级到1。4,对窗体最大化是很EASY的。
      

  22.   

    Apocalypse(逍遥思辨) :
    这么繁!你现在能不能把它写出来了?
      

  23.   

    2、你的问题的需求可不可以改动成如下:当你的程序获得焦点的时候,这个界面A显示在所有的界面之外(第一个显示),除了界面A可以被点击外,其它的界面均不可点击。就像Jbuilder里面按下F1弹出的界面一样!
    如果是这样就简单多了,只不过是将界面A和调用它的父界面owner锁定罢了。不过界面A一定要是Dialog类型的,不知道jdk1.4里面Frame类型的能否锁定。看看Dialog或者JDialog的构造函数,你会发现有几个这种类型参数的:
    (Frame owner,boolean modle,……)
    其中owner就是调用界面A的界面,它可以是Frame、JFrame、Dialog和JDialog中的一种,modle为true的时候,即是锁定界面A和它的调用界面(owner界面)。
      

  24.   

    alphazhao(绿色咖啡) :
    谢谢你给我的那个网址,那个地方很好!2、这种不行!
    这就是典型的模态对话框了!
    打开模态对话框后就不能再在父窗口中操作!jb6弹出的帮助是可以操纵其父窗口的!