чудеса и магия...
Намедни писал код для группы
"магия..." -- подумал я и пошёл дальше. А дальше всё было просто:
Как Вам это?
P.S. Честно говоря, мне больше нравится 73, а вам?
P.S.S. Хотя, конечно, 81 -- тоже неплохо.
JRadioButton-ов. Это ладно, что час я прокопался, выясняя -- почему по myRadioButton.setSelected(true) не вызывает приаттаченный к кнопке ActionListener. Думаю, это был последний раз, когда я не читал исходники перед использованием swing, а воспользовался интуицией -- на самом деле, такой метод только выбирает кнопку, но не вызывает её слушателей. Вместо этого нужно использовать doClick())... Но каково же было моё удивление, когда в исходниках (jdk 1.5, update 4: AbstractButton.java) я увидел это:
/**
* Programmatically perform a "click". This does the same
* thing as if the user had pressed and released the button.
*/
public void doClick() {
doClick(68);
}
"магия..." -- подумал я и пошёл дальше. А дальше всё было просто:
/**
* Programmatically perform a "click". This does the same
* thing as if the user had pressed and released the button.
* The button stays visually "pressed" for pressTime
* milliseconds.
*
* @param pressTime the time to "hold down" the button, in milliseconds
*/
public void doClick(int pressTime) {
Dimension size = getSize();
model.setArmed(true);
model.setPressed(true);
paintImmediately(new Rectangle(0,0, size.width, size.height));
try {
Thread.currentThread().sleep(pressTime);
} catch(InterruptedException ie) {
}
model.setPressed(false);
model.setArmed(false);
Как Вам это?
P.S. Честно говоря, мне больше нравится 73, а вам?
P.S.S. Хотя, конечно, 81 -- тоже неплохо.
