亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? s04.htm

?? Java2Swingt界面設計
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
<SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up.js"></SCRIPT><SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up-all.js"></SCRIPT><html><head><title>易都網(wǎng)--Java 2 圖形設計卷Ⅱ:SWING</title><LINK rel="stylesheet" href="../../../_public/javaa.css"><meta http-equiv="Content-Type" content="text/html; charset=GBK"><script language="JavaScript" src="../../../_public/javaa.js"></script><meta name="keywords" content="Java,JSP,ASP,PHP,J2EE,EJB,JavaScript,C/C++,ASM,CSS,HTML,XML,網(wǎng)絡安全,MySQL,ACCESS"></head><body bgcolor="#FFFFFF"><table border=0 cellpadding=0 cellspacing=0 width="100%">  <tbody>   <script language="javascript">print2()</script>  <tr>     <td width="100%">       <table bgcolor=#EEEEEE border=0 cellpadding=3 cellspacing=0 width="100%">        <tbody>         <tr>           <td class=f1 id=thetd width="100%">             <p>[<a href="index.html" target="_self">目錄</a>][<a href="s03.htm">上一頁</a>][<a href="s05.htm">下一頁</a>]</p>            <p align="center"><b>第4章 JComponent類</b></p>            <p>   JComponent類是所有Swing輕量組件的基類,因此,我們單獨用一章對它進行討論。JComponent對Swing的意義就如同java.awt.Component對AWT的意義一樣,它們都是它們各自框架組件的基類。<br>                作為所有Swing輕量組件的基類,JComponent提供了大量的基本功能。要全面了解Swing,就必須知道JComponent類提供的功能,還必須知道如何使用JComponent類。</p>            <p> <b>4.1 JComponent類概覽</b></p>            <p>   JComponent擴展java.awt.Container,而java.awt.Container又擴展java.awt.Component,因此,所有的Swing組件都是AWT容器。Component和Container類本身提供了大量的功能,因此,JComponent繼承了大量的功能。本章(實際上本書)假設讀者有AWT組件和容器的基本知識,這些基本知識在《Java2圖形設計,卷Ⅰ:AWT》中用了大量的篇幅來介紹。<br>                因為JComponent為幾乎所有的Swing組件提供下層構(gòu)件,因此,它是一個很大的類,包括100多個public方法。JComponent為它的擴展提供了下面的功能:<br>                ■邊框。  ■自動滾動。<br>                ■可訪問性。  ■工具提示。<br>                ■雙緩存。  ■鍵擊處理。<br>                ■調(diào)試圖形。  ■客戶屬性。</p>            <p> <b>4.1.1 邊框</b></p>            <p>   任何JComponent的擴展都可以帶邊框。Swing提供了許多不同風格的邊框,如雕刻邊框、帶標題邊框和蝕刻邊框。雖然一個組件只能有一個邊框,但是邊框是可以組合的。因此,從效果上來看,單個組件可有多個邊框。圖4-1示出了組合邊框、帶標題邊框和定制邊框。<br>                邊框通常用來組織組件集,但在其他情況下也是很有用的。例如,圖4-1示出的組合框可以作為一顯示藝術品略圖的圖形程序的圖片幀。通常,可操作的邊框在繪圖程序中用來移動和改變對象的大小,而且作為Swing的定制邊框,這種邊框?qū)崿F(xiàn)起來也很容易。<br>                本章不詳細介紹邊框,有關邊框的知識,請參見第5章“邊框、圖標和動作”。</p>            <p> <b>4.1.2 可訪問性</b></p>            <p>   可訪問性是使人人都能使用軟件。例如,為視力不好的用戶放大字體或為聽力不好的用戶顯示帶聲音的標題。<br>                Swing的插入式界面模式體系結(jié)構(gòu)通過允許把可選擇的界面樣式分配給一組組件來支持可訪問性。圖4-2所示的SwingSet樣例應用程序使用一個定制的界面樣式,它具有高反差、大字體的外觀,為視力不好的用戶提供了更好的可讀性。<br>                除了Swing插入式界面模式外,使用一個可訪問API和一組可訪問工具也能支持可訪問性。在第4.11節(jié)“支持可訪問性”中介紹了可訪問性。</p>            <p><b>4.1.3 雙緩存</b></p>            <p>  在更新組件(擦除然后重繪組件)時,會產(chǎn)生可察覺的閃爍。雙緩存通過在屏外緩存區(qū)中更新組件,然后把屏外緩存區(qū)的相應部分拷貝到組件的屏上代表中來消除閃爍。<br>                所有的Swing輕量組件都繼承了雙緩存它們顯示內(nèi)容的能力。一個屏外緩存(由Swing的RepaintManager維護)常用于雙緩存JComponent的擴展。<br>                圖4-3示出了一個籃球圖像的簡單動畫和含有可拖動的輕量組件的應用程序。<br>                除了為雙緩存輕量組件使用屏外緩存外,開發(fā)人員還可以為拖動輕量組件或?qū)崿F(xiàn)動畫等其他目的而使用屏外緩存。 </p>            <p> 4.1.4 調(diào)試圖形</p>            <p>&nbsp;</p>            <p> 4.1.5 自動滾動</p>            <p>&nbsp;</p>            <p> 4.1.6 工具提示</p>            <p>&nbsp;</p>            <p> 4.1.7 鍵擊處理和客戶屬性</p>            <p>&nbsp;</p>            <p> 4.2 JComponent類結(jié)構(gòu)</p>            <p>&nbsp;</p>            <p> 4.2.1 Swing組件是AWT容器</p>            <p align="center"><b>例4-1 作為容器使用的Swing按鈕</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;            <p>public class ButtonAsContainer extends JApplet {<br>              public void init() {<br>              JButton b = new JButton(&quot;Swing Buttons Are Containers&quot;);</p>            <p> b.setLayout(new FlowLayout());<br>              b.add(new Button(&quot;AWT Button&quot;));<br>              b.add(new JButton(&quot;Swing Button&quot;));</p>            <p> getContentPane().add(b);<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 4.2.2 最小尺寸、最大尺寸和首選尺寸</p>            <p>&nbsp;</p>            <p align="center"><b>例4-2 為JComponent顯式地設置首選大小</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;<br>            import java.awt.event.*;            <p>public class Test extends JApplet {<br>              JComboBox sizeCombo = new JComboBox(new Object[] {<br>              &quot;null&quot;,<br>              &quot;100 x 100&quot;<br>              });<br>              JList list = new JList(new Object[] {<br>              &quot;item 1&quot;,<br>              &quot;item 2&quot;,<br>              &quot;item 3&quot;,<br>              &quot;item 4&quot;,<br>              &quot;item 5&quot;,<br>              });<br>              public void init() {<br>              final Container contentPane = getContentPane();</p>            <p> list.setBorder(<br>              BorderFactory.createLineBorder(Color.black));</p>            <p> sizeCombo.setSelectedIndex(0);</p>            <p> contentPane.setLayout(new FlowLayout());<br>              contentPane.add(list);<br>              contentPane.add(new JLabel(&quot;preferred size for list:&quot;));<br>              contentPane.add(sizeCombo);</p>            <p> sizeCombo.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              int index = sizeCombo.getSelectedIndex();</p>            <p> if(index == 0)<br>              list.setPreferredSize(null);<br>              else<br>              list.setPreferredSize(<br>              new Dimension(100, 100));<br>              list.revalidate();<br>              }<br>              });<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 4.3 繪制JComponent組件</p>            <p>&nbsp;</p>            <p> 4.3.1 Swing組件中的定制繪制</p>            <p>&nbsp;</p>            <p> 4.3.2 在AWT組件中重載繪制方法</p>            <p>&nbsp;</p>            <p align="center"><b>例4-3 為定制AWT組件而重載paint()</b></p>            <hr size="1" noshade>            import java.applet.Applet;<br>            import java.awt.*;            <p>public class TestApplet extends Applet {<br>              public void init() {<br>              ImageCanvas imageCanvas = new ImageCanvas(&quot;sphere.gif&quot;);<br>              //ImageCanvas imageCanvas = new ImageCanvas(<br>              add(imageCanvas);<br>              //setVisible(true);<br>              }<br>              }<br>              class ImageCanvas extends Canvas {<br>              Image image;</p>            <p> public ImageCanvas(String imageName) {<br>              image = Toolkit.getDefaultToolkit().getImage(imageName);</p>            <p> MediaTracker mt = new MediaTracker(this);<br>              try {<br>              mt.addImage(image, 0);<br>              mt.waitForID(0);<br>              }<br>              catch(InterruptedException ex) {<br>              ex.printStackTrace();<br>              }<br>              }<br>              public void paint(Graphics g) {<br>              g.drawImage(image, 0, 0, null);<br>              }<br>              public Dimension getPreferredSize() {<br>              return new Dimension(image.getWidth(null),<br>              image.getHeight(null));<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 4.3.3 在Swing組件中重載繪制方法</p>            <p>&nbsp;</p>            <p align="center"><b>例4-4 帶有從JComponent派生的圖像畫布的小應用程序</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;            <p>public class TestApplet extends JApplet {<br>              public void init() {<br>              Container contentPane = getContentPane();<br>              ImageCanvas imagePanel = new ImageCanvas(<br>              &quot;sphere.gif&quot;,<br>              &quot;a blue sphere&quot;);<br>              imagePanel.setBorder(<br>              BorderFactory.createTitledBorder(&quot;ImageCanvas&quot;));</p>            <p> contentPane.setLayout(new FlowLayout());<br>              contentPane.add(imagePanel);<br>              }<br>              }<br>            </p>            <hr size="1" noshade>            <p align="center"><b>例4-5 為定制Swing組件而重載paintComponent()</b></p>            <hr size="1" noshade>            class ImageCanvas extends JPanel {<br>            ImageIcon icon;            <p> public ImageCanvas(String imageName, String description) {<br>              //icon = new ImageIcon(imageName, description);<br>              icon =new ImageIcon(this.getClass().getResource(imageName),description);<br>              }<br>              public void paintComponent(Graphics g) {<br>              Insets insets = getInsets();<br>              super.paintComponent(g);<br>              icon.paintIcon(this, g, insets.left, insets.top);<br>              }<br>              public Dimension getPreferredSize() {<br>              Insets insets = getInsets();<br>              return new Dimension(<br>              icon.getIconWidth() + insets.left + insets.right, <br>              icon.getIconHeight() + insets.top + insets.bottom);<br>              }<br>              }</p>            <hr size="1" noshade>            <p>&nbsp; </p>            <p>4.3.4 paint、repaint和update方法</p>            <p>&nbsp;</p>            <p> 4.3.5 validate、invalidate和revalidate方法</p>            <p>&nbsp;</p>            <p> 4.3.6 不透明組件與透明組件的比較</p>            <p>&nbsp;</p>            <p align="center"><b>例4-6 不透明測試小應用程序</b></p>            <hr size="1" noshade>            public class OpaqueTest extends JApplet {<br>            public void init() {<br>            Container contentPane = getContentPane();<br>            RainPanel rainPanel = new RainPanel();            <p> ColoredPanel opaque = new ColoredPanel(),<br>              transparent = new ColoredPanel();</p>            <p> // JComponents are opaque by default, so the opaque<br>              // property only needs to be set for transparent<br>              transparent.setOpaque(false);</p>            <p> rainPanel.add(opaque);<br>              rainPanel.add(transparent);</p>            <p> contentPane.add(rainPanel, BorderLayout.CENTER);</p>            <p> }<br>              }</p>            <hr size="1" noshade>            <p align="center"><b>例4-7 不容透明Swing組件</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;            <p>public class OpaqueTest extends JApplet {<br>              public void init() {<br>              Container contentPane = getContentPane();<br>              RainPanel rainPanel = new RainPanel();</p>            <p> ColoredPanel opaque = new ColoredPanel(),<br>              transparent = new ColoredPanel();</p>            <p> // JComponents are opaque by default, so the opaque<br>              // property only needs to be set for transparent<br>              transparent.setOpaque(false);</p>            <p> rainPanel.add(opaque);<br>              rainPanel.add(transparent);</p>            <p> contentPane.add(rainPanel, BorderLayout.CENTER);</p>            <p> System.out.println(opaque.isOpaque());<br>              System.out.println(transparent.isOpaque());<br>              }<br>              }<br>              class RainPanel extends JPanel {<br>              ImageIcon rain = new ImageIcon(this.getClass().getResource(&quot;rain.gif&quot;));<br>              private int rainw = rain.getIconWidth();<br>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利电影一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲一区精品在线| 日韩免费观看2025年上映的电影| 国产成人啪免费观看软件| 亚洲精品国产一区二区精华液| 欧美视频在线一区二区三区 | 91免费视频网址| 久久精品国产99久久6| 亚洲毛片av在线| 欧美一区三区四区| 97精品超碰一区二区三区| 亚洲伊人色欲综合网| 国产精品女主播av| 2017欧美狠狠色| 日韩欧美一区二区三区在线| 91黄色免费观看| 久久国产生活片100| 国产清纯在线一区二区www| 欧美日韩一区二区三区不卡| 99综合影院在线| 国产成人午夜精品5599| 国产乱子伦一区二区三区国色天香| 国产精品久久久久久亚洲伦| 欧美日韩一区三区四区| 国产中文字幕精品| 日韩精品一二区| 亚洲高清三级视频| 亚洲欧美日韩小说| 亚洲欧美日韩国产成人精品影院| 中文字幕二三区不卡| 亚洲欧美偷拍另类a∨色屁股| 国产精品不卡一区二区三区| 国产精品高潮呻吟| 国产精品无人区| 国产欧美日产一区| 欧美性猛交一区二区三区精品| 国产综合色在线视频区| 亚洲三级视频在线观看| 亚洲国产精华液网站w| 精品视频免费在线| 欧美日韩一区 二区 三区 久久精品| 欧美日韩情趣电影| 日韩视频免费直播| 精品久久99ma| 久久久噜噜噜久噜久久综合| 国产欧美日韩在线| 欧美激情资源网| 亚洲免费在线视频一区 二区| 亚洲免费观看在线观看| 蜜臀久久99精品久久久画质超高清 | 午夜精品久久久久久久蜜桃app| 午夜影视日本亚洲欧洲精品| 午夜国产精品影院在线观看| 青娱乐精品视频| 国产91丝袜在线播放0| 国产激情91久久精品导航| 91小视频在线观看| 91精品国产品国语在线不卡| 日韩精品一区二区在线观看| 1000部国产精品成人观看| 美女视频免费一区| 国产精品一区二区久久不卡 | 精品欧美一区二区三区精品久久| 欧美激情一区不卡| 日韩精品三区四区| 99视频在线观看一区三区| 欧美日韩在线观看一区二区| 欧美日韩一级片在线观看| 国产精品看片你懂得| 久久99九九99精品| 久久精品一区二区三区av| 国产一区二区视频在线| 亚洲综合自拍偷拍| 欧美另类久久久品| 国产一区二区三区在线观看免费| 精品久久五月天| 久久国产综合精品| 国产日韩成人精品| 97精品国产97久久久久久久久久久久| 国产日韩欧美制服另类| 国产一区在线视频| 国产精品成人在线观看| 91高清视频在线| 亚洲成人一区在线| 欧美区在线观看| 日韩成人一区二区| 国产片一区二区| 欧美日高清视频| 国产一区二区三区综合| 亚洲视频中文字幕| 欧美视频完全免费看| 首页国产欧美日韩丝袜| 制服丝袜中文字幕亚洲| 久色婷婷小香蕉久久| 中文字幕日韩一区| 91黄色小视频| 高清国产一区二区| 精品一区二区三区久久| 国产日韩欧美a| 欧美午夜精品理论片a级按摩| 国产精品自在欧美一区| 婷婷开心激情综合| 国产精品乱人伦中文| 日韩欧美专区在线| 国产成人精品三级| 一区二区三区丝袜| 亚洲图片欧美激情| 国产午夜亚洲精品午夜鲁丝片| 欧美一区二区三级| 欧美日韩一区视频| 91在线视频免费91| 成人自拍视频在线观看| 免费看欧美女人艹b| 亚洲人成小说网站色在线| 久久综合久久综合九色| 91无套直看片红桃| 亚洲成人免费观看| 尤物av一区二区| 国产欧美日产一区| 久久久国际精品| 色综合久久久久综合| 成人爱爱电影网址| 国产一区二区导航在线播放| 青青草国产精品亚洲专区无| 亚洲成人免费视频| 午夜视频在线观看一区二区三区| 中文字幕欧美一| 综合网在线视频| 最新国产成人在线观看| 2017欧美狠狠色| 国产精品久久久久天堂| 亚洲欧美日韩国产中文在线| 亚洲蜜桃精久久久久久久| 中文字幕在线视频一区| 中文字幕乱码久久午夜不卡| 久久综合九色综合欧美98| 久久久噜噜噜久噜久久综合| 欧美国产欧美亚州国产日韩mv天天看完整 | 日韩你懂的在线播放| 国产日韩欧美精品综合| 亚洲夂夂婷婷色拍ww47| 久久aⅴ国产欧美74aaa| 91蜜桃网址入口| 欧美一区二区三区在线| 亚洲精品在线观看网站| 亚洲一区二区三区自拍| 国产成人亚洲精品狼色在线| 欧美喷水一区二区| 国产精品成人免费在线| 麻豆专区一区二区三区四区五区| 国产.欧美.日韩| 日韩一区二区三区免费看| 国产亲近乱来精品视频| 麻豆91免费观看| 欧美精品tushy高清| 亚洲午夜影视影院在线观看| 成人国产电影网| 久久精品在这里| 粉嫩av一区二区三区在线播放| 国产亚洲va综合人人澡精品| 日韩av电影天堂| 欧美日韩国产精选| 亚洲va天堂va国产va久| 欧美午夜精品免费| 婷婷一区二区三区| 国产欧美日韩三区| 色天使色偷偷av一区二区| 一二三四社区欧美黄| 97se亚洲国产综合自在线不卡 | 国产精品福利在线播放| 欧美在线|欧美| 久久国产精品第一页| 555夜色666亚洲国产免| 精品99一区二区| jvid福利写真一区二区三区| 亚洲一区二区不卡免费| 久久99国产精品成人| 在线观看成人免费视频| 国产精品一卡二卡| 图片区日韩欧美亚洲| 一区二区三区四区蜜桃| 国产人伦精品一区二区| 色婷婷av一区二区| 国产精品1024| 亚洲午夜电影在线观看| 2017欧美狠狠色| 欧美视频完全免费看| 成人在线视频首页| 免费在线观看日韩欧美| 日韩久久一区二区| 欧美精品一区在线观看| 欧美视频一区在线观看| 国产精品亚洲成人| 亚洲综合男人的天堂| 一区视频在线播放| 久久久久久**毛片大全| 5月丁香婷婷综合| av网站免费线看精品| 青青草成人在线观看|