Tranvick

Fonts

Jul 4th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.96 KB | None | 0 0
  1. //Текстовый редактор
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.io.*;
  5.  
  6. class MyFrame extends Frame implements ItemListener{
  7.  
  8.     TextArea v;
  9.     Choice fonts, sizes;
  10.     Checkbox bold, italic;
  11.     Font font;
  12.     String FontList[] = {"Dialog", "DialogInput", "Serif"};
  13.     Menu file;
  14.     MenuItem open, exit, kill;
  15.     MenuBar mbar;
  16.    
  17.     public MyFrame(String s) {
  18.        
  19.         addWindowListener(new WindowAdapter() {
  20.             public void windowClosing(WindowEvent we) {
  21.                 System.exit(0);
  22.             }
  23.         });
  24.        
  25.         setLayout(null);
  26.         setTitle(s);
  27.         setSize(new Dimension(800, 350));
  28.         setLocation(200, 200);
  29.         setMinimumSize(new Dimension(390, 150));
  30.         setFont(new Font ("Dialog", 0, 12));
  31.         setVisible(true);
  32.        
  33.         v = new TextArea();
  34.         v.setBounds(20, 50, 760, 240);
  35.         v.setEditable(false);
  36.        
  37.         fonts = new Choice();
  38.         sizes = new Choice();
  39.         for (int i = 0; i < FontList.length; ++i) fonts.add(FontList[i]);
  40.         for (int i = 8; i < 73; ++i) sizes.add("" + i);
  41.         fonts.setSize(200, 20);
  42.         sizes.select(6);
  43.        
  44.         bold = new Checkbox("Bold");
  45.         italic = new Checkbox("Italic");
  46.         bold.setSize(45, 20);
  47.         italic.setSize(45, 20);
  48.        
  49.    
  50.         mbar = new MenuBar();
  51.         file = new Menu("Файл");
  52.         exit = new MenuItem("Закрыть");
  53.         open = new MenuItem("Открыть");
  54.         kill = new MenuItem("Не нажимать");
  55.         file.add(open);
  56.         file.add(kill);
  57.         file.add(exit);
  58.         mbar.add(file);
  59.         MyMenuHandler handler = new MyMenuHandler(this);
  60.         setMenuBar(mbar);
  61.        
  62.         open.addActionListener(handler);
  63.         exit.addActionListener(handler);
  64.         kill.addActionListener(handler);
  65.         bold.addItemListener(this);
  66.         italic.addItemListener(this);
  67.         sizes.addItemListener(this);
  68.         fonts.addItemListener(this);
  69.        
  70.         add(v);
  71.         add(fonts);
  72.         add(sizes);
  73.         add(bold);
  74.         add(italic);
  75.        
  76.     }
  77.  
  78.     public void itemStateChanged(ItemEvent ie) {
  79.         repaint();
  80.     }
  81.    
  82.     public void paint(Graphics g) {
  83.         font = new Font (fonts.getSelectedItem(), (italic.getState()?Font.ITALIC:0)|(bold.getState()?Font.BOLD:0), sizes.getSelectedIndex() + 8);
  84.         v.setFont(font);
  85.         int width = getWidth(), height = getHeight();
  86.         setSize(width, height);
  87.         v.setSize(width - 40, height - 90);
  88.         fonts.setLocation(20, height - 35);
  89.         sizes.setLocation(230, height - 35);
  90.         bold.setLocation(280, height - 35);
  91.         italic.setLocation(335, height - 35);
  92.     }
  93. }
  94.  
  95. class MyDialog extends Dialog implements ActionListener{
  96.    
  97.     public MyDialog (Frame parent, String title) {
  98.         super(parent, title, true);
  99.        
  100.         addWindowListener(new WindowAdapter() {
  101.             public void windowClosing(WindowEvent we) {
  102.                 dispose();
  103.             }
  104.         });
  105.        
  106.         setLayout(null);
  107.         setSize(60, 80);
  108.         setResizable(false);
  109.         Button button = new Button ("Да");
  110.         Label label = new Label ("Ты слепой??");
  111.         button.addActionListener(this);
  112.         label.setBounds(20, 30, 100, 20);
  113.         button.setBounds(30, 50, 40, 20);
  114.         add(label);
  115.         add(button);
  116.         setLocation(parent.getLocation().x + 300, parent.getLocation().y + 150);
  117.         setVisible(true);
  118.     }
  119.    
  120.     public void actionPerformed (ActionEvent ae) {
  121.         dispose();
  122.     }
  123. }
  124.  
  125. class MyMenuHandler implements ActionListener {
  126.     MyFrame frame;
  127.    
  128.     public MyMenuHandler(MyFrame frame) {
  129.         this.frame = frame;
  130.     }
  131.    
  132.     public void actionPerformed(ActionEvent ae){
  133.         String name = ae.getActionCommand();
  134.         if (name.equals("Закрыть")) System.exit(0);
  135.         if (name.equals("Не нажимать")) new MyDialog(frame, "Error");
  136.         if (name.equals("Открыть")) {
  137.             FileDialog fd = new FileDialog(frame, "Выберите файл");
  138.             FileInputStream fin;
  139.             int c;
  140.             String msg ="";
  141.             fd.setVisible(true);
  142.             String file = fd.getDirectory() + fd.getFile();
  143.             try {
  144.                 fin = new FileInputStream (file);
  145.                 do {
  146.                     c = fin.read();
  147.                     if (c != -1) msg += (char) c;
  148.                 } while (c != -1);
  149.                 fin.close();
  150.             } catch (IOException e) {}
  151.             frame.v.setText(msg);
  152.         }
  153.     }
  154. }
  155.  
  156. public class sample8 {
  157.  
  158.     public static void main(String[] args) {
  159.         MyFrame f = new MyFrame("I'm a name");
  160.     }
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment