java jscrollbar_Java Swing JScrollBar

Java Swing教程 - Java Swing JScrollBar

JScrollBar有一个orientation属性,它决定了它是水平还是垂直显示。

JScrollBar有一个orientation属性,它决定了它是水平还是垂直显示。...

当单击箭头按钮时,旋钮在轨道上朝向箭头按钮移动。

我们可以通过鼠标拖动拇指向任一端。要移动缩略图,请单击轨道。

下表列出了JScrollBar和JScrollBar的常用属性获取/设置这些属性的方法。

ID

方法/说明

1

方法/说明...

2

getValue()setValue()旋钮的位置是其值。 最初,它被设置为零。

3

getVisibleAmount()setVisibleAmount()它是旋钮的大小。 它与轨道的大小成比例地表示。

4

getMinimum()setMinimum()它表示的最小值。 默认值为零。

5

getMinimum()setMinimum()它表示的最小值。 默认值为零。...

以下代码演示如何创建JScrollBar具有不同的性质。

创建具有所有默认属性的JScrollBar。其方向将为垂直,当前值0,范围10,最小值0和最大值100。

JScrollBar sb1 = new JScrollBar();

使用默认值创建水平JScrollBar

JScrollBar sb2 = new JScrollBar(JScrollBar.HORIZONTAL);

要创建当前值为50的水平JScrollBar,  范围15,最小1和最大150。

JScrollBar sb3 = new JScrollBar(JScrollBar.HORIZONTAL, 50, 15, 1, 150);

JScrollBar的当前值只能在其最小值和(最大 - 扩展)值之间设置。

要处理来自JScrollBar的AdjustmentListener,请将AdjustmentListener添加到名为myScrollBar的JScrollBar。

myScrollBar.addAdjustmentListener((AdjustmentEvent e) -> {

if (!e.getValueIsAdjusting()) {

// The logic for value changed goes here

}

});

JTextField与用于滚动的JScrollBar

以下代码显示如何使用BoundedRangeModel链接JTextField和JScrollBar。

import java.awt.BorderLayout;

/*fromwww.java2s.com*/

import javax.swing.BoundedRangeModel;

import javax.swing.BoxLayout;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollBar;

import javax.swing.JTextField;

public class Main {

public static void main(String args[]) {

JFrame frame = new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JTextField textField = new JTextField();

JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL);

JPanel panel = new JPanel();

panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

BoundedRangeModel brm = textField.getHorizontalVisibility();

scrollBar.setModel(brm);

panel.add(textField);

panel.add(scrollBar);

frame.add(panel, BorderLayout.NORTH);

frame.setSize(300, 100);

frame.setVisible(true);

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值