日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java编程button_以编程方式在Java Swing中单击GUIbutton

發布時間:2025/3/20 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java编程button_以编程方式在Java Swing中单击GUIbutton 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

即使button.doClick()者對button.doClick()滿意,我正在尋找類似于設置助記符(即button.setMnemonic(KeyEvent.VK_A)后發生的事情。 你實際上可以按住ALT + A而不發生任何事情(除了視覺上的變化)。 當釋放鍵A(有或沒有ALT)時,button觸發一個ActionEvent。

我發現我可以通過button.getModel()獲取ButtonModel(參見Java 8 API button.getModel() ,然后用model.setPressed(true); model.setArmed(true);按下buttonmodel.setPressed(true); model.setArmed(true); model.setPressed(true); model.setArmed(true); (兩者都通過助記符進行更改),并通過將兩者都設置為false來在視覺上釋放button。 而當model.setPressed(false)在button和布防button被調用時,button會自動觸發一個ActionEvent(調用model.setArmed(false)只會直觀地改變button)。

[來自ButtonModel的Java API文檔的引用]觸發一個button,并觸發一個ActionEvent,當鼠標在模型布防的時候被釋放

為了讓應用程序在button可見時(不包含包含窗口或button需要成為焦點所有者,即當窗口中的另一個組件被聚焦時)響應按鍵,我使用了鍵綁定(參見官方Java教程 )。

工作代碼:按SHIFT + A直觀地按下button(相比之下,在用button.setMnemonic()設置助記符后用鍵按ALT)。 然后釋放鍵以在控制臺上打印動作命令(“button”)。

// MnemonicCode.java import javax.swing.*; import java.awt.event.*; public class MnemonicCode extends JFrame { public MnemonicCode(int keyCode) { JButton button = new JButton("button"); getContentPane().add(button); addMnemonicToButton(button,keyCode); button.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { System.out.println(e.getActionCommand()); } }); pack(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) throws Exception { MnemonicCode bp = new MnemonicCode(KeyEvent.VK_A); } void addMnemonicToButton(JButton button,int keyCode) { int shiftMask = InputEvent.SHIFT_DOWN_MASK; // signature: getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease) KeyStroke keyPress = KeyStroke.getKeyStroke(keyCode,shiftMask,false); KeyStroke keyReleaseWithShift = KeyStroke.getKeyStroke(keyCode,shiftMask,true); // get maps for key bindings InputMap inputMap = button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); ActionMap actionMap = button.getActionMap(); // add key bindings for pressing and releasing the button inputMap.put(keyPress,"press"+keyCode); actionMap.put("press"+keyCode, new ButtonPress(button)); inputMap.put(keyReleaseWithShift,"releaseWithShift"+keyCode); actionMap.put("releaseWithShift"+keyCode, new ButtonRelease(button)); ///* // add key binding for releasing SHIFT before A // if you use more than one modifier it gets really messy KeyStroke keyReleaseAfterShift = KeyStroke.getKeyStroke(keyCode,0,true); inputMap.put(keyReleaseAfterShift,"releaseAfterShift"+keyCode); actionMap.put("releaseAfterShift"+keyCode, new ButtonRelease(button)); //*/ } class ButtonPress extends AbstractAction { private JButton button; private ButtonModel model; ButtonPress(JButton button) { this.button = button; this.model = button.getModel(); } public void actionPerformed(ActionEvent e) { // visually press the button model.setPressed(true); model.setArmed(true); button.requestFocusInWindow(); } } class ButtonRelease extends AbstractAction { private ButtonModel model; ButtonRelease(JButton button) { this.model = button.getModel(); } public void actionPerformed(ActionEvent e) { if (model.isPressed()) { // visually release the button // setPressed(false) also makes the button fire an ActionEvent model.setPressed(false); model.setArmed(false); } } } }

總結

以上是生活随笔為你收集整理的java编程button_以编程方式在Java Swing中单击GUIbutton的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰精品在线观看 | 久久久午夜 | 国产精品视频1区 | 免费av一区| 久久青娱乐| 国产一区二区不卡 | 欧美91精品久久久久国产性生爱 | 邻居交换做爰2 | 操操操插插插 | 特黄一级片 | 老司机免费在线视频 | 五月婷在线视频 | 日韩欧美黄色大片 | 亚洲永久无码精品一区二区 | 亚洲aa在线观看 | 中文字幕+乱码+中文字幕明步 | 永久免费未满蜜桃 | 亚洲人成电影在线播放 | 青青青青青青草 | 狠狠爱欧美 | 国产一区二区三区日韩 | www.激情五月 | 国产精品传媒视频 | 久久精品色欲国产AV一区二区 | 一个人看的视频www 色就是色网站 | 国产精品久久久久久久久久久久久久久 | 国产乱淫a∨片免费视频 | 日本少妇久久 | 国产视频在线一区二区 | 永久免费成人 | 亚洲一区二区三 | 国产一区二区三区高清 | 日日爱886 | 波多野结衣导航 | 一级美女黄色片 | av手机天堂 | 午夜做爰xxxⅹ性高湖视频美国 | 亚洲精品国产精品乱码桃花 | 欧美日韩经典 | 永久免费网站直接看 | 欧美成人精品一区 | av最新天堂 | www.日日夜夜 | 色爽 av| 国产高清自拍视频 | 亚洲日本中文字幕在线 | 日本免费网站 | 夜夜操狠狠操 | 免费的黄网站 | 成人夜色 | 久久国产精品久久久久久 | 亚洲一在线 | 日本理论片在线 | 国产精品人妻 | 少妇又色又紧又大爽又刺激 | 波多野结衣网址 | 欧美成人播放 | 手机av在线播放 | 久久久久久久性 | 美女大黄动图 | 超碰资源在线 | 天天操天天做 | 天天做天天爱天天做 | 三级视频小说 | 国产在线观看a | 精品女同一区二区 | 男人操女人下面视频 | 亚洲美女一级片 | 亚洲精品乱码久久久久久按摩观 | 老司机一区二区三区 | 国产欧美三区 | 爱爱视频天天干 | 国产精品黄色 | 国产aⅴ精品一区二区三区久久 | 亚洲免费视频播放 | 三级视频在线 | 九九热播视频 | 日本欧美国产一区二区三区 | 草莓视频成人在线 | 国内自拍视频在线观看 | 狠狠干少妇 | 欧美人与性动交ccoo | 午夜丁香网 | 国产精品污视频 | 黄色激情视频在线观看 | 色妞欧美 | 日韩av在线免费 | 男女日批网站 | 波多野结衣黄色 | 亚洲xx在线 | jizzjizz黄大片| 日本黄色小视频 | 亚洲精选免费 | 国产调教打屁股xxxx网站 | 国产婷婷色一区二区三区 | 男人在线网站 | 91成人在线视频 | 欧美精品一级片 | 九九九九热 |