home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / May / JBUILDER / JSAMPLES.Z / Stylepad.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-30  |  4.9 KB  |  119 lines

  1. import com.sun.java.swing.AbstractButton;
  2. import com.sun.java.swing.Action;
  3. import com.sun.java.swing.ImageIcon;
  4. import com.sun.java.swing.JComboBox;
  5. import com.sun.java.swing.JFrame;
  6. import com.sun.java.swing.JMenu;
  7. import com.sun.java.swing.JMenuItem;
  8. import com.sun.java.swing.JTextPane;
  9. import com.sun.java.swing.text.DefaultStyledDocument;
  10. import com.sun.java.swing.text.JTextComponent;
  11. import com.sun.java.swing.text.StyleContext;
  12. import com.sun.java.swing.text.StyledEditorKit;
  13. import com.sun.java.swing.text.TextAction;
  14. import java.awt.BorderLayout;
  15. import java.awt.Color;
  16. import java.awt.Component;
  17. import java.awt.Frame;
  18. import java.awt.Window;
  19. import java.util.Locale;
  20. import java.util.MissingResourceException;
  21. import java.util.ResourceBundle;
  22.  
  23. public class Stylepad extends Notepad {
  24.    private static ResourceBundle resources;
  25.  
  26.    public static void main(String[] var0) {
  27.       String var1 = System.getProperty("java.version");
  28.       if (var1.compareTo("1.1.2") < 0) {
  29.          System.out.println("!!!WARNING: Swing must be run with a 1.1.2 or higher version VM!!!");
  30.       }
  31.  
  32.       JFrame var2 = new JFrame();
  33.       ((Frame)var2).setTitle(resources.getString("Title"));
  34.       ((Component)var2).setBackground(Color.lightGray);
  35.       var2.getContentPane().setLayout(new BorderLayout());
  36.       var2.getContentPane().add("Center", new Stylepad());
  37.       ((Window)var2).addWindowListener(new Notepad$AppCloser());
  38.       ((Window)var2).pack();
  39.       ((Component)var2).setSize(600, 480);
  40.       ((Window)var2).show();
  41.    }
  42.  
  43.    public Action[] getActions() {
  44.       Action[] var1 = new Action[]{new Stylepad$NewAction(this), new Stylepad$OpenAction(this), new Stylepad$SaveAction(this)};
  45.       return TextAction.augmentList(super.getActions(), var1);
  46.    }
  47.  
  48.    protected String getResourceString(String var1) {
  49.       String var2;
  50.       try {
  51.          var2 = resources.getString(var1);
  52.       } catch (MissingResourceException var3) {
  53.          var2 = super.getResourceString(var1);
  54.       }
  55.  
  56.       return var2;
  57.    }
  58.  
  59.    protected JTextComponent createEditor() {
  60.       StyleContext var1 = new StyleContext();
  61.       DefaultStyledDocument var2 = new DefaultStyledDocument(var1);
  62.       this.initDocument(var2, var1);
  63.       return new JTextPane(var2);
  64.    }
  65.  
  66.    protected JMenu createMenu(String var1) {
  67.       return var1.equals("color") ? this.createColorMenu() : super.createMenu(var1);
  68.    }
  69.  
  70.    JMenu createColorMenu() {
  71.       JMenu var3 = new JMenu(this.getResourceString("colorLabel"));
  72.       JMenuItem var2 = new JMenuItem(resources.getString("Red"));
  73.       ((AbstractButton)var2).setHorizontalTextPosition(4);
  74.       ((AbstractButton)var2).setIcon(new Stylepad$ColoredSquare(this, Color.red));
  75.       StyledEditorKit.ForegroundAction var1 = new StyledEditorKit.ForegroundAction("set-foreground-red", Color.red);
  76.       ((AbstractButton)var2).addActionListener(var1);
  77.       var3.add(var2);
  78.       var2 = new JMenuItem(resources.getString("Green"));
  79.       ((AbstractButton)var2).setHorizontalTextPosition(4);
  80.       ((AbstractButton)var2).setIcon(new Stylepad$ColoredSquare(this, Color.green));
  81.       var1 = new StyledEditorKit.ForegroundAction("set-foreground-green", Color.green);
  82.       ((AbstractButton)var2).addActionListener(var1);
  83.       var3.add(var2);
  84.       var2 = new JMenuItem(resources.getString("Blue"));
  85.       ((AbstractButton)var2).setHorizontalTextPosition(4);
  86.       ((AbstractButton)var2).setIcon(new Stylepad$ColoredSquare(this, Color.blue));
  87.       var1 = new StyledEditorKit.ForegroundAction("set-foreground-blue", Color.blue);
  88.       ((AbstractButton)var2).addActionListener(var1);
  89.       var3.add(var2);
  90.       return var3;
  91.    }
  92.  
  93.    void initDocument(DefaultStyledDocument var1, StyleContext var2) {
  94.       Wonderland var3 = new Wonderland(var1, var2);
  95.       new ImageIcon(resources.getString("aliceGif"));
  96.       var3.loadDocument();
  97.    }
  98.  
  99.    JComboBox createFamilyChoices() {
  100.       JComboBox var1 = new JComboBox();
  101.       String[] var2 = ((Component)this).getToolkit().getFontList();
  102.  
  103.       for(int var3 = 0; var3 < var2.length; ++var3) {
  104.          var1.addItem(var2[var3]);
  105.       }
  106.  
  107.       return var1;
  108.    }
  109.  
  110.    static {
  111.       try {
  112.          resources = ResourceBundle.getBundle("Stylepad", Locale.getDefault());
  113.       } catch (MissingResourceException var0) {
  114.          System.err.println("Stylepad.properties not found");
  115.          System.exit(0);
  116.       }
  117.    }
  118. }
  119.