设计一个窗体,窗体中有一个按钮,当单击按钮时,可以添加其它按钮,并按数字依次出现,当单击数字按钮时,被单击按钮消失,此窗体带关闭功能,用Java语言实现
时间: 2023-07-15 18:13:28 浏览: 115
设计一个Windows窗体应用程序,通过在文本框中输入年后,单击【提交】按钮显示该年是否为闰年。
5星 · 资源好评率100%
以下是一个简单的实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DynamicButtonWindow extends JFrame implements ActionListener {
private JButton addButton;
private JPanel buttonPanel;
private int counter = 1;
public DynamicButtonWindow() {
// 设置窗体属性
setTitle("动态添加按钮");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 添加按钮
addButton = new JButton("添加按钮");
addButton.addActionListener(this);
add(addButton, BorderLayout.NORTH);
// 添加按钮面板
buttonPanel = new JPanel();
add(buttonPanel, BorderLayout.CENTER);
// 显示窗体
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
JButton newButton = new JButton(String.valueOf(counter));
newButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
buttonPanel.remove(newButton);
buttonPanel.revalidate();
buttonPanel.repaint();
}
});
buttonPanel.add(newButton);
buttonPanel.revalidate();
buttonPanel.repaint();
counter++;
}
}
public static void main(String[] args) {
DynamicButtonWindow window = new DynamicButtonWindow();
}
}
```
首先,我们创建一个 `JFrame` 对象,并设置窗体的属性。其中,我们创建了一个按钮和一个面板。当单击添加按钮时,我们会向面板中动态添加一个新的按钮,按钮的文本为当前计数器的值,并给它添加一个动作监听器。当单击新添加的按钮时,它会被从面板中删除。
值得注意的是,添加或删除组件后,我们需要调用 `revalidate()` 和 `repaint()` 方法来更新面板的显示。
阅读全文