如何在Java中實現可滾動的JPanel?


JPanel

  • JPanelJComponentContainer 類的子類)的子類。因此,JPanel 也是一個 Container
  • JPanel 是一個空區域,可用於佈局其他元件,包括其他面板。
  • JPanel 中,我們還可以新增欄位、標籤、按鈕、複選框影像
  • 佈局管理器,如 FlowLayoutGridLayoutBorderLayout 和其他佈局管理器,幫助我們使用 JPanel 控制組件的大小、位置和對齊方式。
  • JPanel 類的重要方法有 getAccessibleContext()、getUI()、updateUI()paramString()
  • 我們還可以透過將面板物件新增到 JScrollPane 來實現具有垂直水平捲軸的 JPanel

示例

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();
   }
}

輸出

更新於: 2020年2月10日

4K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告