亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日本亚洲免费观看| 国产成人av电影在线观看| 久久久久久久久久久久久夜| 欧洲色大大久久| 狠狠色伊人亚洲综合成人| 亚洲天堂福利av| 日韩免费看网站| 欧美性猛交xxxx乱大交退制版 | 国产午夜精品久久久久久免费视 | 日韩午夜av电影| 91美女片黄在线观看91美女| 国产精品一区免费视频| 日韩电影免费在线| 亚洲第一在线综合网站| 亚洲欧美另类图片小说| 日本一区二区三区视频视频| 精品国产乱子伦一区| 欧美日韩国产首页| 欧美无乱码久久久免费午夜一区 | 欧美日韩小视频| 3atv在线一区二区三区| 日本道色综合久久| 99精品视频一区| 成人免费的视频| 国产成人99久久亚洲综合精品| 免费观看一级欧美片| 午夜成人在线视频| 亚洲成人av资源| 夜夜精品视频一区二区| 亚洲美女精品一区| 亚洲欧洲成人自拍| 亚洲国产精品99久久久久久久久 | 在线中文字幕一区| 国产午夜一区二区三区| 中文字幕综合网| 欧美精品第1页| 欧美另类久久久品| 欧美三级午夜理伦三级中视频| 色婷婷综合久久久中文一区二区 | 久久久蜜臀国产一区二区| 日韩欧美在线综合网| 欧美一二三四在线| 欧美一区二区精美| 日韩欧美自拍偷拍| www国产精品av| 精品久久久久久久久久久久久久久| 欧美一区二区国产| 精品国产成人系列| 久久蜜臀中文字幕| 国产人伦精品一区二区| 日本一区二区三级电影在线观看| 欧美国产日韩精品免费观看| 欧美国产欧美亚州国产日韩mv天天看完整| 久久色视频免费观看| 日本一区二区三区在线不卡| 中文字幕一区二区三区乱码在线| 中文字幕亚洲成人| 亚洲最大成人网4388xx| 亚欧色一区w666天堂| 另类小说图片综合网| 国产精品一级二级三级| thepron国产精品| 一道本成人在线| 91精品在线一区二区| 精品国产乱码久久久久久牛牛 | 国内成人精品2018免费看| 国产伦理精品不卡| av毛片久久久久**hd| 欧美亚洲愉拍一区二区| 日韩亚洲欧美一区二区三区| 久久精品无码一区二区三区| 自拍偷拍亚洲欧美日韩| 偷偷要91色婷婷| 国产成人亚洲综合a∨婷婷| 色综合久久66| 日韩三级视频中文字幕| 欧美国产精品专区| 亚洲 欧美综合在线网络| 国内精品免费在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一卡2卡三卡4卡5免费| 国产农村妇女毛片精品久久麻豆| 亚洲成人免费在线| 一区二区三区中文字幕| 欧美亚洲国产怡红院影院| 欧美色偷偷大香| 久久久三级国产网站| 亚洲国产美女搞黄色| 亚洲一区二区三区视频在线播放| 日本成人在线视频网站| 99久久99久久精品免费观看| 欧美一级欧美三级在线观看| 亚洲欧洲另类国产综合| 免播放器亚洲一区| 色一情一伦一子一伦一区| 久久久www成人免费毛片麻豆| 亚洲一线二线三线视频| 成人v精品蜜桃久久一区| 日韩欧美资源站| 亚洲444eee在线观看| 99re视频精品| 国产日韩欧美一区二区三区乱码 | 欧美色爱综合网| 国产精品灌醉下药二区| 精品一区二区三区免费视频| 欧美欧美午夜aⅴ在线观看| 国产精品视频一二三区| 青青草国产精品97视觉盛宴| 欧美艳星brazzers| 中文字幕在线观看一区二区| 国产一二三精品| 精品久久久久久亚洲综合网| 婷婷综合另类小说色区| 色婷婷综合激情| 国产精品国产三级国产普通话蜜臀 | 亚洲愉拍自拍另类高清精品| 国产成人在线免费| 精品国产成人在线影院| 日韩高清不卡一区| 欧美亚洲国产怡红院影院| 亚洲老司机在线| 99精品视频一区二区三区| 欧美激情综合五月色丁香小说| 激情综合五月天| 日韩一二三区视频| 日韩高清在线一区| 在线播放一区二区三区| 亚洲综合激情另类小说区| 在线中文字幕一区| 亚洲午夜激情网页| 日本高清不卡一区| 亚洲精品国产一区二区精华液| 成人激情开心网| 国产精品免费久久| 成人一级视频在线观看| 国产精品久久久久久久第一福利 | 成人毛片视频在线观看| 国产蜜臀97一区二区三区| 国产91精品露脸国语对白| 国产婷婷色一区二区三区| 国产99久久久国产精品免费看| 国产日韩欧美高清在线| 波多野结衣在线aⅴ中文字幕不卡| 国产人伦精品一区二区| 波多野结衣亚洲| 一区二区三区中文字幕电影| 欧美在线观看视频一区二区三区| 亚洲伊人伊色伊影伊综合网| 在线综合+亚洲+欧美中文字幕| 久热成人在线视频| 久久久久久毛片| 99久久99久久精品免费观看| 亚洲福利视频一区二区| 日韩免费电影网站| 国产成人精品免费在线| 亚洲蜜臀av乱码久久精品 | 精品视频在线视频| 日韩中文字幕1| 久久久久久电影| 91色在线porny| 一个色妞综合视频在线观看| 91精品欧美久久久久久动漫| 麻豆精品在线播放| 中文字幕av一区 二区| 91成人网在线| 久久99国产精品尤物| 国产精品久久久久四虎| 91香蕉视频在线| 天天av天天翘天天综合网| 欧美精品一区二| www.久久久久久久久| 亚洲bdsm女犯bdsm网站| 久久亚洲精品国产精品紫薇| 99久久精品国产精品久久| 丝袜脚交一区二区| 欧美国产日本视频| 欧美日本精品一区二区三区| 国产呦精品一区二区三区网站| 亚洲三级在线免费观看| 日韩精品中文字幕在线一区| 99热精品一区二区| 日本不卡免费在线视频| 亚洲欧洲成人av每日更新| 日韩欧美中文字幕制服| 91免费观看在线| 久久99日本精品| 亚洲妇熟xx妇色黄| 国产精品水嫩水嫩| 亚洲男同性恋视频| 日韩精品中文字幕一区二区三区 | 久久精品这里都是精品| 日本道精品一区二区三区| 国产在线精品一区在线观看麻豆| 一区二区三区国产豹纹内裤在线| 精品国产伦理网| 欧美人与禽zozo性伦| 不卡的av在线| 国产美女在线精品| 日韩av中文字幕一区二区| 亚洲欧洲韩国日本视频|