TOP →
Java →
Swing →
JScrollPane → This Page
JScrollPane@Swing サンプル05
概要
Java -
Swing -
JScrollPane のサンプルです。
・コンポーネントの表示位置を取得
解説
コンポーネントの表示位置を取得して表示します。
スクロールを動かすと現在位置が表示されます。
サンプルイメージ
サンプルソース
import java.awt.Dimension;
import java.awt.Point;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JViewport;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
* JScrollPane サンプル05
* ・コンポーネントの表示位置を取得
*
* @author みっちー
*/
public class JScrollPane05 extends JFrame implements ChangeListener {
private static final long serialVersionUID = 1L;
JViewport view;
JLabel labelDisplay;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JScrollPane05 frame = new JScrollPane05();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JScrollPane サンプル05");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 380, 250);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JScrollPane05() {
// パネルを作成
JPanel panelBase = new JPanel();
panelBase.setLayout(new BoxLayout(panelBase, BoxLayout.Y_AXIS));
// アイコンを生成
ImageIcon icon = new ImageIcon("./img/orange.png");
JLabel label = new JLabel(icon);
// スクロールパネを生成
JScrollPane scrollPane = new JScrollPane();
scrollPane.setPreferredSize(new Dimension(300, 200));
// Viewportを生成して追加
view = new JViewport();
view.setView(label);
scrollPane.setViewport(view);
// リスナーに追加
view.addChangeListener(this);
// ラベルを生成
labelDisplay = new JLabel();
labelDisplay.setPreferredSize(new Dimension(300, 50));
// スクロールパネを追加
panelBase.add(scrollPane);
panelBase.add(labelDisplay);
// パネを追加
getContentPane().add(panelBase);
}
/**
* チェンジ
*/
@Override
public void stateChanged(ChangeEvent e){
Point point = view.getViewPosition();
labelDisplay.setText("x=" + point.x + ", y=" + point.y);
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/08/25 新規作成
TOP →
Java →
Swing →
JScrollPane → This Page