cerulean

          JTextArea->JTextPane 解決文字對齊方式的問題

          引子只是個小問題,JTextArea多行文本,想設置文字的對齊方式為居中對齊,卻發現死活沒有合適有效的方法,又試了JTextField和JLabel,都不理想。搜了一溜夠看到JTextPane的解決方法,其實真是有點兒大材小用了。JTextPane里可以設置style,對齊方式、字體字號、顏色等等,并且還可以設置style的作用范圍,挺方便的。另外,想把文字區域背景設為透明的也是在API中找了一通,才發現敢情就是setOpacity,呃,對這個單詞實在是太不敏感了。。。。

          把在coderanch上搜的例子貼在這里吧,以防以后忘了:
          import java.awt.*;  
          import javax.swing.*;  
          import javax.swing.text.*;  
             
          public class Styling  
          {  
              
          public Styling()  
              
          {  
                  String text 
          = "To refer to locations within the sequence, the " +  
                                
          "coordinates used are the location between two " +  
                                
          "characters.\nAs the diagram below shows, a location " +  
                                
          "in a text document can be referred to as a position, " +  
                                
          "or an offset. This position is zero-based.";  
             
                  SimpleAttributeSet aSet 
          = new SimpleAttributeSet();   
                  StyleConstants.setForeground(aSet, Color.blue);  
                  StyleConstants.setBackground(aSet, Color.orange);  
                  StyleConstants.setFontFamily(aSet, 
          "lucida bright italic");  
                  StyleConstants.setFontSize(aSet, 
          18);  
             
                  SimpleAttributeSet bSet 
          = new SimpleAttributeSet();  
                  StyleConstants.setAlignment(bSet, StyleConstants.ALIGN_CENTER);  
                  StyleConstants.setUnderline(bSet, 
          true);  
                  StyleConstants.setFontFamily(bSet, 
          "lucida typewriter bold");  
                  StyleConstants.setFontSize(bSet, 
          24);  
             
                  JTextPane textPane 
          = new JTextPane();  
                  textPane.setText(text);  
                  StyledDocument doc 
          = textPane.getStyledDocument();  
                  doc.setCharacterAttributes(
          105, doc.getLength()-105, aSet, false);  
                  doc.setParagraphAttributes(
          0104, bSet, false);  
             
                  JFrame f 
          = new JFrame();  
                  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                  f.add(
          new JScrollPane(textPane));  
                  f.setSize(
          400,400);  
                  f.setLocation(
          200,200);  
                  f.setVisible(
          true);  
              }
            
             
              
          public static void main(String[] args)  
              
          {  
                  
          new Styling();  
              }
            
          }
            

          posted on 2010-03-10 17:20 cerulean 閱讀(7901) 評論(1)  編輯  收藏 所屬分類: Java

          評論

          # re: JTextArea->JTextPane 解決文字對齊方式的問題 2013-11-25 19:44

          非常好!!!!非常感謝!!!!!!  回復  更多評論   

          導航

          <2010年3月>
          28123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高台县| 息烽县| 汶上县| 龙口市| 会东县| 左权县| 临西县| 迭部县| 德惠市| 德兴市| 神木县| 车致| 兰坪| 嘉禾县| 蒲城县| 正定县| 加查县| 南岸区| 沁阳市| 明水县| 桦南县| 革吉县| 那坡县| 黎川县| 叶城县| 鲁甸县| 凤阳县| 军事| 区。| 沅陵县| 刚察县| 闻喜县| 阳山县| 寻乌县| 平武县| 奇台县| 通州区| 克东县| 乐陵市| 汝城县| 宜章县|