Java JViewport

【Java JViewport】JViewport类用于实现滚动。 JViewport旨在支持逻辑滚动和基于像素的滚动。通过调用JViewport.setViewPosition()方法来滚动视口的子级(称为视图)。
嵌套类

修饰符和类型 描述
protected class JViewport.AccessibleJViewport 此类为Jviewport类实现可访问性支持。
protected class JViewport.ViewListener 视图的侦听器。
领域
修饰符和类型 领域 描述
静态整数 BACKINGSTORE_SCROLL_MODE 它将视口内容绘制到屏幕外图像中。
受保护的图像 backingStoreImage 用于后备存储的视图图像。
静态整数 BLIT_SCROLL_MODE 它使用graphics.copyArea实现滚动。
受保护的布尔值 isViewSizeSet 确定视口尺寸后为true。
保护点 lastPaintPosition 我们绘制的最后一个viewPosition, 因此我们知道多少后备商店图像有效。
protected boolean scrollUnderway scrollUnderway标志用于JList之类的组件。
静态整数 SIMPLE_SCROLL_MODE 此模式使用非常简单的方法, 即在每次滚动时重新绘制滚动窗格的全部内容。
建设者
建设者 描述
JViewport() 创建一个JViewport。
方法
修饰符和类型 方法 描述
void addChangeListener(ChangeListener l) 它将ChangeListener添加到列表, 每当视图的大小, 位置或视口的范围大小发??生更改时都会通知该侦听器。
protected LayoutManager createLayoutManager() 子类可以重写此方法, 以在构造函数中安装其他布局管理器(或null)。
受保护的Jviewport.ViewListener createViewListener() 它为视图创建一个侦听器。
int getScrollMode() 它返回当前的滚动模式。
Component getView() 它返回JViewport的一个孩子或null。
Point getViewPosition() 它返回出现在视口左上角的视图坐标, 如果没有视图, 则返回0, 0。
Dimension getViewSize() 如果尚未显式设置视图的大小, 则返回首选大小, 否则返回视图的当前大小。
void setExtentSize(Dimension newExtent) 它使用视图坐标设置视图可见部分的大小。
void setScrollMode(int mode) 它用于控制滚动视口内容的方法。
void setViewSize(Dimension newSize) 它设置视图的大小。
JViewport示例
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.border.LineBorder; public class ViewPortClass2 { public static void main(String[] args) { JFrame frame = new JFrame("Tabbed Pane Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("Label"); label.setPreferredSize(new Dimension(1000, 1000)); JScrollPane jScrollPane = new JScrollPane(label); JButton jButton1 = new JButton(); jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); jScrollPane.setViewportBorder(new LineBorder(Color.RED)); jScrollPane.getViewport().add(jButton1, null); frame.add(jScrollPane, BorderLayout.CENTER); frame.setSize(400, 150); frame.setVisible(true); } }

输出:
Java JViewport

文章图片

    推荐阅读