TOP →
Java →
Swing →
JScrollPane → This Page
JScrollPane@Swing サンプル09
概要
Java -
Swing -
JScrollPane のサンプルです。
・コーナーを設定
解説
パネの四隅をコーナーといい、それぞれのコーナにボタンを設定しています。
サンプルイメージ
サンプルソース
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
/**
* JScrollPane サンプル09
* ・コーナーを設定
*
* @author みっちー
*/
public class JScrollPane09 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JScrollPane09 frame = new JScrollPane09();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JScrollPane サンプル09");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 400, 300);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JScrollPane09() {
// アイコンを生成
ImageIcon icon = new ImageIcon("./img/orange.png");
JLabel label1 = new JLabel(icon);
// スクロールパネを生成
JScrollPane scrollPane = new JScrollPane(label1);
// スクロールバーを作成
JScrollBar barH = scrollPane.getHorizontalScrollBar();
JScrollBar barV = scrollPane.getVerticalScrollBar();
barH.setPreferredSize(new Dimension(icon.getIconWidth(), 45));
barV.setPreferredSize(new Dimension(45 , icon.getIconHeight()));
// スペースを生成
Space spaceH = new Space();
Space spaceV = new Space();
spaceH.setPreferredSize(new Dimension(icon.getIconWidth(), 45));
spaceV.setPreferredSize(new Dimension(45 , icon.getIconHeight()));
// スペースを設定
scrollPane.setColumnHeaderView(spaceH);
scrollPane.setRowHeaderView(spaceV);
// ボタンを生成
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
// リスナーを追加
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
// コーナーを設定
scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, button1);
scrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER, button2);
scrollPane.setCorner(JScrollPane.LOWER_LEFT_CORNER, button3);
scrollPane.setCorner(JScrollPane.LOWER_RIGHT_CORNER, button4);
// スクロールパネを追加
getContentPane().add(scrollPane);
}
/**
* アクション
*
* @param e アクションイベント
*/
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(this, ((JButton)e.getSource()).getText());
}
}
/**
* スペースクラス
*
* @author みっちー
*/
class Space extends JComponent implements SwingConstants {
private static final long serialVersionUID = 1L;
/**
* コンストラクタ
*/
public Space() {
}
/**
* 描画
*
* @param g Graphics
*/
public void paintComponent(Graphics g) {
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/08/25 新規作成
TOP →
Java →
Swing →
JScrollPane → This Page