ビューポートでコンポーネントが表示される位置を設定する
広告
ビューポート内でコンポーネントが表示される位置を設定する方法を確認します。
ビューポートの左上の位置にコンポーネントのどの座標(コンポーネントの左上を原点とした場合の座標)を設定します。設定するにはJViewportクラスで用意されている「setViewPosition」メソッドを使います。
public void setViewPosition(Point p)
ビューポートの左上隅に表示されるビューの座標を設定します。ビューがない 場合は何も行いません。 パラメータ: p - 左上の座標を示す Point オブジェクト
引数としてビューポートの左上に表示されるコンポーネントの座標を表すPointクラスのオブジェクトを設定します。Pointクラスについては『Pointクラス』を参照して下さい。
実際の使い方は次のようになります。
JScrollPane scrollpane = new JScrollPane(); JViewport view = scrollpane.getViewport(); ImageIcon icon = new ImageIcon("./img/hana.jpg"); JLabel label = new JLabel(icon); view.setView(label); view.setViewPosition(new Point(10, 10));
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*; import java.awt.Dimension; import java.awt.BorderLayout; import java.awt.Point; public class JScrollPaneTest10 extends JFrame{ public static void main(String[] args){ JScrollPaneTest10 frame = new JScrollPaneTest10(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JScrollPaneTest10(){ 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); view.setViewPosition(new Point(50, 50)); JPanel panel = new JPanel(); panel.add(scrollpane); getContentPane().add(panel, BorderLayout.CENTER); } }
上記をコンパイルした後で実行すると次のように表示されます。
ビューポート内に表示されるコンポーネントの位置を変更しています。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。