做一个java图形化界面,要求采用用户自定义布局,有三个内容框、一个计算按键、一个清除按键、点击计算按键第一个和第二个内容框中的数相加,结果在第三个内容框中显示,点击清除按键,三个内容框清空
时间: 2024-03-11 09:49:37 浏览: 37
好的,我可以为您提供一份Java图形化界面的代码示例,满足您的要求:
```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CustomLayoutDemo implements ActionListener {
private JFrame frame;
private JTextField numField1, numField2, resultField;
public CustomLayoutDemo() {
frame = new JFrame("Custom Layout Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建三个文本框
numField1 = new JTextField(10);
numField2 = new JTextField(10);
resultField = new JTextField(10);
resultField.setEditable(false);
// 创建两个按钮
JButton calculateBtn = new JButton("Calculate");
JButton clearBtn = new JButton("Clear");
// 设置按钮监听器
calculateBtn.addActionListener(this);
clearBtn.addActionListener(this);
// 创建面板
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new GridLayout(2, 1));
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new FlowLayout());
inputPanel.add(new JLabel("First Number:"));
inputPanel.add(numField1);
inputPanel.add(new JLabel("Second Number:"));
inputPanel.add(numField2);
inputPanel.add(new JLabel("Result:"));
inputPanel.add(resultField);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(calculateBtn);
buttonPanel.add(clearBtn);
// 将面板添加到主窗口中
mainPanel.add(inputPanel);
mainPanel.add(buttonPanel);
frame.getContentPane().add(mainPanel);
// 显示窗口
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Calculate")) {
// 计算两数之和,并显示在结果文本框中
int num1 = Integer.parseInt(numField1.getText());
int num2 = Integer.parseInt(numField2.getText());
int result = num1 + num2;
resultField.setText(Integer.toString(result));
} else if (e.getActionCommand().equals("Clear")) {
// 清空所有文本框
numField1.setText("");
numField2.setText("");
resultField.setText("");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new CustomLayoutDemo();
}
});
}
}
```
该程序使用了自定义布局,将界面分为两个面板:输入面板和按钮面板。输入面板使用了`FlowLayout`布局,按钮面板使用了默认的`FlowLayout`布局。您可以根据实际需要调整布局方式。