java点击表格中的按钮关闭当前窗口
时间: 2024-03-18 08:41:35 浏览: 70
可以使用以下代码在 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()` 关闭窗口。
阅读全文