📄 f026aaaccc72001d12fea9059d8d5577
字号:
/*【例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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -