ビューポートにコンポーネントを追加する

広告

ビューポートにコンポーネントを追加する方法を確認します。(今までのサンプルでも利用してきました)。JViewportクラスで用意されている「setView」メソッドを使います。

JViewport の 1 つの軽量な子 (view) を設定します。null も指定できます。

パラメータ:
  view - ビューポートの新しい軽量な子

引数にビューポートに配置したいコンポーネントを指定します。

実際の使い方は次のようになります。

JScrollPane scrollpane = new JScrollPane();
JViewport view = scrollpane.getViewport();

ImageIcon icon = new ImageIcon("./img/hana.jpg");
JLabel label = new JLabel(icon);
view.setView(label);

サンプルプログラム

では簡単なサンプルを作成して試してみます。

JScrollPaneTest8.java

import javax.swing.*;
import java.awt.Dimension;
import java.awt.BorderLayout;

public class JScrollPaneTest8 extends JFrame{

  public static void main(String[] args){
    JScrollPaneTest8 frame = new JScrollPaneTest8();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 300, 200);
    frame.setTitle("タイトル");
    frame.setVisible(true);
  }

  JScrollPaneTest8(){
    JScrollPane scrollpane = new JScrollPane();
    scrollpane.setPreferredSize(new Dimension(200, 120));

    JViewport view = scrollpane.getViewport();

    ImageIcon icon = new ImageIcon("./img/hana.jpg");
    JLabel label = new JLabel(icon);
    view.setView(label);

    JPanel panel = new JPanel();
    panel.add(scrollpane);

    getContentPane().add(panel, BorderLayout.CENTER);
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

JViewportクラスのオブジェクトにコンポーネントを設置する

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)