Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在Java程序,如何实现自适应位置的快捷菜单

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

做界面时,常用到快捷菜单(JPopupMenu), 可JPopupMenu本身没办法根据鼠标位置来自动调整菜单位置使全部菜单可见,为此我专门写了一个可自适应位置的快捷菜单,代码如下:



import javax.swing.*;
import java.awt.*;



/**
 * <p>Copyright: Copyright (c) 2002</p>
 * @author Turbo Chen
 * @version 1.01
 */
public class CJPopupMenu extends JPopupMenu
{



    public void show(Component invoker,int x, int y)
    {
        Point ps = invoker.getLocationOnScreen();
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int mw = this.getPreferredSize().width;
        int mh = this.getPreferredSize().height;
        int newX = x;
        int newY = y;
        int aX = ps.x+x+mw;
        int aY = ps.y+y+mh;
        if ( aX>d.width )
            newX = x -(aX - d.width);
        if ( aY>d.height )
            newY = y -(aY - d.height);
        super.show(invoker,newX,newY);
    }
}



这个类重载了public void show(Component invoker,int x, int y)方法来实现自适应位置功能.




相关文章

相关软件