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

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

?? s23.htm

?? Java2Swingt界面設計
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up.js"></SCRIPT><SCRIPT LANGUAGE="JavaScript" SRC="/-fs0/sys/pop-up-all.js"></SCRIPT><html><head><title>易都網--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,網絡安全,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="s22.htm">上一頁</a>][下一頁]</p>            <p align="center"><b>第23章 定制文本組件</b></p>            <p align="left">  Swing文本建立在由javax.swing.text包的類和接口提供的一個復雜的下層構件之上。一般使用Swing文本組件(在前兩章中介紹)不要求對Swing文本包有很深的了解。但如果要定制文本組件,則要對javax.swing.text包有一個基本的掌握。本章提供了定制通用任務的例子。如彩色文本、設置字符和段落屬性、實現定制視圖等。</p>            <p> <b>23.1 概覽</b></p>            <p>  與其他Swing組件一樣,文本組件由一個模型(Document接口的一個實現)和一個UI代表(javax.swing.plaf.basic.BasicTextUI類的一個擴展)組成。文本組件還使用一個編輯器工具包(EditorKit類的一個擴展)和一個視圖(View類的一個擴展)。圖23-1示出了一個類圖,這個類圖說明了Swing文本域、這個域模型、UI代表、編輯器工具包和視圖之間的靜態關系(注:23.4節“視圖”討論了視圖,所有的文本組件都有一個或多個視圖)。其他的Swing文本組件有類似的類圖。</p>            <p> <b>23.2 屬性集和風格常量</b></p>            <p align="center"><b>例23-1 使用屬性集</b> </p>            <hr noshade size="1">            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.text.*;<br>            import java.util.*;<br>            import java.io.FileReader;            <p>public class Test extends JFrame {<br>              private JTextPane textPane = new JTextPane();<br>              private StyledDocument document = <br>              (StyledDocument)textPane.getDocument();</p>            <p> public Test() {<br>              Container contentPane = getContentPane();<br>              readFile(&quot;text.txt&quot;);<br>              setAttributes();</p>            <p> textPane.setFont(new Font(&quot;Dialog&quot;, Font.PLAIN, 18));<br>              contentPane.add(new JScrollPane(textPane), <br>              BorderLayout.CENTER);<br>              }<br>              private void setAttributes() {<br>              SimpleAttributeSet attributes = new SimpleAttributeSet();</p>            <p> StyleConstants.setForeground(attributes, Color.blue);<br>              StyleConstants.setUnderline(attributes, true);</p>            <p> document.setCharacterAttributes(5,9,attributes,false);</p>            <p> StyleConstants.setForeground(attributes, Color.red);<br>              StyleConstants.setStrikeThrough(attributes, false);</p>            <p> document.setCharacterAttributes(15,9,attributes,true);<br>              }<br>              private void readFile(String filename) {<br>              EditorKit kit = textPane.getEditorKit();<br>              try {<br>              kit.read(new FileReader(filename), document, 0);<br>              }<br>              catch(Exception ex) {<br>              ex.printStackTrace();<br>              }<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(new Test(), <br>              &quot;Setting Attributes&quot;,300,300,450,300);<br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> static {<br>              resources = ResourceBundle.getBundle(<br>              &quot;GJApp&quot;, Locale.getDefault());<br>              };</p>            <p> private GJApp() {}<br>              <br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br>              statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br>              statusArea.add(status);<br>              status.setHorizontalAlignment(JLabel.LEFT);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              static public JPanel getStatusArea() {<br>              return statusArea;<br>              }<br>              static public void showStatus(String s) {<br>              status.setText(s);<br>              }<br>              static Object getResource(String key) {<br>              if(resources != null) {<br>              return resources.getString(key);<br>              }<br>              return null;<br>              }<br>              }</p>            <hr size="1" noshade>            <p>&nbsp; </p>            <p> 23.3 定制動作</p>            <p>&nbsp;</p>            <p align="center"><b>例23-2 實現定制動作</b></p>            <hr noshade size="1">            import java.io.File;<br>            import javax.swing.*;<br>            import javax.swing.text.*;<br>            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;<br>            import java.io.FileReader;            <p>public class Test extends JFrame {<br>              private JTextPane textPane = new JTextPane();<br>              private StyledDocument document = <br>              (StyledDocument)textPane.getDocument();<br>              private StyledEditorKit kit = <br>              (StyledEditorKit)textPane.getEditorKit();<br>              private JColorChooser chooser = new JColorChooser();<br>              private int CharacterMode = 0, ParagraphMode = 1;</p>            <p> public Test() {<br>              Container contentPane = getContentPane();<br>              readFile(&quot;text.txt&quot;);</p>            <p> textPane.setFont(new Font(&quot;Dialog&quot;, Font.PLAIN, 18));</p>            <p> contentPane.add(new JScrollPane(textPane), <br>              BorderLayout.CENTER);</p>            <p> setJMenuBar(createMenuBar());<br>              }<br>              private JMenuBar createMenuBar() {<br>              JMenuBar menuBar = new JMenuBar();<br>              JMenu editMenu = new JMenu(&quot;Edit&quot;);</p>            <p> editMenu.add(new ForegroundFromChooserAction(<br>              &quot;Character Foreground Color ... &quot;,<br>              CharacterMode));</p>            <p> editMenu.add(new ForegroundFromChooserAction(<br>              &quot;Paragraph Foreground Color ... &quot;,<br>              ParagraphMode));</p>            <p> menuBar.add(editMenu);<br>              return menuBar;<br>              }<br>              private void readFile(String filename) {<br>              try {<br>              kit.read(new FileReader(filename), document, 0);<br>              }<br>              catch(Exception ex) {<br>              ex.printStackTrace();<br>              }<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(new Test(), <br>              &quot;Custom Actions&quot;,300,300,650,275);<br>              }<br>              class ForegroundFromChooserAction <br>              extends StyledEditorKit.StyledTextAction {</p>            <p> protected Color fg;<br>              protected JColorChooser chooser = new JColorChooser();<br>              protected int mode;</p>            <p> public ForegroundFromChooserAction(String nm, int mode) {<br>              super(nm);<br>              this.mode = mode;<br>              }<br>              public void actionPerformed(ActionEvent e) {<br>              JEditorPane editor = getEditor(e);<br>              if (editor != null) {<br>              AttributeSet attributes = <br>              textPane.getCharacterAttributes();<br>              Color c = <br>              StyleConstants.getForeground(attributes);</p>            <p> Color fg = chooser.showDialog(Test.this,<br>              &quot;Choose Color for Text&quot;,<br>              c == null ? Color.black : c);<br>              /*<br>              if ((e != null) &amp;&amp; (e.getSource() == editor)) {<br>              String s = e.getActionCommand();<br>              try {<br>              fg = Color.decode(s);<br>              } <br>              catch(NumberFormatException ex) {<br>              ex.printStackTrace();<br>              }<br>              }<br>              */<br>              if (fg != null) {<br>              MutableAttributeSet attr = <br>              new SimpleAttributeSet();<br>              StyleConstants.setForeground(attr, fg);</p>            <p> if(mode == CharacterMode)<br>              setCharacterAttributes(editor, attr, false);<br>              else<br>              setParagraphAttributes(editor, attr, false);</p>            <p> textPane.setCaretPosition(<br>              textPane.getSelectionStart());<br>              } else {<br>              Toolkit.getDefaultToolkit().beep();<br>              }<br>              }<br>              }<br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> static {<br>              resources = ResourceBundle.getBundle(<br>              &quot;GJApp&quot;, Locale.getDefault());<br>              };</p>            <p> private GJApp() {}<br>              <br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国产免费看| 成人国产精品免费观看动漫| 国产日韩欧美精品综合| 日本道色综合久久| 国产在线国偷精品免费看| 国产精品日韩精品欧美在线| 欧美精品久久99久久在免费线| 国产精品沙发午睡系列990531| 欧美视频你懂的| 成人精品视频网站| 久久国产精品区| 亚洲va中文字幕| 国产精品久久久久久久岛一牛影视| 日韩欧美www| 欧美亚洲日本一区| av成人老司机| 国产**成人网毛片九色| 麻豆一区二区在线| 日日夜夜精品免费视频| 亚洲视频一区二区在线观看| 国产午夜精品久久久久久免费视| 91精品在线免费| 欧美日韩另类一区| 欧美亚洲综合另类| 在线精品视频免费观看| 99久久综合99久久综合网站| 国产99久久久久久免费看农村| 精品影视av免费| 久久精品国产999大香线蕉| 天堂va蜜桃一区二区三区 | 视频一区二区三区中文字幕| 亚洲精品国产视频| 中文字幕一区二区在线观看| 国产精品午夜电影| 国产午夜亚洲精品不卡| 国产网红主播福利一区二区| 精品99999| 久久综合九色综合97_久久久| 欧美一级一区二区| 日韩视频一区二区三区| 欧美一级高清片| 精品精品国产高清一毛片一天堂| 欧美xxxxxxxx| 欧美主播一区二区三区美女| 色综合色综合色综合色综合色综合 | 美女网站在线免费欧美精品| 日日夜夜精品视频天天综合网| 天天亚洲美女在线视频| 日本va欧美va精品发布| 美日韩一区二区| 精品一区二区三区在线播放视频| 激情综合色播激情啊| 国产精品99久久不卡二区| 国产高清久久久| 99久久精品国产精品久久| 97久久超碰精品国产| 欧美在线免费视屏| 欧美一区二区三区四区在线观看 | 成人在线综合网站| 91在线云播放| 欧美吞精做爰啪啪高潮| 欧美精品18+| wwwwww.欧美系列| 日韩一区在线播放| 亚洲成a人在线观看| 麻豆极品一区二区三区| 高潮精品一区videoshd| 一本色道久久综合狠狠躁的推荐| 欧美自拍偷拍一区| 久久天天做天天爱综合色| 国产精品久久久久一区 | 亚洲午夜三级在线| 日韩成人dvd| 国产91对白在线观看九色| 在线观看网站黄不卡| 日韩一级免费一区| 亚洲欧洲精品一区二区三区| 亚洲女人小视频在线观看| 一本久久精品一区二区| 中文字幕一区二区三区精华液| 尤物在线观看一区| 久久精品噜噜噜成人av农村| 99久久综合国产精品| 日韩一级欧美一级| 亚洲私人黄色宅男| 美腿丝袜一区二区三区| 色综合咪咪久久| 自拍偷拍国产精品| 日韩国产精品91| av成人动漫在线观看| 欧美成人伊人久久综合网| 综合色天天鬼久久鬼色| 久久成人免费电影| 在线欧美一区二区| 欧美高清在线精品一区| 亚洲午夜视频在线| 成人av动漫在线| 日韩欧美一区二区在线视频| 亚洲婷婷综合久久一本伊一区| 免费成人你懂的| 一本久久a久久免费精品不卡| 久久亚洲综合色| 日本人妖一区二区| 在线欧美小视频| 国产精品美女一区二区三区| 久久国产剧场电影| 欧美精品久久久久久久多人混战 | 亚洲欧美另类综合偷拍| 国产资源在线一区| 欧美丰满美乳xxx高潮www| 亚洲日本va在线观看| 国产激情一区二区三区| 精品欧美一区二区久久| 婷婷久久综合九色综合伊人色| av不卡在线播放| 国产无人区一区二区三区| 精品一区在线看| 欧美一区二区不卡视频| 亚洲一卡二卡三卡四卡无卡久久| 成人亚洲精品久久久久软件| 欧美精品一区二区三区视频| 天堂成人国产精品一区| 欧美裸体bbwbbwbbw| 亚洲一区在线观看免费观看电影高清| 99在线精品免费| 中文字幕制服丝袜成人av| 国产aⅴ综合色| 欧美国产一区视频在线观看| 国产精品一区二区在线播放 | 国产精品三级在线观看| ww亚洲ww在线观看国产| 国产精品网站在线播放| 国产成人av资源| 国产清纯在线一区二区www| 国产一区二区在线免费观看| 日韩精品中午字幕| 美女精品一区二区| 国产精品国产成人国产三级| 成人激情综合网站| 国产精品美女视频| 9色porny自拍视频一区二区| 亚洲欧美综合网| 日本韩国一区二区三区视频| 亚洲一区欧美一区| 欧美色视频一区| 三级在线观看一区二区| 日韩视频一区二区| 国产精品91一区二区| 国产精品国产三级国产普通话蜜臀 | 国产不卡在线播放| 最新不卡av在线| 欧美性猛片xxxx免费看久爱| 午夜久久久影院| 日韩女同互慰一区二区| 夫妻av一区二区| 亚洲日本在线观看| 91精品在线免费观看| 极品少妇xxxx偷拍精品少妇| 国产欧美日本一区二区三区| 成人的网站免费观看| 一区二区视频在线| 制服丝袜av成人在线看| 国产精品亚洲人在线观看| 中文字幕一区二区三区在线播放| 色综合天天综合狠狠| 五月综合激情网| www欧美成人18+| 色欧美日韩亚洲| 免费欧美高清视频| 国产精品久久久久影院色老大| 欧美三级日本三级少妇99| 麻豆国产精品官网| 亚洲国产一区二区a毛片| 午夜欧美在线一二页| 日韩欧美亚洲另类制服综合在线| 国产激情91久久精品导航 | 欧美亚洲一区二区在线观看| 精品一区二区三区不卡| 国产精品免费看片| 91精品免费观看| www.性欧美| 免费的成人av| 一区二区三区免费看视频| 精品奇米国产一区二区三区| 91在线云播放| 加勒比av一区二区| 一级中文字幕一区二区| 久久综合国产精品| 欧美日韩一区二区三区视频| 国产成人午夜片在线观看高清观看| 亚洲精品免费在线播放| 久久你懂得1024| 欧美丰满少妇xxxxx高潮对白| 高清在线不卡av| 美女mm1313爽爽久久久蜜臀| 一区二区三区在线影院| 久久男人中文字幕资源站| 欧美日韩一区二区三区在线| 97久久精品人人做人人爽| 欧美精三区欧美精三区|