在 SWT 處理 KeyBoard 和 Mouse 的 Event
Example Code:
1. KeyBoard:
[java]public class KeyBoard {
private Shell shell;
public KeyBoard(Shell _shell) {
this.shell = _shell;
this.shell.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
// ignored
}
public void keyReleased(KeyEvent e) {
if(e.stateMask == SWT.CTRL && e.keyCode == 'c') {
System.out.println("ctrl + c");
}
}
});
}
}[/java]
2. Mouse:
[java]public class Mouse {
private Shell shell;
public Mouse(Shell _shell) {
this.shell = _shell;
this.shell.addMouseListener(new MouseListener() {
public void mouseUp(MouseEvent e) {
// mouse up
}
public void mouseDown(MouseEvent e) {
// mouse down
}
public void mouseDoubleClick(MouseEvent e) {
// mouse double click
}
});
}
}[/java]
3. KeyBoard and Mouse
[java]public class Both {
private Shell shell;
public Both(Shell _shell) {
this.shell = _shell;
Listener l = new Listener() {
Point origin;
public void handleEvent(Event e) {
switch (e.type) {
case SWT.MouseDown:
origin = new Point(e.x, e.y);
break;
case SWT.MouseUp:
origin = null;
if(e.button == 1) {
// left button
}
break;
case SWT.MouseMove:
if (origin != null) {
Point p = display.map(shell, null, e.x, e.y);
shell.moveTo(p.x - origin.x, p.y - origin.y);
}
break;
case SWT.MouseDoubleClick:
break;
case SWT.KeyDown:
break;
}
}
};
this.shell.addListener(SWT.MouseDown, l);
this.shell.addListener(SWT.MouseUp, l);
this.shell.addListener(SWT.MouseMove, l);
this.shell.addListener(SWT.MouseDoubleClick, l);
this.shell.addListener(SWT.KeyDown, l);
}
}[/java]
如果 1, 2 和 3 一起使用
都會有效果
以使用的順序為執行的順序
2007/04/26
2007/04/25
Java SortedProperties
原始的 java.util.Properties 是以 java.util.Hashtable 來儲存資料
因此輸出的結果會以亂數排列
如果想使用 sort 過的 Properties
需要重新 override keys
程式碼如下:
SortedProperties.java
[java]import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.Set;
public class SortedProperties extends Properties {
@ Override
public Enumeration
因此輸出的結果會以亂數排列
如果想使用 sort 過的 Properties
需要重新 override keys
程式碼如下:
SortedProperties.java
[java]import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.Set;
public class SortedProperties extends Properties {
@ Override
public Enumeration
2007/04/23
server 硬體清單與查詢方式
我的硬體清單:
CPU:Intel Pentium III 669.898 MHz (667MHz)
RAM:508480k/524224k available (512M)
硬 碟:ATA Maxtor 32049H2 UDMA/100 20491MB (20G)
ATA ST320423A UDMA/66 20486MB (20G)
光碟機:ATAPI CD-ROM 50X
網路卡:RealTek RTL8139 10/100 PCI Ethernet *2
顯示卡:nVidia Corporation NV17 [GeForce4 MX 440]
音效卡:Intel Corporation 82801BA/BAM AC'97 Audio (on board)
附註:
查硬體方式
1.
2.
3.
4.
CPU:Intel Pentium III 669.898 MHz (667MHz)
RAM:508480k/524224k available (512M)
硬 碟:ATA Maxtor 32049H2 UDMA/100 20491MB (20G)
ATA ST320423A UDMA/66 20486MB (20G)
光碟機:ATAPI CD-ROM 50X
網路卡:RealTek RTL8139 10/100 PCI Ethernet *2
顯示卡:nVidia Corporation NV17 [GeForce4 MX 440]
音效卡:Intel Corporation 82801BA/BAM AC'97 Audio (on board)
附註:
查硬體方式
1.
test@test-server:~$ cat /var/log/messages
2.
test@test-server:~$ lspci
3.
test@test-server:~$ cat /proc/*
4.
test@test-server:~$ sudo hdparm /dev/sda
2007/04/10
CSS 配合瀏覽器作微調
在使用 CSS 時
不同的瀏覽器
對 padding, margin, width, height, top, left... 等定位的定義不一樣
我自己原先的方法是以 Firefox 為主
再對 IE 作微調
利用下面的 java script
lib.js
[js]// JavaScript Document lib.js
function BrowserIsIE()
{
if( document.getElementById && !document.all )
{
return false // Netscape v6.0 or upper.
}
return true // MSIE.
}[/js]
和
[js]
[/js]
另外寫個 ie.css 作調整
今天發現新的方法
http://srwiay.blogspot.com/2007/02/css.html
可以更簡便的調整
以下作些紀錄
---
Firefox 設定 padding 會影響 width, height
方法
1.
_:IE7以前的版本可以判讀
*:IE6以前的版本可以判讀
_、*:FireFox兩者皆忽略
ex:
[css]div {
width: 100px; // set Firefox
*width: 110px; // set IE6
_width: 120px; // set IE7
}[/css]
2.
* +html:IE7可以判讀
* html:IE6以前的版本可以判讀
[css]#test {width: 100px;} // set Firefox
* html #test {width: 110px;} // set IE6
* +html #test {width: 120px;} // set IE7[/css]
不同的瀏覽器
對 padding, margin, width, height, top, left... 等定位的定義不一樣
我自己原先的方法是以 Firefox 為主
再對 IE 作微調
利用下面的 java script
lib.js
[js]// JavaScript Document lib.js
function BrowserIsIE()
{
if( document.getElementById && !document.all )
{
return false // Netscape v6.0 or upper.
}
return true // MSIE.
}[/js]
和
[js]
[/js]
另外寫個 ie.css 作調整
今天發現新的方法
http://srwiay.blogspot.com/2007/02/css.html
可以更簡便的調整
以下作些紀錄
---
Firefox 設定 padding 會影響 width, height
方法
1.
_:IE7以前的版本可以判讀
*:IE6以前的版本可以判讀
_、*:FireFox兩者皆忽略
ex:
[css]div {
width: 100px; // set Firefox
*width: 110px; // set IE6
_width: 120px; // set IE7
}[/css]
2.
* +html:IE7可以判讀
* html:IE6以前的版本可以判讀
[css]#test {width: 100px;} // set Firefox
* html #test {width: 110px;} // set IE6
* +html #test {width: 120px;} // set IE7[/css]
Subscribe to:
Posts (Atom)