カラーチューザーのサイズを指定する

広告

カラーチューザーのサイズを指定する方法を確認します。明示的にラベルのサイズを指定するにはJColorChooserクラスの親クラスであるJComponentクラスで用意されている「setPreferredSize」メソッドを使います。

このコンポーネントの適切なサイズを設定します。preferredSize が null の
場合、UI で適切なサイズを要求します。

パラメータ:
  preferredSize - 新しい推奨サイズ、または null

引数にはラベルのサイズを表すDimensionクラスのオブジェクトを指定します。Dimensionクラスについては『Dimensionクラス』を参照して下さい。

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

JColorChooser colorchooser = new JColorChooser();

colorchooser.setPreferredSize(new Dimension(100, 100));

サンプルプログラム

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

JColorChooserTest4.java

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

public class JColorChooserTest4 extends JFrame implements ChangeListener{

  JColorChooser colorchooser;
  JLabel colorLabel;

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

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

  JColorChooserTest4(){
    colorLabel = new JLabel("選択した色が背景色として表示されます");
    colorLabel.setOpaque(true);

    colorchooser = new JColorChooser();
    colorchooser.getSelectionModel().addChangeListener(this);
    colorchooser.setPreferredSize(new Dimension(350, 300));

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

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

  public void stateChanged(ChangeEvent e) {
    Color color = colorchooser.getColor();
    colorLabel.setBackground(color);
  }
}

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

JColorChooserでサイズを設定する

( Written by Tatsuo Ikura )

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