国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java實現類MSN、QQ好友上線通知界面

2019-11-18 15:40:40
字體:
來源:轉載
供稿:網友

  相信大家都使用過MSN,QQ這樣的即時聊天類軟件,對于它們的好友上線提示功能并不生疏吧?從屏幕右下角彈出一個小界面,慢慢上升,最后消失。我們能不能在自已的程序中也做出相同的功能呢?能!筆者現用java和eclipse的SWT用戶界面組件實現這個功能。

  什么是SWT呢?

  SWT原來是eclipse項目組為開發eclipse IDE所編寫的圖形界面API,運行時,其先判定本機是否有相同的界面元素,假如有則直接調用顯示,如沒有才進行模擬顯示。其運行機制使速度比AWT,SWING快很多。

  了解更多請看:http://www.eclipse.org/swt

  編寫思路

  先取得用戶屏幕大小,用屏幕高度減去popup界面的高度計算出popup界面在屏幕顯示的最高位置(當界面移動到此位置時就停止移動)。

Rectangle area = Display.getDefault().getClientArea();
int upPosition = area.height - 100;

  用屏幕高度加上popup界面的高度就計算出popup界面的初始位置(初始化時不可見,然后慢慢上移到upPosition點后停止移動,再顯示若干秒后消失)。

int downPosition = area.height + 100;
  移動位置我們用線程實現,當初始化界面后,調用start()方法運行此線程,在線程中循環判定downPosition的大小是否小于upPosition,假如小于的話說明還未到停止的時候,設置popup界面的邊框為downPosition,并暫停10毫秒,假如downPosition大于upPosition的,說明popup界面已移動到了最高位置。調用sleep()暫停5秒鐘后關閉界面并退出程序。就這么簡單,ok, Let's go! 下面給出整個程序代碼:

  描述:

  (Test為主界面,點擊上面的button后,調用Popup在右下角顯示像MSN和QQ一樣的popup界面。)

  圖一為源代碼中的實現,圖二為修改過后的界面(和QQ的有點像吧。)

Java實現類MSN、QQ好友上線通知界面(圖一)Java實現類MSN、QQ好友上線通知界面(圖二)
圖一             圖二
  源代碼:

// Test.java
//主界面,其中只有一個button,當點擊時調用Popup在右下角顯示像MSN和QQ一樣的popup界面。

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class Test {

 public static void main(String[] args) {

  final Display display = new Display();
  Shell shell = new Shell();
  shell.setText("aaa");
  shell.setSize(250, 150);

  final Button button = new Button(shell, SWT.NONE);
  button.setBounds(50, 20, 100, 25);
  button.setText("button");
  //監聽button的事件,當用戶點擊時調用Popup類顯示popup界面。
  button.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    //實例化popup類,構造函數為popup界面中出現的提示信息。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丽水市| 新化县| 湟中县| 本溪市| 贵港市| 永泰县| 屯门区| 镇安县| 巨野县| 房山区| 酉阳| 铜梁县| 安岳县| 眉山市| 洛扎县| 比如县| 靖安县| 桂林市| 平武县| 将乐县| 乐昌市| 沧州市| 桐梓县| 南岸区| 肃南| 睢宁县| 嘉荫县| 崇州市| 临沂市| 河源市| 咸宁市| 平南县| 洮南市| 土默特左旗| 普定县| 三门县| 鹤岗市| 北票市| 沅陵县| 略阳县| 通州区|