java在两个文本框输入整数

Python025

java在两个文本框输入整数,第1张

一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。

java swing中利用JFormattedTextField的控件加keyReleased能实现,以下实现的只能输入数字的文本框代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

import java.text.ParseException

import javax.swing.JFormattedTextField

import javax.swing.JFrame

import javax.swing.JPanel

/**

*

* @author Administrator

*/

public class JFormattedText extends JFrame {

private JFormattedTextField text

public JFormattedText() {

JPanel panel = new JPanel()

text = new JFormattedTextField(new java.text.DecimalFormat("#0"))

//text = new JFormattedTextField()

//text.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))))

text.setFont(new java.awt.Font("宋体", 0, 12))// NOI18N

text.setMaximumSize(new java.awt.Dimension(50, 21))

text.setMinimumSize(new java.awt.Dimension(50, 21))

text.setPreferredSize(new java.awt.Dimension(50, 21))

//过滤输入的字符

text.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyReleased(java.awt.event.KeyEvent evt) {

String old = text.getText()

JFormattedTextField.AbstractFormatter formatter = text.getFormatter()

if (!old.equals("")) {

if (formatter != null) {

String str = text.getText()

try {

long page = (Long) formatter.stringToValue(str)

text.setText(page + "")

} catch (ParseException pe) {

text.setText("1")//解析异常直接将文本框中值设置为1

}

}

}

}

})

panel.add(text)

this.add(panel)

this.setBounds(200, 100, 100, 100)

}

public static void main(String[] arg) {

new JFormattedText().setVisible(true)

}

}

<html>

<head>

<meta http-equiv="content-Type" content="text/htmlcharset=gb2312">

<title>js 只能输入数字和小数点</title>

<script language="JavaScript" type="text/javascript">

function clearNoNum(obj)

{

//先把非数字的都替换掉,除了数字和.

obj.value = obj.value.replace(/[^\d.]/g,"")

//必须保证第一个为数字而不是.

obj.value = obj.value.replace(/^\./g,"")

//保证只有出现一个.而没有多个.

obj.value = obj.value.replace(/\.{2,}/g,".")

//保证.只出现一次,而不能出现两次以上

obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".")

}

</script>

</head>

<body>

<!--把下面代码加到<body>与</body>之间-->

只能输入数字和小数点的文本框:<input id="input1" onkeyup="clearNoNum(this)">

</body>

</html>