📄 exportemailaddress.java
字号:
// J2ME GPS Track
// Copyright (C) 2006 Dana Peters
// http://www.qcontinuum.org/gpstrack
package org.qcontinuum.gpstrack;
import javax.microedition.lcdui.*;
public class ExportEmailAddress extends TextBox implements CommandListener {
private Displayable mParent;
private String mTrackName;
private int mFormat;
private Command mOkCommand, mCancelCommand;
public ExportEmailAddress(Displayable parent, String trackName, int format) {
super("Email Address", "", 50, TextField.EMAILADDR);
mParent = parent;
mTrackName = trackName;
mFormat = format;
Preferences preferences = GpsTrack.getPreferences();
setString(preferences.getEmailAddress());
addCommand(mOkCommand = new Command("OK", Command.OK, 0));
addCommand(mCancelCommand = new Command("Cancel", Command.CANCEL, 0));
setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if (c == mOkCommand) {
Preferences preferences = GpsTrack.getPreferences();
String emailAddress = getString();
if (validateEmail(emailAddress)) {
preferences.setEmailAddress(emailAddress);
preferences.save();
GpsTrack.display(new ExportEmailProgress(mParent, mTrackName, mFormat, emailAddress));
} else {
GpsTrack.display("Please enter a valid email address.", 3, this);
}
} else if (c == mCancelCommand) {
GpsTrack.display(mParent);
}
}
private boolean validateEmail(String email) {
String legalChar = "abcdefghijklmnopqrstuvwxyz._-0123456789";
int state = 0;
int domainChars = 0;
String lowerEmail = email.toLowerCase();
for (int i = 0; i < email.length(); i++) {
char c = email.charAt(i);
switch (state) {
case 0:
if (legalChar.indexOf(c) < 0)
state = -1;
else
state = 1;
break;
case 1:
if (c == '@')
state = 2;
else
if (legalChar.indexOf(c) < 0)
state = -1;
break;
case 2:
if (c == '.') {
domainChars = 0;
state = 3;
} else
if (legalChar.indexOf(c) < 0)
state = -1;
break;
case 3:
if (c == '.')
domainChars = 0;
else {
domainChars++;
if (legalChar.indexOf(c) < 0)
state = -1;
}
break;
}
if (state < 0)
break;
}
return state == 3 && domainChars > 1 && domainChars < 5;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -