Swing/SpinnerTextColor のバックアップ差分(No.1)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/SpinnerTextColor へ行く。
- 1 (2013-04-29 (月) 08:31:48)
- 2 (2015-10-13 (火) 20:06:28)
- 3 (2017-04-12 (水) 18:56:21)
- 4 (2018-03-28 (水) 18:18:34)
- 5 (2018-04-02 (月) 18:32:17)
- 6 (2018-04-04 (水) 21:33:15)
- 7 (2018-04-09 (月) 14:54:35)
- 8 (2018-04-19 (木) 13:49:19)
- 9 (2018-04-20 (金) 17:21:35)
- 10 (2020-04-12 (日) 01:37:28)
- 11 (2021-10-19 (火) 13:00:03)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JComboBoxをJSpinnerの代わりに使用する #navi(../) #tags(JSpinner, JComboBox, Html, ActionMap) RIGHT:Posted by &author(aterai); at 2013-04-29 *JComboBoxをJSpinnerの代わりに使用する [#f7106526] ``JSpinner``の代わりに``JComboBox``を使用することで、アイテムの文字色などを変更しています。 -&jnlp; -&jar; -&zip; //#screenshot #ref(https://lh6.googleusercontent.com/-kpruQCgOnLE/UX2r6exfrII/AAAAAAAABqo/JZnFlTBy1zw/s800/SpinnerTextColor.png) **サンプルコード [#xf53f1ef] #code(link){{ JButton nb = createArrowButton(SwingConstants.NORTH); nb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { e.setSource(comboBox); comboBox.getActionMap().get("selectPrevious2").actionPerformed(e); } }); JButton sb = createArrowButton(SwingConstants.SOUTH); sb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { e.setSource(comboBox); comboBox.getActionMap().get("selectNext2").actionPerformed(e); } }); Box box = Box.createVerticalBox(); box.add(nb); box.add(sb); JPanel p = new JPanel(new BorderLayout()) { @Override public Dimension getPreferredSize() { Dimension d = super.getPreferredSize(); return new Dimension(d.width, 20); } }; p.add(comboBox); p.add(box, BorderLayout.EAST); }} **解説 [#c462037c] 上記のサンプルでは、ドロップダウンリストを無効(表示させない)にした``JComboBox``と``2``つの``ArrowButton``を組み合わせて、``JSpinner``風のコンポーネントを作成しています。各アイテムの文字色は、``Html``の``<font>``タグを使って変更しています。 - ``BasicComboBoxUI#createArrowButton()``をオーバーライドして、``JComboBox``の元``ArrowButton``を非表示 -- [[JComboBoxのArrowButtonを隠す>Swing/HideComboArrowButton]] - ``BasicComboBoxUI#setPopupVisible``、``BasicComboBoxUI#createPopup()``、``BasicComboPopup#show()``などをオーバーライドしてドロップダウンリストを無効化 - ``JComboBox#getActionMap()#get("selectNext2")``などで取得したアクションを実行する``ArrowButton``を作成してレイアウト -- [[JTableを別コンポーネントから操作>Swing/SelectAllButton]] -- [[JComponentのKeyBinding一覧を取得する>Swing/KeyBinding]] //**参考リンク **コメント [#ecf8bf9c] #comment