用Java仿金山卫士写的界面(含源码)

总结这一学期学习用java做界面的一些经验,整个界面是在netbeans 6.9下面开发的。

先看界面效果图。

主界面结构图:

这里总结一下用到的技术:

1.有背景的,去掉了默认标题栏的JFrame。

        设置背景,主要是通过在layeredPane中添加一个JLabel作为背景,然后把顶层内容窗格设置成透明实现:

            ImageIcon img = new ImageIcon(getClass().getResource("/images/bluebg.png"));//获得图片资源
            imgLabel.setIcon(img);
            imgLabel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));//设置JLabel边框
            this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));// 将图片添加到layeredPane
            imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
            ((JPanel)getContentPane()).setOpaque(false);// 将contentPane设置成透明的

      去掉默认标题栏(下面这段代码我是写在构造方法里面):

          this.setUndecorated(true); // 去掉窗口的装饰
          this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);

2.可以实现拖动,关闭窗口,最小化窗口的菜单面板

      实现拖动,继承JPanel并加入下面代码,在构造方法里面要加入setDragable();:

     

 private JFrame jFrame;
      Point loc = null;
      Point tmp = null;
      boolean isDragged = false;

    @SuppressWarnings("unchecked")
     private void setDragable() {
        this.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent e) {
               isDragged = false;
               jFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
            }
            public void mousePressed(java.awt.event.MouseEvent e) {
               tmp = new Point(e.getX(), e.getY());
               isDragged = true;
               jFrame.setCursor(new Cursor(Cursor.MOVE_CURSOR));
            }
        });
        this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseDragged(java.awt.event.MouseEvent e) {
               if(isDragged) {
                   loc = new Point(jFrame.getLocation().x + e.getX() - tmp.x,
                     jFrame.getLocation().y + e.getY() - tmp.y);
                   jFrame.setLocation(loc);
               }
            }
        });
  }
  }

   实现关闭和最小化代码只要把相应代码加入按钮事件里面就可以:

            关闭窗口代码,有提示是否要关闭:

                    int flag = JOptionPane.showConfirmDialog(null, "Sure to close?",
                        "Care!", JOptionPane.YES_NO_OPTION,
                        JOptionPane.INFORMATION_MESSAGE);
                if(JOptionPane.YES_OPTION == flag){
                    System.exit(0);
                }else{
                    return;
                }

           最小化代码:

            this.setExtendedState(JFrame.ICONIFIED);

3.可以自由切换的半透明JPanel

         半透明效果,继承JPanel,重写paintComponent方法,画一张半透明图片作为背景,并把Jpanel设置成透明,

             protected void paintComponent(Graphics g){
                     super.paintComponent(g);
                      ImageIcon img = new ImageIcon(getClass().getResource("/images/fuzzy.png"));
                      img.paintIcon(this,g,0,0);

                     }

           通过点击menuPanel面板上的四个按钮,切换成不同的面板。原理,mainPanel使用卡片布局(java.awt.CardLayout),并添加四个半透明JPanel,

           通过四个按钮切换面板通过以下代码实现: ((CardLayout)mainPanel.getLayout()).show(mainPanel,"card2");//mainPanel为设置了CardLayout的JPanel,"Card2"为面  

           板的卡片名字,并不是面板的变量名


其他技术要点:

图形按钮:

        setBorderPainted(false);//取消边框显示
        setContentAreaFilled(false);//取消背景填充
        setFocusPainted(false);//取消获得焦点时候描画边框

       setRolloverIcon(); //设置当鼠标滑过时候显示的图标

源码及程序下载:http://download.csdn.net/detail/fycheung/4543026

欢迎交流学习


           




         

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现在Java中调用金山词霸屏幕取词的功能,可以通过以下步骤进行操作: 1. 下载及安装金山词霸软件:首先需要在计算机上下载并安装金山词霸软件,确保软件正常运行。 2. 导入相关依赖库:根据金山词霸提供的API文档,确定所需的相关依赖库,并将其导入到Java项目中。 3. 创建Java代码文件:在Java项目中创建一个新的Java代码文件,用于调用金山词霸屏幕取词的功能。 4. 编Java代码:在Java代码中,可以使用Java的外部应用程序接口(API)或者使用JNI接口来与金山词霸进行交互。根据金山词霸的API文档,按照要求调用相应的函数和方法,获取屏幕取词的结果。 5. 运行Java代码:编译并运行Java代码,确保程序可以成功调用金山词霸屏幕取词功能,并获取到预期的结果。 需要注意的是,由于金山词霸屏幕取词功能的实现方式可能会因版本不同而有所差异,因此在具体实现时应参考金山词霸的相关API文档,确保代码的准确性与稳定性。 ### 回答2: 要调用金山词霸屏幕取词的源码,可以使用Java的相关库和API。首先,需要在项目中引入金山词霸的Java库文件。然后,在代码中创建一个金山词霸的实例对象,用于控制屏幕取词的操作。 接下来,可以使用Java的事件监听机制,监听鼠标操作或者键盘操作,当用户点击鼠标或者按下特定的按键时,触发取词功能。在事件监听方法中,调用金山词霸实例对象的相关方法,如startCapture()方法,开始进行屏幕取词的操作。 经过截图和文字识别处理后,金山词霸会返回取到的词语信息。可以将词语信息显示到界面上,或者存储到文件中,根据需要进行进一步的处理和展示。 在整个过程中,需要注意异常处理以及安全性问题。确保金山词霸库文件正确引入,并且用户有正常的操作权限。此外,可能还需检查操作系统的兼容性以及金山词霸库的版本适配性。 需要注意的是,金山词霸的使用可能涉及到授权和付费问题。在使用前,建议查阅官方文档,了解相关授权和付费要求,确保合法合规地使用金山词霸的屏幕取词功能。 ### 回答3: 要实现Java调用金山词霸屏幕取词源码,可以按照以下步骤进行: 1. 首先,需要在电脑上安装好Java开发环境,确保可以编译和运行Java程序。 2. 在网上搜索或直接访问金山词霸的开放平台或开发者文档,查找屏幕取词功能的API文档和示例代码。 3. 阅读API文档和示例代码,了解如何进行屏幕取词的调用和使用。 4. 在Java的开发环境中创建一个新的Java项目,命名为"ScreenTranslator"(或其他合适的名称)。 5. 在该项目中创建一个Java类,命名为"ScreenTranslatorDemo"(或其他合适的名称),这个类将用于编屏幕取词功能的代码。 6. 在"ScreenTranslatorDemo"类中导入相关的Java类库和API库。 7. 编代码来调用金山词霸屏幕取词的API,实现屏幕取词功能。这可能涉及到一些API调用、参数的设置和返回结果的处理。 8. 在main方法中,编测试代码,模拟屏幕取词的场景,并调用相应的方法进行词语的翻译和输出。 9. 运行Java程序,查看屏幕取词功能是否正常工作,并检查输出结果是否符合预期。 10. 根据需要,可以对代码进行优化、封装或添加其他功能,以提高程序的可用性和用户体验。 需要注意的是,以上步骤仅供参考,具体的实现方式可能与金山词霸的API和文档有关。因此,在实际过程中,最好参考具体的文档和示例代码,以确保正确调用金山词霸屏幕取词的API。从这个角度来说,这只是一个大致的指引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值