consolePanel = new JPanel(); consolePanel.setLayout(new FlowLayout()); consoleLabel = new JLabel("你的身体质量指数为:"); consoleText = new JTextField(28); consoleText.setEditable(false); consolePanel.add(consoleLabel); consolePanel.add(consoleText); contentPanel.add(consolePanel, BorderLayout.SOUTH); submitButton.addActionListener(e -> { String hstr = heightText.getText(); String wstr = weightText.getText(); Pattern pattern = Pattern.compile("^[0-9]+(.[0-9]+)?$"); Matcher hisNum = pattern.matcher(hstr); Matcher wisNum = pattern.matcher(wstr); boolean acc = true; if (!hisNum.matches() || !wisNum.matches()) { acc = false; } if (acc) { height = Double.parseDouble(hstr); weight = Double.parseDouble(wstr); BMI = weight / (height * height); DecimalFormat df = new DecimalFormat("#.0"); String out = "";分析这段代码
时间: 2024-02-15 22:28:20 浏览: 244
这段代码是一个 Java Swing 程序,用于计算身体质量指数(BMI),并将结果显示在界面上。程序界面包括一个顶层容器(contentPanel)和两个子容器(heightPanel和consolePanel),以及若干标签、文本框和按钮。用户在文本框中输入身高和体重,点击按钮后程序会计算BMI并将结果显示在另一个文本框中。
具体来说,这段代码的主要功能包括:
1. 创建顶层容器 contentPanel,并设定其布局为 BorderLayout。
2. 创建一个子容器 heightPanel,设定其布局为 FlowLayout。在 heightPanel 上添加一个标签(heightLabel)和一个文本框(heightText),用于输入身高。
3. 创建一个子容器 consolePanel,设定其布局为 FlowLayout。在 consolePanel 上添加一个标签(consoleLabel)和一个文本框(consoleText),用于显示计算结果。
4. 将 heightPanel 和 consolePanel 添加到 contentPanel 上,分别位于顶部和底部。
5. 创建一个按钮(submitButton),并将其添加到 heightPanel 上。
6. 在按钮的监听器中,获取身高和体重的文本框输入,并使用正则表达式验证输入是否为合法的数字格式。
7. 如果输入合法,计算BMI并将结果显示在 consoleText 上,保留一位小数。
8. 如果输入不合法,不进行计算,仅清空 consoleText 上的显示。
总体来说,这段代码是一个简单的身体质量指数计算器,用于演示 Swing 界面编程和基本的输入验证功能。
阅读全文