Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีทำ JPanel ที่เลื่อนได้ (Scrollable) ใน Java

JPanel

  • JPanel เป็นคลาสย่อยของ JComponent (ซึ่งเป็นย่อยของ Container) ดังนั้น JPanel จึงเป็น Container ด้วย
  • JPanel เป็นพื้นที่ว่าง ใช้จัดวางคอมโพเนนต์อื่นๆ รวมถึง Panel อื่นๆ
  • ใน JPanel ใส่ ฟิลด์, เลเบล, ปุ่ม, เช็คบ็อกซ์, รูปภาพ ได้
  • Layout Managers เช่น FlowLayout, GridLayout, BorderLayout ช่วยควบคุมขนาด ตำแหน่ง การจัดวางใน JPanel
  • เมธอดสำคัญ: getAccessibleContext(), getUI(), updateUI(), paramString()
  • สามารถทำ JPanel ให้มี Scrollbar แนวตั้งและแนวนอน ได้โดยเพิ่ม Panel เข้า JScrollPane

ตัวอย่างโค้ด

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JScrollablePanelTest extends JFrame {
    public JScrollablePanelTest() {
        setTitle("JScrollablePanel Test");
        setLayout(new BorderLayout());
        JPanel panel = createPanel();
        add(BorderLayout.CENTER, new JScrollPane(panel));
        setSize(375, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static JPanel createPanel() {
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(10, 4, 10, 10));
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 4; j++) {
                JLabel label = new JLabel("label " + i + ", " + j);
                label.setFont(new Font("Arial", Font.PLAIN, 20));
                panel.add(label);
            }
        }
        return panel;
    }

    public static void main(String[] args) {
        new JScrollablePanelTest();
    }
}

ผลลัพธ์

วิธีทำ JPanel ที่เลื่อนได้ (Scrollable) ใน Java