📄 intfield.java
字号:
import java.awt.*;
public class IntField extends java.awt.Panel
{
private TextField myField;
private Label myLabel;
public IntField()
{
myField = new TextField();
setLayout(new BorderLayout());
add("Center", myField);
}
public IntField(int cols)
{
myField = new TextField(cols);
setLayout(new BorderLayout());
add("Center", myField);
}
public IntField(int num, int cols)
{
myField = new TextField("" + num, cols);
setLayout(new BorderLayout());
add("Center", myField);
}
public int getInt()
{
try
{
int num = Integer.parseInt(myField.getText());
return num;
}
catch (NumberFormatException ex)
{
return 0;
}
}
public void setInt(int num)
{
myField.setText(Integer.toString(num));
}
public void setInt() // dr
{ // dr
myField.setText(""); // dr
} // dr
public void addLabel(String lab)
{
if (myLabel == null) {
myLabel = new Label(lab);
remove(myField);
add("West", myLabel);
add("Center", myField);
}
else myLabel.setText(lab);
}
public void setLabel(String lab)
{
addLabel(lab);
}
public void setEditable(boolean b)
{
myField.setEditable(b);
}
public int getColumns()
{
return myField.getColumns();
}
public boolean handleEvent(Event e)
{
if ((e.id == Event.KEY_PRESS) && (e.target == myField))
{
int key = e.key;
// numbers are always okay
if ((key > 47) && (key < 58)) return myField.keyDown(e,key);
// minus sign okay if it's the first character
if ((key == 45) && ((myField.getText().equals("")) ||
(myField.getText().equals(myField.getSelectedText()))))
return myField.keyDown(e,key);
// backspace and delete
if ((key == 8) || (key == 127)) return myField.keyDown(e,key);
// arrow keys, home, end, pgup, pgdown okay
if ((key > 999) && (key < 1008))
return myField.keyDown(e,key);
// Enter--pass Action event up hierarchy
if (key == 10)
{
e.id = Event.ACTION_EVENT;
e.target = this;
return false;
}
// no other keys should do anything, so ignore them all
return true;
}
return super.handleEvent(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -