java jtable 删除一行_java swing 表格(JTable)动态添加、删除行
时间: 2023-06-20 11:06:25 浏览: 245
在 Java Swing 中,可以通过以下代码删除 JTable 中的一行:
```java
int selectedRow = table.getSelectedRow(); // 获取选中的行
if (selectedRow != -1) {
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.removeRow(selectedRow); // 从表格模型中删除行
}
```
这里的 `table` 是一个 JTable 对象,`DefaultTableModel` 是 JTable 的默认表格模型。首先获取当前选中的行,然后从表格模型中删除该行,最后表格将自动更新显示。
在动态添加行时,可以使用 `DefaultTableModel` 的 `addRow` 方法来添加行:
```java
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[] { "value1", "value2", "value3" }); // 添加一行数据
```
这里的 `new Object[] { "value1", "value2", "value3" }` 是一个包含行数据的数组,每个元素对应一列数据。可以根据实际情况修改。
相关问题
java swing表格翻页_java中swing做表格翻页用什么类做
Java Swing 中可以使用 JTable 来展示表格数据,并且可以实现翻页功能。一般情况下,我们可以使用 JScrollPane 来包含 JTable,并且使用 JScrollBar 来实现表格的滚动和翻页。
以下是一个简单的例子,演示如何使用 JTable 和 JScrollPane 实现翻页功能:
```
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class TablePaginationExample extends JFrame {
private JTable table;
private JScrollPane scrollPane;
private JButton prevButton, nextButton;
private int currentPage = 1;
private int pageSize = 10;
private int totalRows = 100;
public TablePaginationExample() {
super("Table Pagination Example");
// 创建表格数据模型
DefaultTableModel model = new DefaultTableModel();
model.addColumn("ID");
model.addColumn("Name");
model.addColumn("Age");
// 添加测试数据
for (int i = 1; i <= totalRows; i++) {
model.addRow(new Object[]{i, "Name " + i, i % 30 + 20});
}
// 创建表格并设置数据模型
table = new JTable(model);
// 创建滚动面板并添加表格
scrollPane = new JScrollPane(table);
// 创建翻页按钮
prevButton = new JButton("Prev");
nextButton = new JButton("Next");
// 添加事件处理程序
prevButton.addActionListener(e -> {
if (currentPage > 1) {
currentPage--;
updateTable();
}
});
nextButton.addActionListener(e -> {
int totalPages = (int) Math.ceil(totalRows * 1.0 / pageSize);
if (currentPage < totalPages) {
currentPage++;
updateTable();
}
});
// 创建面板并添加组件
JPanel panel = new JPanel();
panel.add(prevButton);
panel.add(nextButton);
// 添加组件到窗口中
add(scrollPane);
add(panel, "South");
// 设置窗口大小并显示
setSize(600, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
// 初始更新表格
updateTable();
}
private void updateTable() {
int start = (currentPage - 1) * pageSize;
int end = start + pageSize;
end = Math.min(end, totalRows);
table.setRowSelectionInterval(start, end - 1);
table.scrollRectToVisible(table.getCellRect(start, 0, true));
}
public static void main(String[] args) {
new TablePaginationExample();
}
}
```
在这个例子中,我们使用 DefaultTableModel 来创建表格数据模型,并添加测试数据。然后我们创建 JTable 并设置数据模型,再将 JTable 添加到 JScrollPane 中。我们还创建了两个按钮来实现翻页功能,并添加了事件处理程序来处理按钮点击事件。最后,我们将 JScrollPane 和按钮添加到窗口中,并在窗口显示时初始更新表格。
在 updateTable() 方法中,我们根据当前页数和每页大小来计算需要显示的数据范围,并使用 setRowSelectionInterval() 方法选中相应的行,并使用 scrollRectToVisible() 方法将选中的第一行滚动到可见区域。
java怎么实现一行两列_java swing表格实例制作,简单两行两列,在线等
要实现一行两列的Java Swing表格,你可以按照以下步骤进行操作:
1. 创建一个JFrame窗口并设置布局为GridLayout(1,2)。
2. 创建一个JTable对象,并设置表格的列数为2。
3. 创建一个JScrollPane对象,并将JTable对象添加进去。
4. 将JScrollPane对象添加到JFrame窗口的第一个位置。
5. 在第二个位置添加你所需要的组件。
下面是一个简单的Java Swing表格实例代码,它包含两行两列的表格:
```java
import javax.swing.*;
import java.awt.*;
public class TableExample extends JFrame {
public TableExample() {
setTitle("Java Swing Table Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置布局为GridLayout(1,2)
setLayout(new GridLayout(1, 2));
// 创建数据模型
String data[][] = {
{"Java", "Swing"},
{"Python", "Django"}
};
// 创建表格列头
String[] columnNames = {"Language", "Framework"};
// 创建表格
JTable table = new JTable(data, columnNames);
// 将表格添加到JScrollPane
JScrollPane scrollPane = new JScrollPane(table);
// 将JScrollPane添加到JFrame的第一个位置
add(scrollPane, BorderLayout.WEST);
// 在第二个位置添加组件
JLabel label = new JLabel("This is a label");
add(label, BorderLayout.EAST);
// 设置窗口大小并显示
setSize(400, 300);
setVisible(true);
}
public static void main(String[] args) {
new TableExample();
}
}
```
当你运行这个代码时,你将会看到一个包含两行两列表格的Java Swing窗口。
阅读全文