SWT添加键盘事件 .

 sendText.addKeyListener(new KeyListener(){
   public void keyPressed(KeyEvent e) {
    if(e.keyCode == SWT.CR){
     //让按键原有的功能失效
     e.doit = false;
     //执行你自己的事件
     MessageBox box = new MessageBox(new Shell(), SWT.ICON_INFORMATION | SWT.OK);
        box.setText("提示信息");
        box.setMessage("按回车键了");
        box.open();
    }
   }
   public void keyReleased(KeyEvent e) {}
   });

 

 

  
  
  
  
  1. package test.ftp00;  
  2.  
  3. import java.net.InetSocketAddress;  
  4. import java.text.DateFormat;  
  5. import java.text.SimpleDateFormat;  
  6. import java.util.Date;  
  7.  
  8. import org.eclipse.swt.SWT;  
  9. import org.eclipse.swt.events.KeyEvent;  
  10. import org.eclipse.swt.events.KeyListener;  
  11. import org.eclipse.swt.events.SelectionEvent;  
  12. import org.eclipse.swt.events.SelectionListener;  
  13. import org.eclipse.swt.layout.GridData;  
  14. import org.eclipse.swt.layout.GridLayout;  
  15. import org.eclipse.swt.widgets.Button;  
  16. import org.eclipse.swt.widgets.Composite;  
  17. import org.eclipse.swt.widgets.Display;  
  18. import org.eclipse.swt.widgets.MessageBox;  
  19. import org.eclipse.swt.widgets.Shell;  
  20. import org.eclipse.swt.widgets.Text;  
  21.  
  22. public class keyWindow {  
  23.     Display display;  
  24.     Shell shell;  
  25.     GridLayout gridLayout;  
  26.     GridData layoutData;  
  27.     Composite composite;  
  28.     Text sendText;  
  29.     Text mesText;  
  30.     DateFormat formatter = new SimpleDateFormat("HH:mm:ss");  
  31.  
  32.     public keyWindow() {  
  33.         display = Display.getDefault();  
  34.         shell = new Shell(display);  
  35.         // 初始化shell  
  36.         initShell();  
  37.  
  38.         layoutData = new GridData();  
  39.         layoutData.widthHint = 260;  
  40.         layoutData.heightHint = 200;  
  41.         mesText = new Text(shell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL  
  42.                 | SWT.BORDER);  
  43.         mesText.setLayoutData(layoutData);  
  44.  
  45.         layoutData = new GridData();  
  46.         layoutData.widthHint = 260;  
  47.         layoutData.heightHint = 60;  
  48.         sendText = new Text(shell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL  
  49.                 | SWT.BORDER);  
  50.         sendText.setLayoutData(layoutData);  
  51.         sendText.setFocus();  
  52.  
  53.         sendText.addKeyListener(new KeyListener() {  
  54.             public void keyPressed(KeyEvent e) {  
  55.                 if (e.keyCode == SWT.CR) {  
  56.                     // 让按键原有的功能失效  
  57.                     e.doit = false;  
  58.                     // 执行你自己的事件  
  59. //                  MessageBox box = new MessageBox(new Shell(),  
  60. //                          SWT.ICON_INFORMATION | SWT.OK);  
  61. //                  box.setText("提示信息");  
  62. //                  box.setMessage("按回车键了");  
  63. //                  box.open();  
  64.                     addString(sendText.getText());  
  65.                 }  
  66.             }  
  67.  
  68.             public void keyReleased(KeyEvent e) {  
  69.             }  
  70.         });  
  71.     }  
  72.  
  73.     public void open() {  
  74.         shell.open();  
  75.         while (!shell.isDisposed()) {  
  76.             if (!display.readAndDispatch()) {  
  77.                 display.sleep();  
  78.             }  
  79.         }  
  80.     }  
  81.  
  82.     /**  
  83.      * 设置窗口的标题、位置、大小、图标  
  84.      *   
  85.      * @return Shell  
  86.      */  
  87.     public Shell initShell() {  
  88.         shell.setText("交谈");  
  89.         shell.setSize(400, 350);  
  90.         shell.setLayout(new GridLayout());  
  91.         return shell;  
  92.     }  
  93.  
  94.     /**  
  95.      * 向聊天区域添加信息  
  96.      *   
  97.      * @param msg  
  98.      */  
  99.     public void addString(String mes) {  
  100.         mesText.append(mes + SWT.LF);  
  101.     }  
  102.  
  103.     public static void main(String[] args) {  
  104.         new keyWindow().open();  
  105.     }  

完整示例

 

Color red = display.getSystemColor(SWT.COLOR_RED);
Font font = display.getSystemFont();
control.setFont(font)

 

Style

Description

SWT.WRAP

Wrap the text to fit the visible area

SWT.LEFT

Left-align the label

SWT.CENTER

Center-align the label

SWT.RIGHT

Right-align the label

SWT.SEPARATOR

Draw a separator instead of text or an image

SWT.HORIZONTAL

Draw the separator horizontally

SWT.VERTICAL

Draw the separator vertically

SWT.SHADOW_IN

Draw the separator with a "shadow in" effect

SWT.SHADOW_OUT`

Draw the separator

Separators

键盘事件类型

KeyEvent

KeyListener (and KeyAdapter)

keyPressed(KeyEvent)

keyReleased(KeyEvent)

 

你可能感兴趣的:(键盘)