java swing panel问题_java swing 问题

1、JFrame的居中显示问题:

setSize(1200, 800);

setLocationRelativeTo(rootPane);

setVisible(true);

其中的三句话的顺序不能有错,否则不会正确的居中显示。

2、JTable不能显示的问题:

JTable组件显示数据时,如果直接将其放置在Frame的contentPane中则表头一行会显示不出来,如果将其放置在JScrollPane中显示数据的话,表头会自动显示出来。

所以说使用JTable显示数据时,要将Table添加在JScrollPane里面。

还有: scrollPanel.add(table);

应该改为:scrollPanel.setViewportView(table);

1、用JScrollPane承接Table,不用JPanel等;

2、用JScrollPane的构造函数构建,或者用scrollPanel.setViewportView(table);

不用scrollPanel.add(table);

3、承接Table的父容器的布局管理器不能设置为null,其实,对于JScrollPane的布局,有专门的

scroll的布局,也可以用,简便的话,不设置布局;不要Null;

至此,Table和表头都可以正常显示了。

3、 jconsole性能监视

在需要启动的程序前面加上参数:-Dcom.sun.management.jmxremote,这样jconsole才能监控到程序。

4、 设置JFrame的透明

// 去掉装饰 就是标题 边框

setUndecorated(true);

// 设置透明

AWTUtilities.setWindowOpaque(this, false);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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() 方法将选中的第一行滚动到可见区域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值