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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? s13.htm

?? 書籍主要用于做圖形界面使用里面后好多
?? HTM
?? 第 1 頁 / 共 3 頁
字號(hào):
<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 圖形設(shè)計(jì)卷Ⅱ: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)絡(luò)安全,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="s12.htm">上一頁</a>][<a href="s14.htm">下一頁</a>]</p>            <p align="center"><b>第13章 滾動(dòng)</b></p>            <p>  本章介紹Swing的滾動(dòng)體系結(jié)構(gòu),這個(gè)體系結(jié)構(gòu)包括兩個(gè)輕量Swing容器、一個(gè)Scrollable接口、和一個(gè)JScrollBar類。其中,這兩個(gè)輕量Swing容器是JViewport和JScrollPane,設(shè)計(jì)這個(gè)Scrollable接口來支持有特殊滾動(dòng)需求的組件。<br>                JViewport實(shí)例很少被實(shí)例化,也很少被直接使用,然而,本章仍將用相當(dāng)大的篇幅來介紹JViewport類,因?yàn)樗荢wing滾動(dòng)體系結(jié)構(gòu)的基礎(chǔ)組件。<br>                設(shè)計(jì)JScrollPane組件來替代AWT的重量組件ScrollPane。JScrollPane在AWT的ScrollPane基礎(chǔ)上做了許多改進(jìn),包括具有配置行頭部的能力和具有指定在滾動(dòng)窗格角部組件的能力。<br>                Scrollable接口是為表格、樹、文本組件和列表等包含數(shù)據(jù)行或數(shù)據(jù)列的可滾動(dòng)組件而設(shè)計(jì)的。<br>                JScrollBar組件是一個(gè)用來實(shí)現(xiàn)手動(dòng)滾動(dòng)的滾動(dòng)條。雖然Swing的JScrollPane組件在大多數(shù)滾動(dòng)情況是足夠用了,但是,有時(shí)為了性能或資源的考,還必須實(shí)現(xiàn)手動(dòng)滾動(dòng)。在這種情況下,可以用JScrollBar組件來滾動(dòng)容器的內(nèi)容。             </p>            <p> <b>13.1 JViewport</b></p>            <p>  JViewport類是Swing滾動(dòng)體系結(jié)構(gòu)的基礎(chǔ)。就如它的名字所指出的那樣,JViewport的實(shí)例提供一個(gè)視口,視圖的特定區(qū)域可以顯示在這個(gè)視口中。可以操縱由視口顯示的視圖的位置,以便在不同的時(shí)刻,使不同的視圖區(qū)域出現(xiàn)在這個(gè)視口中。<br>                圖13-1所示的小應(yīng)用程序包含JViewport的一個(gè)實(shí)例,它的視圖是JLabel的一個(gè)實(shí)例。該標(biāo)簽配備了一幅比顯示圖像的視口還要大的圖像。這個(gè)小應(yīng)用程序提供了四個(gè)用于調(diào)整視口中視圖位置的按鈕。<br>                圖13-1中的左圖顯示這個(gè)小應(yīng)用程序開始時(shí)的樣子。右圖顯示出在反復(fù)激活up和left按鈕后,這個(gè)小應(yīng)用程序的梯子。應(yīng)該強(qiáng)調(diào)的是,反復(fù)激活按鈕不是滾動(dòng)視口中視圖最理想的方式,但是它說明了一個(gè)視口是怎樣調(diào)整其視圖位置的。<br>                這個(gè)小應(yīng)用程序創(chuàng)建JViewport的一個(gè)實(shí)例和JLabel的一個(gè)實(shí)例。通過調(diào)用JVieweport.setView()來指定這個(gè)標(biāo)簽作為視口的視圖。這個(gè)小應(yīng)用程序還創(chuàng)建了一個(gè)ControlPanel實(shí)例(它是JPanel的一個(gè)擴(kuò)展),這個(gè)實(shí)例包含了四個(gè)用于滾動(dòng)標(biāo)簽的按鈕。             </p>            <p align="center"><b>例13-1 用JViewport的一個(gè)實(shí)例來滾動(dòng)一幅圖像</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;            <p>public class Test extends JApplet {<br>              public Test() {<br>              Container contentPane = getContentPane();<br>              JViewport viewport = new JViewport();<br>              JPanel view = new JPanel();</p>            <p> view.add(new JLabel(<br>              new ImageIcon(&quot;anjinAndMariko.gif&quot;)));</p>            <p> viewport.setView(view);</p>            <p> contentPane.add(new ControlPanel(viewport), <br>              BorderLayout.NORTH);<br>              contentPane.add(viewport, BorderLayout.CENTER);<br>              }<br>              }<br>              class ControlPanel extends JPanel { <br>              private JViewport viewport;</p>            <p> private JButton[] buttons = {<br>              new JButton(&quot;up&quot;), new JButton(&quot;down&quot;),<br>              new JButton(&quot;left&quot;), new JButton(&quot;right&quot;)<br>              };</p>            <p> public ControlPanel(JViewport vp) {<br>              viewport = vp;</p>            <p> for(int i=0; i &lt; buttons.length; ++i) {<br>              add(buttons[i]);</p>            <p> buttons[i].addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              scroll(e.getActionCommand());<br>              }<br>              });<br>              }<br>              }<br>              private void scroll(String actionCmd) {<br>              Point vp = viewport.getViewPosition();</p>            <p> if(actionCmd.equals(&quot;up&quot;)) vp.y += 5; <br>              else if(actionCmd.equals(&quot;down&quot;)) vp.y -= 5; <br>              else if(actionCmd.equals(&quot;left&quot;)) vp.x += 5; <br>              else if(actionCmd.equals(&quot;right&quot;)) vp.x -= 5; </p>            <p> viewport.setViewPosition(vp);<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 13.1.1 拖動(dòng)視口中的視圖</p>            <p>&nbsp;</p>            <p align="center"><b>例13-2 拖動(dòng)視口中的視圖</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;            <p>public class Test extends JApplet {<br>              public Test() {<br>              Container contentPane = getContentPane();<br>              JLabel label = new JLabel(new ImageIcon(&quot;pic.gif&quot;));<br>              JViewport vp = new JViewport();<br>              ViewportDragListener listener = <br>              new ViewportDragListener(vp);</p>            <p> vp.setView(label);<br>              vp.addMouseListener(listener);<br>              vp.addMouseMotionListener(listener);</p>            <p> contentPane.add(vp, BorderLayout.CENTER);<br>              }<br>              }<br>              class ViewportDragListener extends MouseAdapter<br>              implements MouseMotionListener {<br>              private JViewport viewport;<br>              private Point last = new Point(), scrollTo = new Point();</p>            <p> public ViewportDragListener(JViewport viewport) {<br>              this.viewport = viewport; <br>              }<br>              public void mousePressed(MouseEvent e) {<br>              last.x = e.getPoint().x;<br>              last.y = e.getPoint().y;<br>              }<br>              public void mouseMoved(MouseEvent e) {<br>              }<br>              public void mouseDragged(MouseEvent e) {<br>              Point drag = e.getPoint();<br>              Point viewPos = viewport.getViewPosition();<br>              Point offset = new Point(drag.x-last.x, drag.y-last.y);<br>              last.x = drag.x;<br>              last.y = drag.y;</p>            <p> if(viewport.contains(drag)) {<br>              scrollTo.x = viewPos.x - offset.x;<br>              scrollTo.y = viewPos.y - offset.y;<br>              viewport.setViewPosition(scrollTo);<br>              }<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 13.1.2 使用scrollRectToVisible</p>            <p>&nbsp;</p>            <p align="center"><b>例13-3 使用scrollRectToVisible()</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.event.*;            <p>public class Test extends JApplet {<br>              private JButton buttons[] = {<br>              new JButton(), new JButton(), new JButton(),<br>              new JButton(), new JButton(), new JButton(),<br>              new JButton(), new JButton(), new JButton(),<br>              new JButton(), new JButton(), new JButton(),<br>              new JButton(), new JButton(), new JButton(),<br>              new JButton(), new JButton(), new JButton(),<br>              };<br>              public Test() {<br>              Container contentPane = getContentPane();<br>              JViewport viewport = new JViewport();<br>              JPanel view = new JPanel();<br>              JPanel controlPanel = new ControlPanel(buttons);</p>            <p> view.setLayout(new GridLayout(0,3));</p>            <p> for(int i=0; i &lt; buttons.length; ++i) {<br>              buttons[i].setText(&quot;button # &quot; + i);<br>              buttons[i].setPreferredSize(new Dimension(150,50));<br>              view.add(buttons[i]);<br>              }</p>            <p> viewport.setView(view);</p>            <p> contentPane.add(controlPanel, BorderLayout.NORTH);<br>              contentPane.add(viewport, BorderLayout.CENTER);<br>              }<br>              }<br>              class ControlPanel extends JPanel { <br>              private JComboBox combo = new JComboBox();</p>            <p> public ControlPanel(final JButton[] buttons) {<br>              add(combo);</p>            <p> for(int i=0; i &lt; buttons.length; ++i) {<br>              combo.addItem(&quot;button number &quot; + i);<br>              }<br>              combo.addItemListener(new ItemListener() {<br>              public void itemStateChanged(ItemEvent e) {<br>              int index = combo.getSelectedIndex();<br>              JButton button = buttons[index];<br>              Dimension size = button.getSize();</p>            <p> buttons[index].scrollRectToVisible(<br>              new Rectangle(0,0, size.width,size.height));<br>              }<br>              });<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 13.1.3 JViewport屬性</p>            <p>&nbsp;</p>            <p> 13.1.4 JViewport事件</p>            <p>&nbsp;</p>            <p align="center"><b>例13-4 對JViewport變化事件的響應(yīng)</b></p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.event.*;            <p>public class Test extends JApplet {<br>              public Test() {<br>              Container contentPane = getContentPane();<br>              JViewport viewport = new JViewport();<br>              JPanel view = new JPanel();</p>            <p> view.add(new JLabel(<br>              new ImageIcon(&quot;anjinAndMariko.gif&quot;)));</p>            <p> viewport.setView(view);</p>            <p> contentPane.add(new ControlPanel(viewport), <br>              BorderLayout.NORTH);<br>              contentPane.add(viewport, BorderLayout.CENTER);<br>              contentPane.add(new StatusPanel(viewport),<br>              BorderLayout.SOUTH);<br>              }<br>              }<br>              class StatusPanel extends JPanel { <br>              private JLabel extentLabel = new JLabel(),<br>              viewPositionLabel = new JLabel(),<br>              viewSizeLabel = new JLabel();<br>              private JViewport viewport;</p>            <p> public StatusPanel(JViewport vp) {<br>              viewport = vp;</p>            <p> setBorder(BorderFactory.createEtchedBorder());<br>              setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));</p>            <p> extentLabel.setAlignmentX(0.5f);<br>              viewPositionLabel.setAlignmentX(0.5f);<br>              viewSizeLabel.setAlignmentX(0.5f);</p>            <p> add(extentLabel);<br>              add(viewPositionLabel);<br>              add(viewSizeLabel);</p>            <p> viewport.addChangeListener(new ChangeListener() {<br>              public void stateChanged(ChangeEvent e) {<br>              Dimension extent = viewport.getExtentSize();<br>              Point viewPosition = viewport.getViewPosition();<br>              Rectangle viewSize = viewport.getViewRect();</p>            <p> extentLabel.setText(&quot;View Extent: &quot; + <br>              extent.toString());<br>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区福利在线| 亚洲欧美另类小说| 亚洲丝袜制服诱惑| 亚洲一区二区三区免费视频| 欧美aaa在线| 国产成人免费在线视频| 99精品偷自拍| 日韩一区二区三区四区 | 亚洲国产日韩a在线播放性色| 日产欧产美韩系列久久99| 国产成人精品影院| 色狠狠一区二区三区香蕉| 日韩欧美国产小视频| 亚洲色图制服丝袜| 久久国产日韩欧美精品| 91视频com| 精品999久久久| 亚洲国产精品久久人人爱蜜臀| 国产黄人亚洲片| 9191国产精品| 亚洲人快播电影网| 韩国一区二区三区| 欧美日韩一级视频| 亚洲欧洲精品一区二区三区不卡| 日韩1区2区日韩1区2区| 色婷婷av一区二区三区gif| 久久久综合网站| 日韩专区在线视频| 色婷婷av一区二区三区之一色屋| 26uuu亚洲| 视频一区中文字幕| av电影在线观看不卡| 精品欧美乱码久久久久久| 亚洲国产精品一区二区尤物区| 国产91在线观看| 欧美变态口味重另类| 亚洲一区二区av在线| av一本久道久久综合久久鬼色| 精品国产不卡一区二区三区| 日韩精品视频网| 欧美色国产精品| 亚洲欧美在线视频| 处破女av一区二区| 久久一日本道色综合| 美国十次了思思久久精品导航| 欧美日韩在线电影| 一区二区三区四区不卡视频| 不卡一区二区在线| 中文字幕不卡在线播放| 国产在线视视频有精品| 欧美成人高清电影在线| 美女精品自拍一二三四| 欧美一级黄色片| 日韩在线一区二区| 欧美日韩视频不卡| 亚洲五月六月丁香激情| 欧美午夜精品一区二区蜜桃| 伊人婷婷欧美激情| 色激情天天射综合网| 亚洲男女一区二区三区| 色激情天天射综合网| 亚洲精品第一国产综合野| 色婷婷精品久久二区二区蜜臀av| 中文字幕一区二区三区在线不卡| 成人一道本在线| 欧美国产精品一区二区三区| 国产iv一区二区三区| 中文子幕无线码一区tr| 99久久国产综合精品麻豆| 亚洲视频一区二区在线| 91蝌蚪国产九色| 一区二区三区小说| 欧美日韩一区高清| 日韩中文字幕av电影| 日韩亚洲欧美在线观看| 国内精品写真在线观看| 26uuu另类欧美亚洲曰本| 国产一区 二区| 国产精品污www在线观看| 99久久国产综合精品女不卡| 一区二区三区四区五区视频在线观看 | 色噜噜偷拍精品综合在线| 一区二区三区小说| 欧美精品视频www在线观看| 天天综合日日夜夜精品| 精品剧情v国产在线观看在线| 国产一区二区三区免费| 国产欧美日本一区视频| 99久久国产综合精品女不卡| 亚洲国产精品久久久男人的天堂| 在线成人免费观看| 精品一区二区久久久| 国产视频一区二区三区在线观看| 欧美视频自拍偷拍| 蜜桃av一区二区在线观看| 久久久久久电影| 一本一道久久a久久精品综合蜜臀| 亚洲一区二区三区三| 日韩午夜激情免费电影| 国产成人免费在线观看| 亚洲男女毛片无遮挡| 欧美一区三区四区| 国产精品性做久久久久久| 亚洲人成精品久久久久久| 欧美精品tushy高清| 国产成人aaa| 亚洲大型综合色站| 国产亚洲欧洲一区高清在线观看| 91欧美一区二区| 日韩二区三区四区| 国产精品乱码人人做人人爱 | 免费在线观看视频一区| 国产人成一区二区三区影院| 在线观看亚洲一区| 久久精品999| 亚洲精品视频免费观看| 日韩一级免费一区| av一二三不卡影片| 美女看a上一区| 亚洲欧美偷拍另类a∨色屁股| 日韩欧美中文字幕制服| 99久久综合狠狠综合久久| 日本欧美在线观看| 成人欧美一区二区三区白人| 91精品国产乱| 一本到三区不卡视频| 国内精品久久久久影院色| 亚洲美女区一区| 亚洲精品在线三区| 欧美三级日韩在线| 成人免费看视频| 久久99精品国产.久久久久| 一区二区三区中文字幕精品精品| 久久婷婷色综合| 欧美美女一区二区在线观看| 风间由美性色一区二区三区| 视频一区欧美精品| 亚洲欧美另类小说视频| 久久精品亚洲一区二区三区浴池| 欧美三级中文字| 波多野结衣在线一区| 韩国中文字幕2020精品| 午夜精品在线看| 一区二区三区四区国产精品| 欧美经典一区二区| 精品国产乱码久久久久久免费 | 午夜激情综合网| 亚洲日本一区二区| 欧美经典一区二区| 精品国产乱码91久久久久久网站| 欧美日韩二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲精品亚洲人成人网在线播放| 欧美精品一区二区精品网| 欧美群妇大交群中文字幕| 一本色道久久综合狠狠躁的推荐 | **性色生活片久久毛片| 久久综合色综合88| 欧美不卡123| 日韩欧美第一区| 日韩欧美一区二区三区在线| 欧美另类一区二区三区| 在线观看视频91| 一本大道久久a久久精二百| 99精品视频一区| 99国产精品久久久| 成人精品一区二区三区中文字幕| 国产精品自产自拍| 国产一区在线视频| 久久99国产精品免费网站| 久久成人av少妇免费| 精品在线播放午夜| 国内精品在线播放| 国产精品中文欧美| 国产精品一区二区三区四区 | 中文字幕不卡在线播放| 中文一区二区完整视频在线观看| 国产欧美一二三区| 国产精品乱人伦| 亚洲欧美日韩一区二区| 樱桃国产成人精品视频| 一区二区在线观看视频| 亚洲一区免费视频| 亚洲成人免费电影| 天天操天天色综合| 日本不卡视频在线观看| 久久电影国产免费久久电影 | 亚洲欧洲日韩在线| 亚洲免费色视频| 亚洲国产日日夜夜| 天堂va蜜桃一区二区三区漫画版| 视频在线在亚洲| 麻豆精品在线观看| 国产乱国产乱300精品| 成人做爰69片免费看网站| 91免费观看国产| 欧美日韩免费电影| 欧美一区二区免费视频| 久久综合一区二区| 国产精品你懂的在线|