我希望用戶只在后綴之前寫。我怎樣才能在 SWT 中做到這一點?
就像是:
public class Test {
public static void main(String[] args) {
final String SUFFIX = "end";
Display display = new Display();
Shell shell = new Shell(display);
final Text text = new Text(shell, SWT.BORDER);
text.setText(SUFFIX);
text.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
// if e.text is after SUFFIX
// e.doit = false;
}
});
}
}
uj5u.com熱心網友回復:
像這樣的東西:
text.addVerifyListener(event -> {
// Get the result text of the edit
StringBuilder buff = new StringBuilder(text.getText());
String newText = event.text != null ? event.text : "";
buff.replace(event.start, event.end, newText);
// Allow if result still ends with suffix
event.doit = buff.toString().endsWith(SUFFIX);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/372689.html
