S-JIS[2007-02-02/2007-02-06] 変更履歴

JToolBar(Swing)

JToolBarは、ツールバー。


アクションを作っておけば、メニューバーと同じアクションが使えるので楽。
しかも、アクションのenabledを切り替えてやると、同じアクションを使っているメニューもツールバーのボタンも同じように反映されるのでとても便利。[/2007-02-06]

	/**
	 * ツールバー初期化
	 */
	private void initToolBar(Container c) {

		JToolBar bar = new JToolBar();
		Font f = bar.getFont();

		JButton btn_b = new JButton(new BoldAction());
		btn_b.setText("B");
		btn_b.setFont(new Font(f.getFamily(), Font.BOLD, f.getSize()));

		JButton btn_i = new JButton(new ItalicAction());
		btn_i.setText("I");
		btn_i.setFont(new Font(f.getFamily(), Font.ITALIC, f.getSize()));
		//btn_i.setToolTipText("font italic");

		bar.add(btn_b);
		bar.add(btn_i);
		c.add(bar, BorderLayout.PAGE_START);
	}

 JComboBoxなどのコンポーネントをツールバーに追加すると、デフォルトではツールバーの空いたスペースいっぱいに広がって(横長になって)しまう。[2007-02-06]

その場合、JComboBoxの最大サイズを指定しておけばよい。

	/**
	 * ツールバー初期化
	 */
	private void initToolBar(Container c) {

		JToolBar bar = new JToolBar();
〜
		Dimension d = bar.getMaximumSize();	//ツールバーの最大サイズ
		d.width = 12 * 6;			//横幅の最大サイズだけ指定

		String[] data = { "cmt", "chg", "new", "aqu", "ora", "red" };
		JComboBox cmb = new JComboBox(data);
		cmb.setMaximumSize(d);

		bar.add(cmb);
	}

Swing目次へ戻る / Java目次へ戻る
メールの送信先:ひしだま