java中实现点击按钮关闭窗口
时间: 2024-05-10 14:18:34 浏览: 8
在Java中,可以通过以下代码实现点击按钮关闭窗口:
```
JButton button = new JButton("Close");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(button);
frame.dispose();
}
});
```
这里创建了一个名为button的按钮,并添加了一个ActionListener,当点击按钮时,会获取按钮所在的窗口并关闭它。注意,这里使用了SwingUtilities.getWindowAncestor()方法来获取窗口对象。
相关问题
java点击按钮关闭窗口
在 Java 中,可以使用 `javax.swing.JFrame` 类来创建窗口,并使用 `javax.swing.JButton` 类来创建按钮。要实现点击按钮关闭窗口的功能,你可以按照以下步骤进行操作:
1. 导入所需的类:
```java
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
```
2. 创建 `JFrame` 对象,并设置窗口的属性:
```java
JFrame frame = new JFrame("窗口标题");
frame.setSize(400, 300); // 设置窗口大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭操作
```
3. 创建 `JButton` 对象,并设置按钮的属性:
```java
JButton button = new JButton("关闭窗口");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.dispose(); // 关闭窗口
}
});
```
4. 将按钮添加到窗口中:
```java
frame.add(button);
```
5. 显示窗口:
```java
frame.setVisible(true);
```
通过以上代码,你可以创建一个带有关闭窗口功能的 Java 窗口。当用户点击按钮时,窗口将会被关闭。请注意,`frame.dispose()` 方法用于释放与窗口关联的所有资源,并将其从屏幕上移除。如果你想要隐藏窗口而不是关闭窗口,可以使用 `frame.setVisible(false)` 方法。
java点击表格中的按钮关闭当前窗口
可以使用以下代码在 Java 中实现点击表格中的按钮关闭当前窗口:
```java
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int column = table.getColumnModel().getColumnIndexAtX(e.getX());
int row = e.getY() / table.getRowHeight();
if (row < table.getRowCount() && row >= 0 && column < table.getColumnCount() && column >= 0) {
Object value = table.getValueAt(row, column);
if (value instanceof JButton) {
((JButton) value).doClick();
JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(table);
frame.dispose();
}
}
}
});
```
其中,`table` 表示要添加点击事件的表格,`getColumnIndexAtX(e.getX())` 用于获取鼠标所在的列,`e.getY() / table.getRowHeight()` 用于获取鼠标所在的行,`table.getValueAt(row, column)` 用于获取当前单元格的值,如果是按钮则执行 `((JButton) value).doClick()` 触发按钮的点击事件,然后通过 `SwingUtilities.getWindowAncestor(table)` 获取当前表格所在的窗口,最后调用 `frame.dispose()` 关闭窗口。