国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

理解Java Swing中的Accelerator Key

2019-11-18 14:24:20
字體:
供稿:網(wǎng)友

  前言:沒事在看《java Swing, 2nd Edition》,看到有個東西還是蠻有趣的說,就是Accelerator key,呵呵,似乎要配合Alt一起用才能起到作用。蠻多東西是看了程序后才發(fā)現(xiàn)原文的意思的。這次算是插曲,不在MapsEditor的范圍之內(nèi)。順便提一下,中午起來有3到4個人加了群,蠻開心的。高手也好初學(xué)也罷,大家重要的是交流,大膽說出自己的想法,錯了就錯了,誰沒錯過啊……

  關(guān)于Accelerator key,在做GUI的時候還是比較重要的吧,至少以前認為那些不用鼠標(biāo)的人蠻高手的,呵呵,自己也會去刻意記些常用的快捷鍵,在Windows下用用還算湊合那,呵呵。程序是從書上搬下來的,覺得蠻有意思的,大家可以看看。

理解Java Swing中的Accelerator Key(圖一)// MnemonicLabels.java
理解Java Swing中的Accelerator Key(圖二)//
理解Java Swing中的Accelerator Key(圖三)import javax.swing.*;
理解Java Swing中的Accelerator Key(圖四)import java.awt.*;
理解Java Swing中的Accelerator Key(圖五)
理解Java Swing中的Accelerator Key(圖六)// Shows how displayedMnemonic and labelFor PRoperties work together
理解Java Swing中的Accelerator Key(圖七)理解Java Swing中的Accelerator Key(圖八)public class MnemonicLabels ...{
理解Java Swing中的Accelerator Key(圖九)理解Java Swing中的Accelerator Key(圖十) public static void main(String[] args) ...{
 理解Java Swing中的Accelerator Key(圖十)
 理解Java Swing中的Accelerator Key(圖十二) JTextField firstField = new JTextField(10);
 理解Java Swing中的Accelerator Key(圖十三) JTextField middleField = new JTextField(10);
 理解Java Swing中的Accelerator Key(圖十四) JTextField lastField = new JTextField(10);
 理解Java Swing中的Accelerator Key(圖十五)
 理解Java Swing中的Accelerator Key(圖十六) // Create labels and mnemonics.
 理解Java Swing中的Accelerator Key(圖十七) JLabel firstLabel = new JLabel("First Name", JLabel.RIGHT);
 理解Java Swing中的Accelerator Key(圖十八) firstLabel.setDisplayedMnemonic('F');
 理解Java Swing中的Accelerator Key(圖十九) firstLabel.setLabelFor(firstField);
 理解Java Swing中的Accelerator Key(圖二十)
 理解Java Swing中的Accelerator Key(圖二十) JLabel middleLabel = new JLabel("Middle Initial", JLabel.RIGHT);
 理解Java Swing中的Accelerator Key(圖二十二) middleLabel.setDisplayedMnemonic('I');
 理解Java Swing中的Accelerator Key(圖二十三) middleLabel.setDisplayedMnemonicIndex(7); // Requires 1.4
 理解Java Swing中的Accelerator Key(圖二十四) middleLabel.setLabelFor(middleField);
 理解Java Swing中的Accelerator Key(圖二十五)
 理解Java Swing中的Accelerator Key(圖二十六) JLabel lastLabel = new JLabel("Last Name", JLabel.RIGHT);
 理解Java Swing中的Accelerator Key(圖二十七) lastLabel.setDisplayedMnemonic('L');
 理解Java Swing中的Accelerator Key(圖二十八) lastLabel.setLabelFor(lastField);
 理解Java Swing中的Accelerator Key(圖二十九)
 理解Java Swing中的Accelerator Key(圖三十) // Layout and display
 理解Java Swing中的Accelerator Key(圖三十) JPanel p = new JPanel( );
 理解Java Swing中的Accelerator Key(圖三十二) p.setLayout(new GridLayout(3, 2, 5, 5));
 理解Java Swing中的Accelerator Key(圖三十三) p.add(firstLabel);
 理解Java Swing中的Accelerator Key(圖三十四) p.add(firstField);
 理解Java Swing中的Accelerator Key(圖三十五) p.add(middleLabel);
 理解Java Swing中的Accelerator Key(圖三十六) p.add(middleField);
 理解Java Swing中的Accelerator Key(圖三十七) p.add(lastLabel);
 理解Java Swing中的Accelerator Key(圖三十八) p.add(lastField);
 理解Java Swing中的Accelerator Key(圖三十九)
 理解Java Swing中的Accelerator Key(圖四十) JFrame f = new JFrame("MnemonicLabels");
 理解Java Swing中的Accelerator Key(圖四十) f.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
 理解Java Swing中的Accelerator Key(圖四十二) f.setContentPane(p);
 理解Java Swing中的Accelerator Key(圖四十三) f.pack( );
 理解Java Swing中的Accelerator Key(圖四十四) f.setVisible(true);
理解Java Swing中的Accelerator Key(圖四十五) }
理解Java Swing中的Accelerator Key(圖四十六)}
  有Java環(huán)境的可以拷貝去然后編譯運行看看,然后分別按Alt+F、Alt+I、Alt+L,F(xiàn)oUCs就會在三個TextField之間轉(zhuǎn)換。要害的是firstLabel.setDisplayedMnemonic('F')和firstLabel.setLabelFor(firstField),前一個setDisplayedMnemonic(char)選定哪個character為快捷鍵,就像VC里面的“&”一樣的功能,而后面這個setLabelFor(comp)則表明你按下相應(yīng)的快捷鍵(加速鍵)后焦點定位到哪個控件上(當(dāng)然要有焦點的控件)。需要注重的是第二個快捷鍵的設(shè)置“middleLabel.setDisplayedMnemonicIndex(7);”這個需要SDK1.4的支持,這個的作用就是設(shè)置顯示的下劃線為第幾個字符。很明顯,我們注重到對于“I”來說,“Middle Initial”中前后有兩個“I”,而這里是部分大小寫的,所以按照第一個或者第三個的做法的話,程序會默認JLabel中文字滿足的第一個字符加下劃線,也就是這個樣子了“Middle Initial”,我們要的是“Middle Initial”的效果,所以把下劃線設(shè)置到第七個字符“I”上面。其他也沒什么好玩的了,除了這個應(yīng)該都能摸索懂吧,呵呵。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁阳县| 新巴尔虎左旗| 靖宇县| 北京市| 南陵县| 聂拉木县| 三明市| 揭东县| 汉川市| 四会市| 南靖县| 朔州市| 共和县| 通许县| 古蔺县| 商城县| 顺昌县| 巴东县| 吴堡县| 鹰潭市| 聂荣县| 通辽市| 黔南| 玉屏| 温宿县| 柏乡县| 大足县| 福海县| 文安县| 怀仁县| 略阳县| 麻栗坡县| 若羌县| 富锦市| 芦山县| 浦东新区| 漯河市| 金溪县| 浦东新区| 安平县| 文山县|