DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> SWT中關於FocusListener的問題
SWT中關於FocusListener的問題
編輯:XML詳解     
在SWT中FocusListener可以用來監聽一個textfIEld是否被選中,
在下面的程序裡,我在兩個text上加了FocusListener,功能是當
text被選中時,上面的文字會呈全選狀態。
我不知道為什麼只對第一個有效?
後來才發現是因為兩個text的類型不一樣。
只是對SWT.SINGLE的text,好象selectAll()無效 。

//TextFIEld1.Java
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.*;

public class TextFIEld1 {
    
    Display d;
    Shell s;
    TextFIEld1( )    {
        d = new Display( );
        s = new Shell(d);
        s.setSize(250,250);
        s.setText("A Text FIEld Example");
        Text text1 = new Text(s, SWT.WRAP SWT.BORDER);
        text1.setBounds(100,50,100,20);
        text1.setTextLimit(5);
        text1.setText("12345");
        Text text2 = new Text(s, SWT.SINGLE SWT.BORDER);
        text2.setBounds(100,75,100,20);
        text2.setTextLimit(10);
        
        // add a focus listener
        FocusListener focusListener = new FocusListener( ) {
            public void focusGained(FocusEvent e) {
                Text t = (Text)e.widget;
                t.selectAll();
            }
            public void focusLost(FocusEvent e) {
                Text t = (Text)e.widget;
                if(t.getSelectionCount( ) > 0){
                    t.clearSelection( );
                }                
            }
        };
        text1.addFocusListener(focusListener);
        text2.addFocusListener(focusListener);
        s.open( );
        while(!s.isDisposed( )){
            if(!d.readAndDispatch( ))
                d.sleep( );
        }
        d.dispose( );
    }
    public static void main(String[] args) {
        TextField1 tx = new TextFIEld1();
    }
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved