⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsq.java

📁 清华大学的java教程
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class JSQ
{  
	public static void main(String[] args)
	{  
		TextFieldFrame frame = new TextFieldFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.show();
	}
}

class TextFieldFrame extends JFrame
{
	public TextFieldFrame()
	{
		setTitle("JSQ");
		setSize(WIDTH, HEIGHT);

		Container contentPane = getContentPane();
		//新建文档监听器
		DocumentListener resultListener = new ResultListener();

		//建立容纳文本域的面板
		JPanel textPanel = new JPanel();

		originText = new JTextField("Input Integer 1", 20);
		//为第一个文本域安装一个文档监听器
		originText.getDocument().addDocumentListener(resultListener);

		addText = new JTextField("Input Integer 2", 20);
		//为第二个文本域安装一个文档监听器
		addText.getDocument().addDocumentListener(resultListener);

		//第三个文本域,将第一个文本域中和第二个文本域中的输入数据进行求和计算
		resultText = new JTextField("Get the Result", 20);
		
		//第三个文本域内容是由前两个文本域求和而得,因此不允许修改
		resultText.setEditable(false);

		textPanel.add(originText);
		textPanel.add(addText);
		textPanel.add(resultText);

		contentPane.add(textPanel);
	}

	//获取第一个和第二个文本域的内容,进行求和计算,并写入第三个文本域中
	public void getAnswer()
	{
		try
		{
			int add1, add2, answer;
			String s;
			
			//获取第一个和第二个文本域的内容,并将其解析为数字类型变量
			add1 = Integer.parseInt(originText.getText().trim());
			add2 = Integer.parseInt(addText.getText().trim());
			
			//求和
			answer = add1 + add2;
			s = new String("=" + answer);
			
			//将结果写入第三个文本域中
			resultText.setText(s);
		}
		//对于解析错误的情况,将抛出异常,因而第三个文本域的内容不会被改变
		catch (NumberFormatException e)
		{
		}
	}

	private class ResultListener 
		implements DocumentListener
	{
		public void insertUpdate(DocumentEvent e)
		{
			getAnswer();
		}
		public void removeUpdate(DocumentEvent e)
		{
			getAnswer();
		}
		public void changedUpdate(DocumentEvent e)
		{
		}
	}

	public static final int WIDTH = 350;
	public static final int HEIGHT = 150;

	private JTextField originText;
	private JTextField addText;
	private JTextField resultText;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -