欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java实现屏幕右下角弹出气泡窗口,java窗口,[Java]代码publ

来源: javaer 分享于  点击 45411 次 点评:283

java实现屏幕右下角弹出气泡窗口,java窗口,[Java]代码publ


[Java]代码

public class ToolTipMsg extends JWindow{    private ToolTipUtil toolTipUtil;    private JTextArea msg;    private Color bgColor;    private int step = 0;    boolean flag = true;    public ToolTipMsg(String str,JFrame frame) {        super(frame);        toolTipUtil = new ToolTipUtil();        msg = new JTextArea();         // 设定边框颜色           bgColor = new Color(255, 255, 225);         msg.setBackground(bgColor);        msg.setBorder(BorderFactory.createLineBorder(Color.BLACK));        msg.setMargin(new Insets(4, 4, 4, 4));           msg.setLineWrap(true);           msg.setWrapStyleWord(true);         msg.setEditable(false);        setLayout(new BorderLayout());        msg.setText(str);        add(msg);        this.setSize(toolTipUtil.get_width(),toolTipUtil.get_height());        setAlwaysOnTop(true);    }    private synchronized void showMsg_1(int pos){        int showHeigth = ScreanSizeUtil.getHetgth() - toolTipUtil.get_height() - 30;        if(!this.isVisible())            setVisible(true);        if((showHeigth) <= ScreanSizeUtil.getHetgth() - pos){            setLocation(ScreanSizeUtil.getWidth() - toolTipUtil.get_width(),                    ScreanSizeUtil.getHetgth() - pos);        }else{            flag = false;        }    }    private synchronized void hiddenMsg_1(int pos){        if(ScreanSizeUtil.getHetgth() - pos < ScreanSizeUtil.getHetgth()){            setLocation(ScreanSizeUtil.getWidth() - toolTipUtil.get_width(),                    ScreanSizeUtil.getHetgth() - pos);        }else{            flag = true;            setVisible(false);        }    }    public void showMsg(){        new Thread(new Runnable() {            public void run() {                if(step < 0)                    step = 0;                flag = true;                while(flag){                    try {                        showMsg_1(step);                        step = step + 5;                        Thread.sleep(toolTipUtil.get_stepTime());                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    if(!flag){                        flag = true;                        break;                    }                }            }        }).start();    }    public void hiddenMsg(){        try {            Thread.sleep(toolTipUtil.get_displayTime());        } catch (InterruptedException e1) {            e1.printStackTrace();        }        if(flag){            flag= false;        }            while(step >= 0 && !flag){                try {                    Thread.sleep(toolTipUtil.get_stepTime());                    step = step - 5;                    hiddenMsg_1(step);                } catch (InterruptedException e) {                    e.printStackTrace();                }            }    }    public static void main(String[] args) {        ToolTipMsg toolMsg = new ToolTipMsg("test",null);        toolMsg.showMsg();        toolMsg.hiddenMsg();    }}package com.win.util;import java.awt.Color;import java.awt.Font;public class ToolTipUtil {    // 气泡提示宽       private int _width = 300;       // 气泡提示高       private int _height = 100;      // 设定循环的步长       private int _step = 30;      // 每步时间       private int _stepTime = 30;       // 显示时间       private int _displayTime = 6000;       // 目前申请的气泡提示数量       private int _countOfToolTip = 0;     // 当前最大气泡数       private int _maxToolTip = 0;       // 在屏幕上显示的最大气泡提示数量       private int _maxToolTipSceen;     // 字体       private Font _font;       // 边框颜色       private Color _bgColor;      // 背景颜色       private Color _border;      // 消息颜色       private Color _messageColor;     // 差值设定       private int _gap;       // 是否要求至顶(jre1.5以上版本方可执行)       boolean _useTop = true;    public int get_width() {        return _width;    }    public void set_width(int _width) {        this._width = _width;    }    public int get_height() {        return _height;    }    public void set_height(int _height) {        this._height = _height;    }    public int get_step() {        return _step;    }    public void set_step(int _step) {        this._step = _step;    }    public int get_stepTime() {        return _stepTime;    }    public void set_stepTime(int _stepTime) {        this._stepTime = _stepTime;    }    public int get_displayTime() {        return _displayTime;    }    public void set_displayTime(int _displayTime) {        this._displayTime = _displayTime;    }    public int get_countOfToolTip() {        return _countOfToolTip;    }    public void set_countOfToolTip(int _countOfToolTip) {        this._countOfToolTip = _countOfToolTip;    }    public int get_maxToolTip() {        return _maxToolTip;    }    public void set_maxToolTip(int _maxToolTip) {        this._maxToolTip = _maxToolTip;    }    public int get_maxToolTipSceen() {        return _maxToolTipSceen;    }    public void set_maxToolTipSceen(int _maxToolTipSceen) {        this._maxToolTipSceen = _maxToolTipSceen;    }    public Font get_font() {        return _font;    }    public void set_font(Font _font) {        this._font = _font;    }    public Color get_bgColor() {        return _bgColor;    }    public void set_bgColor(Color _bgColor) {        this._bgColor = _bgColor;    }    public Color get_border() {        return _border;    }    public void set_border(Color _border) {        this._border = _border;    }    public Color get_messageColor() {        return _messageColor;    }    public void set_messageColor(Color _messageColor) {        this._messageColor = _messageColor;    }    public int get_gap() {        return _gap;    }    public void set_gap(int _gap) {        this._gap = _gap;    }    public boolean is_useTop() {        return _useTop;    }    public void set_useTop(boolean _useTop) {        this._useTop = _useTop;    }  }
相关栏目:

用户点评