トップ 一覧 ping 検索 ヘルプ RSS ログイン

JTextComponent 4の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!JTextComponet 4
!!!JTextComponent 4

*エディターキットの利用
{{ref_image jtext4.jpg}}

 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Dimension;
 
 import javax.swing.Action;
 import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTextPane;
 import javax.swing.SwingUtilities;
 import javax.swing.text.StyledEditorKit;
 
 /**
  * @see http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html
  */
 public class JTextTest4 {
   private JFrame frame;
   private JTextPane txtPane;
   
   /**
    * StyledEditorKit を利用する
    */
   private JMenu getMenu() {
     JMenu menu = new JMenu("Style");
     Action action = null;
     
     action = new StyledEditorKit.BoldAction();
     action.putValue(Action.NAME, "Bold");
     menu.add(action);
     
     action = new StyledEditorKit.ItalicAction();
     action.putValue(Action.NAME, "Italic");
     menu.add(action);
     
     action = new StyledEditorKit.UnderlineAction();
     action.putValue(Action.NAME, "Underline");
     menu.add(action);
     
     menu.addSeparator();
 
     menu.add(new StyledEditorKit.FontSizeAction("12", 12));
         menu.add(new StyledEditorKit.FontSizeAction("14", 14));
         menu.add(new StyledEditorKit.FontSizeAction("18", 18));
 
         menu.addSeparator();
 
         menu.add(new StyledEditorKit.FontFamilyAction("Serif",     "Serif"));
         menu.add(new StyledEditorKit.FontFamilyAction("SansSerif", "SansSerif"));
 
         menu.addSeparator();
 
         menu.add(new StyledEditorKit.ForegroundAction("Red",   Color.red));
         menu.add(new StyledEditorKit.ForegroundAction("Green", Color.green));
         menu.add(new StyledEditorKit.ForegroundAction("Blue",  Color.blue));
         menu.add(new StyledEditorKit.ForegroundAction("Black", Color.black));
 
         return menu;
   }
   private void createUI() {
     frame = new JFrame("TextTest3");
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     txtPane = new JTextPane();
     txtPane.setPreferredSize(new Dimension(200,100));
     
     JPanel basePanel = new JPanel(new BorderLayout());
     basePanel.add(new JScrollPane(txtPane), BorderLayout.CENTER);
 
     // メニューを作成
     JMenu menu = getMenu();
     JMenuBar mb = new JMenuBar();
     mb.add(menu);
     frame.setJMenuBar(mb);
     
     frame.getContentPane().add(basePanel);
     frame.pack();
     frame.setVisible(true);
   }
   public static void main(String[] args) {
     SwingUtilities.invokeLater(
         new Runnable(){
           public void run() {
             JTextTest4 jft = new JTextTest4();
             jft.createUI();
           }
         }
     );
   }
 }