f033bf75cd72001d12fea9059d8d5577

来自「java程序设计教程的源码」· 代码 · 共 303 行

TXT
303
字号
/*【例1-4】 使用javax.swing类包中的JFrame等类编写简单的
 * 基于Swing的GUI交互程序,实现从键盘输入两个操作数op1、op2,
 * 然后计算这两个数的和、差、积和商。
 */
//程序清单1-4: AlgorithmFrame.java
package jpt.ch01;

public class AlgorithmFrame extends javax.swing.JFrame {
	/** Creates new form AlgorithmFrame */
	public AlgorithmFrame() {
		initComponents();
	}

	// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">
	private void initComponents() {
		jLabelOp1 = new javax.swing.JLabel();
		jTextFieldOp1 = new javax.swing.JTextField();
		jLabelOp2 = new javax.swing.JLabel();
		jTextFieldOp2 = new javax.swing.JTextField();
		jLabelResult = new javax.swing.JLabel();
		jTextFieldResult = new javax.swing.JTextField();
		jButtonAdd = new javax.swing.JButton();
		jButtonSubtract = new javax.swing.JButton();
		jButtonMultiply = new javax.swing.JButton();
		jButtonDivide = new javax.swing.JButton();
		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setTitle("\u7b97\u672f\u8fd0\u7b97\u6f14\u793a-Swing");
		jLabelOp1.setText("\u64cd\u4f5c\u65701\uff1a");
		jLabelOp2.setText("\u64cd\u4f5c\u65702\uff1a");
		jLabelResult.setText("\u8fd0\u7b97\u7ed3\u679c\uff1a");
		jButtonAdd.setText("\u52a0");
		jButtonAdd.addMouseListener(new java.awt.event.MouseAdapter() {
			public void mouseClicked(java.awt.event.MouseEvent evt) {
				jButtonAddMouseClicked(evt);
			}
		});
		jButtonSubtract.setText("\u51cf");
		jButtonSubtract.addMouseListener(new java.awt.event.MouseAdapter() {
			public void mouseClicked(java.awt.event.MouseEvent evt) {
				jButtonSubtractMouseClicked(evt);
			}
		});
		jButtonMultiply.setText("\u4e58");
		jButtonMultiply.addMouseListener(new java.awt.event.MouseAdapter() {
			public void mouseClicked(java.awt.event.MouseEvent evt) {
				jButtonMultiplyMouseClicked(evt);
			}
		});
		jButtonDivide.setText("\u9664");
		jButtonDivide.addMouseListener(new java.awt.event.MouseAdapter() {
			public void mouseClicked(java.awt.event.MouseEvent evt) {
				jButtonDivideMouseClicked(evt);
			}
		});
		org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								org.jdesktop.layout.GroupLayout.LEADING)
						.add(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.LEADING)
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				layout
																						.createParallelGroup(
																								org.jdesktop.layout.GroupLayout.LEADING)
																						.add(
																								jLabelOp1)
																						.add(
																								jLabelOp2)
																						.add(
																								jLabelResult))
																		.add(
																				9,
																				9,
																				9)
																		.add(
																				layout
																						.createParallelGroup(
																								org.jdesktop.layout.GroupLayout.LEADING)
																						.add(
																								jTextFieldOp2,
																								org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																								188,
																								Short.MAX_VALUE)
																						.add(
																								jTextFieldOp1,
																								org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																								188,
																								Short.MAX_VALUE)
																						.add(
																								jTextFieldResult,
																								org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																								188,
																								Short.MAX_VALUE)))
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				jButtonAdd,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				59,
																				Short.MAX_VALUE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jButtonSubtract,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				59,
																				Short.MAX_VALUE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jButtonMultiply,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				59,
																				Short.MAX_VALUE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jButtonDivide,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				59,
																				Short.MAX_VALUE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)))
										.addContainerGap()));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								org.jdesktop.layout.GroupLayout.LEADING)
						.add(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.BASELINE,
																false)
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				6,
																				6,
																				6)
																		.add(
																				jLabelOp1))
														.add(
																jTextFieldOp1,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(
												org.jdesktop.layout.LayoutStyle.RELATED)
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.BASELINE,
																false)
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				6,
																				6,
																				6)
																		.add(
																				jLabelOp2))
														.add(
																jTextFieldOp2,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(
												org.jdesktop.layout.LayoutStyle.RELATED)
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.BASELINE,
																false)
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				6,
																				6,
																				6)
																		.add(
																				jLabelResult))
														.add(
																jTextFieldResult,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(
												org.jdesktop.layout.LayoutStyle.RELATED)
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.LEADING)
														.add(
																jButtonAdd,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																Short.MAX_VALUE)
														.add(
																jButtonSubtract,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																Short.MAX_VALUE)
														.add(
																jButtonMultiply,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																Short.MAX_VALUE)
														.add(
																jButtonDivide,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																Short.MAX_VALUE))
										.addContainerGap()));
		pack();
	}// </editor-fold>

	private void jButtonAddMouseClicked(java.awt.event.MouseEvent evt) {
		double op1, op2, result;
		op1 = Double.parseDouble(this.jTextFieldOp1.getText());
		op2 = Double.parseDouble(this.jTextFieldOp2.getText());
		result = op1 + op2;
		jLabelResult.setText("和 = ");
		jTextFieldResult.setText(new Double(result).toString());
	}

	private void jButtonSubtractMouseClicked(java.awt.event.MouseEvent evt) {
		double op1, op2, result;
		op1 = Double.parseDouble(this.jTextFieldOp1.getText());
		op2 = Double.parseDouble(this.jTextFieldOp2.getText());
		result = op1 - op2;
		jLabelResult.setText("差 = ");
		jTextFieldResult.setText(new Double(result).toString());
	}

	private void jButtonMultiplyMouseClicked(java.awt.event.MouseEvent evt) {
		double op1, op2, result;
		op1 = Double.parseDouble(this.jTextFieldOp1.getText());
		op2 = Double.parseDouble(this.jTextFieldOp2.getText());
		result = op1 * op2;
		jLabelResult.setText("积 = ");
		jTextFieldResult.setText(new Double(result).toString());
	}

	private void jButtonDivideMouseClicked(java.awt.event.MouseEvent evt) {
		double op1, op2, result;
		op1 = Double.parseDouble(this.jTextFieldOp1.getText());
		op2 = Double.parseDouble(this.jTextFieldOp2.getText());
		result = op1 / op2;
		jLabelResult.setText("商 = ");
		jTextFieldResult.setText(new Double(result).toString());
	}

	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new AlgorithmFrame().setVisible(true);
			}
		});
	}

	// 变量声明 - 不进行修改
	private javax.swing.JButton jButtonAdd;

	private javax.swing.JButton jButtonDivide;

	private javax.swing.JButton jButtonMultiply;

	private javax.swing.JButton jButtonSubtract;

	private javax.swing.JLabel jLabelOp1;

	private javax.swing.JLabel jLabelOp2;

	private javax.swing.JLabel jLabelResult;

	private javax.swing.JTextField jTextFieldOp1;

	private javax.swing.JTextField jTextFieldOp2;

	private javax.swing.JTextField jTextFieldResult;
	// 变量声明结束
}

⌨️ 快捷键说明

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