rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Java基础

关于JAVA透明界面!

这是我自己做的透明界面、不算很好看。

界面是自己渐变出来的!

代码如下:

import java.awt.Color;
import java.awt.Container;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;

import com.sun.awt.AWTUtilities;

public class Test extends JFrame  {
 private static final AWTUtilities AWTUtilitiesWrapper = null;
 public Test() throws InterruptedException{     
       JPanel jPanel1 = new JPanel() {
           protected void paintComponent(Graphics g) {
               if (g instanceof Graphics2D) {
                   Paint p2 =
                    new GradientPaint(100, 50, new Color(90, 150, 50, 0),
                      50, 200, new Color(90, 189, 55, 255), true);//修改颜色代码
                   Graphics2D g2d = (Graphics2D)g;                    g2d.setPaint(p2);
                   g2d.fillRect(0, 0, getWidth(), getHeight());
               

            } else {
           super.paintComponent(g);            }    
     

         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
         setMinimumSize(new java.awt.Dimension(500, 300));
         setUndecorated(true);//干掉窗体
         jPanel1.setDoubleBuffered(false);          jPanel1.setLayout(new java.awt.BorderLayout());
         final Point origin;
         origin = new Point();          addMouseListener(new MouseAdapter() {
             public void mousePressed(MouseEvent e) {
              origin.x = e.getX();
              origin.y = e.getY();
             }

             public void mouseReleased(MouseEvent e) {
              super.mouseReleased(e);
             }

             @Override
             public void mouseEntered(MouseEvent e) {
              repaint();             });
            addMouseMotionListener(new MouseMotionAdapter() {
             public void mouseDragged(MouseEvent e) {
              Point p = getLocation();
              setLocation(p.x + e.getX() - origin.x, p.y + e.getY()
                - origin.y);             });
              Container ct=this.getContentPane();
              ct.add(jPanel1, java.awt.BorderLayout.CENTER);
         AWTUtilitiesWrapper.setWindowOpaque(this, false);           for(float i=0.001F;i<=1.0F;i+=0.001F){
           AWTUtilities.setWindowOpacity(this, i);
           this.setVisible(true);      
         pack();  }

 public static void main(String[] args) throws InterruptedException {
  new Test();

  }
 

如果出现错误请确保你的JDK是1.60以上版本的!

顶一下
(0)
踩一下
(0)