Java中的JViewport类的重要性是什么?

What is the importance of JViewport class in Java?

视口

  • JViewport类定义了基本的滚动模型,并设计为支持逻辑滚动和基于像素的滚动。
  • 通过调用JViewport.setViewPosition()方法,滚动了称为视口的视口子级。
  • JViewportclass支持逻辑滚动,这是一种其中视图坐标不是像素的滚动。
  • 为了支持逻辑滚动,JViewport定义了一小组方法,可用于定义视口和视图的几何形状。 默认情况下,这些方法仅报告视口和视图的像素尺寸。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.awt.*;
import javax.swing.*;
public class JViewportTest extends JFrame {
 public JViewportTest() {
   setTitle("JViewport Test");
   setLayout(new FlowLayout());
   JLabel label = new JLabel(new ImageIcon("C:/Users/User/Desktop/Java Answers/logo.jpg"));
   JViewport viewport = new JViewport();
   viewport.setView(label);
   viewport.setExtentSize(new Dimension(350, 350));
   viewport.setViewPosition(new Point(50, 25));
   viewport.setPreferredSize(new Dimension(350, 275));
   add(viewport);
   setSize(400, 300);
   setLocationRelativeTo(null);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   setVisible(true);
 }
 public static void main(String[] args) {
   new JViewportTest();
 }
}

输出量