Õ¾ÄÚËÑË÷: ÇëÊäÈëËÑË÷¹Ø¼ü´Ê

µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú JavaʵÏÖÀàMSN¡¢QQºÃÓÑÉÏÏß֪ͨ½çÃæ

JavaʵÏÖÀàMSN¡¢QQºÃÓÑÉÏÏß֪ͨ½çÃæ

ÕªÒª: ±ÊÕßÓÃJavaºÍeclipseµÄSWTÓû§½çÃæ×é¼þʵÏÖÁËmsn¡¢qqºÃÓÑÉÏÏß֪ͨ¹¦ÄÜ
¡¡¡¡ÏàÐÅ´ó¼Ò¶¼Ê¹ÓùýMSN£¬QQÕâÑùµÄ¼´Ê±ÁÄÌìÀàÈí¼þ£¬¶ÔÓÚËüÃǵĺÃÓÑÉÏÏßÌáʾ¹¦Äܲ¢²»Ä°Éú°É£¿´ÓÆÁÄ»ÓÒϽǵ¯³öÒ»¸öС½çÃ棬ÂýÂýÉÏÉý£¬×îºóÏûʧ¡£ÎÒÃÇÄܲ»ÄÜÔÚ×ÔÒѵijÌÐòÖÐÒ²×ö³öÏàͬµÄ¹¦ÄÜÄØ£¿ÄÜ£¡±ÊÕßÏÖÓÃJAVAºÍeclipseµÄSWTÓû§½çÃæ×é¼þʵÏÖÕâ¸ö¹¦ÄÜ¡£

¡¡¡¡Ê²Ã´ÊÇSWTÄØ£¿

¡¡¡¡SWTÔ­À´ÊÇeclipseÏîÄ¿×éΪ¿ª·¢eclipse IDEËù±àдµÄͼÐνçÃæAPI£¬ÔËÐÐʱ£¬ÆäÏÈÅжϱ¾»úÊÇ·ñÓÐÏàͬµÄ½çÃæÔªËØ£¬Èç¹ûÓÐÔòÖ±½Óµ÷ÓÃÏÔʾ£¬ÈçûÓвŽøÐÐÄ£ÄâÏÔʾ¡£ÆäÔËÐлúÖÆʹËٶȱÈAWT£¬SWING¿ìºÜ¶à¡£

¡¡¡¡Á˽â¸ü¶àÇë¿´£ºhttp://www.eclipse.org/swt

¡¡¡¡±àд˼·

¡¡¡¡ÏÈÈ¡µÃÓû§ÆÁÄ»´óС£¬ÓÃÆÁÄ»¸ß¶È¼õÈ¥popup½çÃæµÄ¸ß¶È¼ÆËã³öpopup½çÃæÔÚÆÁÄ»ÏÔʾµÄ×î¸ßλÖ㨵±½çÃæÒƶ¯µ½´ËλÖÃʱ¾ÍÍ£Ö¹Òƶ¯£©¡£

<table borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf border=1> <tr> <td>Rectangle area = Display.getDefault().getClientArea();
int upPosition = area.height - 100;</td></tr></table>
¡¡¡¡ÓÃÆÁÄ»¸ß¶È¼ÓÉÏpopup½çÃæµÄ¸ß¶È¾Í¼ÆËã³öpopup½çÃæµÄ³õʼλÖ㨳õʼ»¯Ê±²»¿É¼û£¬È»ºóÂýÂýÉÏÒƵ½upPositionµãºóÍ£Ö¹Òƶ¯£¬ÔÙÏÔʾÈô¸ÉÃëºóÏûʧ£©¡£

<table borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf border=1> <tr> <td>int downPosition = area.height + 100;</td></tr></table>
¡¡¡¡Òƶ¯Î»ÖÃÎÒÃÇÓÃÏß³ÌʵÏÖ£¬µ±³õʼ»¯½çÃæºó£¬µ÷ÓÃstart()·½·¨ÔËÐдËỊ̈߳¬ÔÚÏß³ÌÖÐÑ­»·ÅжÏdownPositionµÄ´óСÊÇ·ñСÓÚupPosition£¬Èç¹ûСÓڵĻ°ËµÃ÷»¹Î´µ½Í£Ö¹µÄʱºò£¬ÉèÖÃpopup½çÃæµÄ±ß¿òΪdownPosition£¬²¢ÔÝÍ£10ºÁÃ룬Èç¹ûdownPosition´óÓÚupPositionµÄ£¬ËµÃ÷popup½çÃæÒÑÒƶ¯µ½ÁË×î¸ßλÖᣵ÷ÓÃsleep()ÔÝÍ£5ÃëÖÓºó¹Ø±Õ½çÃæ²¢Í˳ö³ÌÐò¡£¾ÍÕâô¼òµ¥£¬ok, Let's go! ÏÂÃæ¸ø³öÕû¸ö³ÌÐò´úÂ룺

¡¡¡¡ÃèÊö£º

¡¡¡¡(TestΪÖ÷½çÃ棬µã»÷ÉÏÃæµÄbuttonºó£¬µ÷ÓÃPopupÔÚÓÒϽÇÏÔʾÏñMSNºÍQQÒ»ÑùµÄpopup½çÃæ¡£)

