JViewport
- JViewport กำหนดโมเดลการเลื่อนพื้นฐาน รองรับทั้ง Logical Scrolling และ Pixel-based Scrolling
- ลูกของ Viewport ที่เรียกว่า View จะถูกเลื่อนโดยการเรียก JViewport.setViewPosition()
- JViewport รองรับ Logical Scrolling คือการเลื่อนที่พิกัดไม่ใช่พิกเซล
- เพื่อรองรับ Logical Scrolling JViewport กำหนดเมธอดเล็กๆ สำหรับกำหนดเรขาคณิตของ Viewport และ View โดยค่าเริ่มต้นรายงานขนาดพิกเซลของ Viewport และ View
ตัวอย่างโค้ด
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();
}
}
ผลลัพธ์
