java编写一个窗体程序,实现计算矩形的面积,当用户分别在长和宽编辑框里输入数值

编写一个窗体程序,实现计算矩形的面积,当用户分别在长和宽编辑框里输入数值,按下计算按钮之后,在面积编辑框内显示结果。界面如图:要求:1. 限定编辑框的输入内容只允许为数字;2. 运算得出的结果保留3位小数。

加点分,我帮你

算了,我给你写吧

放Ubuntu past了,有效期是1年:

网页链接

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Square {
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Square window = new Square();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Square() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 235, 315);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setResizable(false);
JLabel label = new JLabel("长:");
label.setBounds(27, 31, 27, 41);
frame.getContentPane().add(label);
textField = new JTextField();
textField.setBounds(88, 39, 86, 24);
frame.getContentPane().add(textField);
textField.setColumns(10);
JLabel label_1 = new JLabel("宽:");
label_1.setBounds(27, 85, 27, 41);
frame.getContentPane().add(label_1);
textField_1 = new JTextField();
textField_1.setBounds(88, 93, 86, 24);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JLabel label_2 = new JLabel("面积:");
label_2.setBounds(27, 154, 43, 18);
frame.getContentPane().add(label_2);
textField_2 = new JTextField();
textField_2.setColumns(10);
textField_2.setBounds(88, 151, 86, 24);
frame.getContentPane().add(textField_2);
JButton button = new JButton("计算");
button.setBounds(46, 213, 113, 27);
frame.getContentPane().add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Double d1 = Double.valueOf(textField.getText());
Double d2 = Double.valueOf(textField_1.getText());
Double d3 = (int) (d1 * d2 * 1000 + 0.5) / 1000.0;
textField_2.setText(d3.toString());
} catch (Exception e2) {
// TODO: handle exception
textField_2.setText("请输入数字!");
}
}
});
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-05
要想实时的监测TextField里的内容,需要重写数据模型,
你可以写一个类继承PlainDocument类,然后用模型构造JTextField,就能达到题目的要求,或者楼上的代码也能用,如果要求不是那么变态的话本回答被网友采纳