最终效果图
核心思想
使用java.swing.JDialog创建一个窗体对象,设置窗体的展示坐标值以及在窗体对象中增加各种零件.
java代码
package project.demo;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.URI;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 桌面弹窗工具类
*/
public class TipWindowUtils {
/**
* 展示提示窗口
*
* @param width 窗口宽度
* @param height 窗口高度
* @param titleT 窗口标题
* @param word 窗口内容
* @param bottomHeight 距离底部的距离
* @param url 点击跳转的地址,为空则只关闭不跳转
* @param millis 没有操作时延时关闭时间(毫秒)
*/
public static void show(int width, int height, String titleT, String word, int bottomHeight, String url, long millis) throws InterruptedException {
JDialog tipWindow = new JDialog();
tipWindow.setSize(width, height);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(
tipWindow.getGraphicsConfiguration());
int x = (int) (dim.getWidth() - width - 3);
int y = (int) (dim.getHeight() - screenInsets.bottom - 3);
tipWindow.setLocation(x, y);
tipWindow.setBackground(Color.black);
tipWindow.setTitle(titleT);
// 设置提示框的边框,宽度和颜色
tipWindow.getRootPane().setBorder(
BorderFactory.createMatteBorder(1, 1, 1, 1, Color.white));
int ybottom = (int) dim.getHeight() - screenInsets.bottom;
//设置窗口上的展示内容及对应的触发事件
Desktop desktop = Desktop.getDesktop();
JPanel headPan = setHeadPan(titleT, tipWindow