2011-09-23 6 views
3

Я пытаюсь создать функцию, аналогичную функции панели инструментов Geogebra: в ней есть кнопки, которые выбирают инструменты, поэтому можно выбирать только один за раз, но они не похожи на радио кнопки (точка, с внутренней точкой, если она выбрана); они выглядят как JButton s с ImageIcon.JRadioButton, который выглядит как JButton

Я прошел через некоторые источники (в частности, ModeToggleMenu.java и Toolbar.java), но все еще не могу понять, что происходит. Мне просто нужно что-то основное. Я бы очень хотел помочь!

Скриншот, что я имею в виду:

An image of Geogebra's toolbar

Обратите внимание на указатель, точка, линия, перпендикулярная линия, треугольник, и т.д .. Это эффект, который я пытаюсь добиться.

Большое спасибо!

ответ

3

Создания пользовательских иконок используйте:

radioButton.setIcon(...); 
radioBbutton.setSelectedIcon(...); 
3

Я думаю, что мало, что вы пропустили, что код GeoGebra вы связаны использует это как класс кнопки:

class MyJToggleButton extends JToggleButton 

Так что кнопки JToggleButtons не JRadioButton,. JToggleButtons можно использовать напрямую и вводить в группы кнопок так же, как переключатели. Код Geogebra выполняет обычную роспись, но вы можете просто установить значок.

+0

Спасибо за помощь, но я думаю, что я бы предпочел, чтобы использовать компоненты для их прямого назначения (например, опять же * не * untoggle щелканья инструмента инструмент, поскольку разработчик, читающий код, ожидал бы) - если, конечно, не существует возможности использовать 'JToggleButton'; здесь? – wchargin

+0

Существует пример «JToggleButton» [здесь] (http://sites.google.com/site/drjohnbmatthews/buttons). – trashgod