写一个窗口java类能够获取其他类中的jtable中的数据并计算其平均数输出
时间: 2024-03-09 17:45:37 浏览: 51
用java编写的一个简单的求平均数的程序
4星 · 用户满意度95%
好的,以下是一个示例窗口Java类,可以获取其他类中的JTable中的数据并计算其平均数输出:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyWindow extends JFrame implements ActionListener {
private JButton calculateButton;
private JTable dataTable;
public MyWindow() {
setTitle("计算平均数");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建按钮和表格
calculateButton = new JButton("计算平均数");
calculateButton.addActionListener(this);
dataTable = new JTable();
// 将按钮和表格添加到窗口中
JPanel panel = new JPanel();
panel.add(calculateButton);
panel.add(new JScrollPane(dataTable));
add(panel);
setVisible(true);
}
// 处理按钮点击事件
@Override
public void actionPerformed(ActionEvent e) {
// 获取数据模型
DefaultTableModel model = (DefaultTableModel) dataTable.getModel();
// 计算平均数
int rowCount = model.getRowCount();
int colCount = model.getColumnCount();
double sum = 0;
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
Object value = model.getValueAt(i, j);
if (value instanceof Number) {
sum += ((Number) value).doubleValue();
}
}
}
double avg = sum / (rowCount * colCount);
// 输出平均数
JOptionPane.showMessageDialog(this, "平均数为:" + avg);
}
// 设置表格数据
public void setTableData(Object[][] data, String[] columnNames) {
DefaultTableModel model = new DefaultTableModel(data, columnNames);
dataTable.setModel(model);
}
}
```
你可以使用 `setTableData` 方法将其他类中的数据设置到表格中,然后在窗口中点击按钮即可计算平均数并输出。注意,这个示例只能处理值为数字的单元格,如果表格中还有其他类型的数据,需要根据实际情况进行修改。
阅读全文