¡¡¡¡Í¼Ò»ÎªÔ´´úÂëÖеÄʵÏÖ£¬Í¼¶þΪÐ޸ĹýºóµÄ½çÃ棨ºÍQQµÄÓеãÏñ°É¡££©

<table width="90%" align=center border=0> <tr> <td>
ͼһ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼¶þ</td></tr></table>
¡¡¡¡Ô´´úÂ룺

<table borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf border=1> <tr> <td>// 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½çÃæÖгöÏÖµÄÌáʾÐÅÏ¢¡£
¡¡¡¡¡¡¡¡Popup popup = new Popup("ÄúµÄºÃÓÑxxxÉÏÏßÁË¡£");
¡¡¡¡¡¡¡¡popup.start();
¡¡¡¡¡¡}
¡¡¡¡});

¡¡¡¡shell.open();

¡¡¡¡while (!shell.isDisposed()) {
¡¡¡¡¡¡if (!display.readAndDispatch()) {
¡¡¡¡¡¡¡¡display.sleep();
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡display.dispose();
¡¡}
}

// Popup.java
//ʵÏÖÏñMSN£¬QQÒ»ÑùµÄºÃÓÑÉÏÏß֪ͨpopup

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class Popup extends Thread {

¡¡Shell shell;

¡¡protected int moveStep = 2; //ÿ´ÎÒƶ¯µÄpixel
¡¡protected int upPosition; //ÄÜÒƶ¯µ½µÄ×îÉÏÃæ×ø±ê
¡¡protected int downPosition; //µ±Ç°popupµÄ±ß¿ò×ø±ê
¡¡protected int leftPosition; //popup×ó±ß±ß¿ò×ø±ê public Popup(final String message) {

¡¡shell = new Shell(SWT.ON_TOP);
¡¡Text text = new Text(shell, SWT.MULTI | SWT.WRAP);
¡¡text.setBounds(10, 20, 180, 80);
¡¡text.setBackground(shell.getBackground());
¡ ¡text.setText(message);

¡¡//È¡ÆÁĪ´óС
¡¡Rectangle area = Display.getDefault().getClientArea();

¡¡upPosition = area.height - 100;//¼ÆËã³öpopup½çÃæÔÚÆÁÄ»ÏÔʾµÄ×î¸ßλÖÃ
¡¡downPosition = area.height + 100;//¼ÆËã³öpopup½çÃæµÄ³õʼλÖÃ
¡¡leftPosition = area.width - 180;

¡¡shell.setSize(180, 100);

¡¡//³õʼ»¯popupλÖÃ
¡¡shell.setLocation(leftPosition, downPosition);

¡¡shell.open();

}

public void run() {

¡¡Display display = shell.getDisplay();
¡¡while (true) {
¡¡¡¡try {
¡¡¡¡¡¡Thread.sleep(10);

¡¡¡¡¡¡//Åжϵ±Ç°Î»ÖÃÊÇ·ñСÓÚÄܳöÏÖµÄ×î¸ßλÖã¬Ð¡ÓڵĻ°¾Í˵Ã÷»¹¿ÉÒÔÏòÉÏÒƶ¯¡£
¡¡¡¡¡¡if ((downPosition - moveStep) > upPosition) {
¡¡¡¡¡¡¡¡display.asyncExec(new Runnable() {
¡¡¡¡¡¡¡¡¡¡public void run() {
¡¡¡¡¡¡¡¡¡¡¡¡shell.setLocation(leftPosition, downPosition- moveStep);
¡¡¡¡¡¡¡¡¡¡¡¡downPosition -= moveStep;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡});
¡¡¡¡¡¡¡¡//´ËʱÒѾ­Òƶ¯µ½ÁË×î¸ßλÖã¬ÏÔʾ5ÃëÖӺ󣬹رմ°¿Ú²¢Í˳ö¡£
¡¡¡¡¡¡} else {
¡¡¡¡¡¡¡¡Thread.sleep(5000);
¡¡¡¡¡¡¡¡display.asyncExec(new Runnable() {
¡¡¡¡¡¡¡¡¡¡public void run() {
¡¡¡¡¡¡¡¡¡¡¡¡shell.dispose();
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡});
¡¡¡¡¡¡}
¡¡¡¡} catch (InterruptedException e) {
¡¡¡¡¡¡e.printStackTrace();
¡¡¡¡}
¡¡}
}
}</td></tr></table>
¡¡¡¡ÉÏÃæµÄÔ´³ÌÐò¾ÍÍê³ÉÁËͼһÖеŦÄÜ£¬¶ÁÕß¿ÉÒÔ×ÔÐÐÐ޸ģ¬ÈÃÆä½çÃ棬¹¦ÄܸüÇ¿´ó¡£




¡ü·µ»ØĿ¼
ǰһƪ: JBuilder2005ʵÏÖÖع¹Ö®ÀàÄÚ²¿ÌáÁ¶
ºóһƪ: J2EEÓ¦ÓóÌÐòÖÐSQLÓï¾ä×Ô¶¯¹¹Ôì·½·¨