如何在小程序中实现鼠标响应?
public class Hello extends Applet implements MouseListener{ public void init(){ addMouseListener(this); } public void mouseEntered(MouseEvent e){ au.play(); setBackground(Color.blue); } public void mouseExited(MouseEvent e){ setBackground(Color.black); } public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){} }
首先在小程序中实现事件监听器,再实现鼠标用户接口
如何小程序中处理鼠标双、三击?
public class MyMouseListener extends MouseAdapter { public void mouseClicked(MouseEvent evt) { if (evt.getClickCount() == 3) { // 处理鼠标三击 } else if (evt.getClickCount() == 2) { // 处理鼠标双击 } } } 处理鼠标右键 public mouseClicked(MouseEvent e){ if(e.isMetaDown()){ //检测鼠标右键单击 } } public class MyMouseListener extends MouseAdapter { public void mouseClicked(MouseEvent evt) { if ((evt.getModifiers() & InputEvent.BUTTON1_MASK) != 0) { processLeft(evt.getPoint()); //处理鼠标左键单击 } if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0) { processMiddle(evt.getPoint()); //处理鼠标中间键单击 } if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0) { processRight(evt.getPoint()); //处理鼠标右键单击 } } }
NSLog的格式如下所示:
* %@ 对象 * %d, %i 整数 * %u 无符整形 * %f 浮点/双字 * %x, %X 二进制整数 * %o 八进制整数 * %zu size_t * %p 指针 * %e 浮点/双字 (科学计算) * %g 浮点/双字 * %s C 字符串 * %.*s Pascal字符串 * %c 字符 * %C unichar * %lld 64位长整数(long long) * %llu 无符64位长整数 * %Lf 64位双字
NSLog的定义
NSLog定义在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是chat *这种字符串指针。
示例
NSLog可以如下面的方法使用:
NSLog (@”this is a test”); NSLog (@”string is :%@”, string); NSLog (@”x=%d, y=%d”, 10, 20);
但是下面的写法是不行的:
int i = 12345; NSLog( @”%@”, i );
原因是, %@需要显示对象,而int i明显不是一个对象,要想正确显示,要写成:
int i = 12345; NSLog( @”%d”, i );
/**
* 获取SdCard路径
*/
public static String getExternalStoragePath() {
// 获取SdCard状态
String state = android.os.Environment.getExternalStorageState();
// 判断SdCard是否存在并且是可用的
if (android.os.Environment.MEDIA_MOUNTED.equals(state)) {
if (android.os.Environment.getExternalStorageDirectory().canWrite()) {
return android.os.Environment.getExternalStorageDirectory().getPath();
}
}
return null;
}
/**
* 获取存储卡的剩余容量,单位为字节
* @param filePath
* @return availableSpare
*/
public static long getAvailableStore(String filePath) {
// 取得sdcard文件路径
StatFs statFs = new StatFs(filePath);
// 获取block的SIZE
long blocSize = statFs.getBlockSize();
// 获取BLOCK数量
long totalBlocks = statFs.getBlockCount();
// 可使用的Block的数量
long availaBlock = statFs.getAvailableBlocks();
long total = totalBlocks * blocSize;
long availableSpare = availaBlock * blocSize;
return availableSpare;
}