blob: 34c908b8b2fe230a2d1aa5006c955d7f22bb8f49 [file] [log] [blame]
/*
* Copyright 2006 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.examples;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
public class TextBoxExample implements EntryPoint {
public void onModuleLoad() {
// Make some text boxes. The password text box is identical to the text
// box, except that the input is visually masked by the browser.
PasswordTextBox ptb = new PasswordTextBox();
TextBox tb = new TextBox();
// Let's disallow non-numeric entry in the normal text box.
tb.addKeyboardListener(new KeyboardListenerAdapter() {
public void onKeyPress(Widget sender, char keyCode, int modifiers) {
if ((!Character.isDigit(keyCode)) && (keyCode != (char) KEY_TAB)
&& (keyCode != (char) KEY_BACKSPACE)
&& (keyCode != (char) KEY_DELETE) && (keyCode != (char) KEY_ENTER)
&& (keyCode != (char) KEY_HOME) && (keyCode != (char) KEY_END)
&& (keyCode != (char) KEY_LEFT) && (keyCode != (char) KEY_UP)
&& (keyCode != (char) KEY_RIGHT) && (keyCode != (char) KEY_DOWN)) {
// TextBox.cancelKey() suppresses the current keyboard event.
((TextBox)sender).cancelKey();
}
}
});
// Let's make an 80x50 text area to go along with the other two.
TextArea ta = new TextArea();
ta.setCharacterWidth(80);
ta.setVisibleLines(50);
// Add them to the root panel.
VerticalPanel panel = new VerticalPanel();
panel.add(tb);
panel.add(ptb);
panel.add(ta);
RootPanel.get().add(panel);
}
}