Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Myra WebTools - WorkSpace.java

WorkSpace.java

Caricato da: Ht-never
Scarica il programma completo

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. import javax.swing.*;
  7. import javax.swing.border.TitledBorder;
  8. import javax.swing.text.html.HTMLEditorKit;
  9.  
  10. import Func.Global;
  11. import MyraTools.RoundManager;
  12.  
  13.  
  14.  
  15. @SuppressWarnings("serial")
  16. public class WorkSpace extends Frame {
  17.  
  18.    // variabili Menu
  19.    Menu file= new Menu("File"); Menu edit= new Menu("Edit");
  20.    Menu help= new Menu("Help"); Menu win= new Menu("Window");
  21.    MenuBar barra = new MenuBar();
  22.    String now_running = "HTML Visual Editor";
  23.    // variabili dei pannelli
  24.    Calc calc = new Calc();
  25.    TitledBorder bordo_calc = BorderFactory.createTitledBorder("Calcola" +
  26.    "trice");
  27.    Appunti text = new Appunti();
  28.    TitledBorder bordo_text = BorderFactory.createTitledBorder("Appunti");
  29.    HtmlWidget html = new HtmlWidget();
  30.    TitledBorder bordo_html = BorderFactory.createTitledBorder("Editor");
  31.    Desktop desktop = new Desktop();
  32.    TitledBorder bordo_desktop = BorderFactory.createTitledBorder("Desktop");
  33.    TextEdit textedit = new TextEdit();
  34.    TitledBorder bordo_textedit = BorderFactory.createTitledBorder("Text " +
  35.                 "Editor");
  36.    CodeEditor code = new CodeEditor();
  37.    TitledBorder bordo_code = BorderFactory.createTitledBorder("Code Editor");
  38.    JPanel other = new JPanel();
  39.    TitledBorder bordo_other = BorderFactory.createTitledBorder("Other Tools");
  40.    
  41.    // costruttore del WorkSpace
  42.    public WorkSpace(String title) {
  43.  
  44.         // setup del menu
  45.         other = setPanel(other);
  46.         setupEventi();
  47.         setLayout(null);
  48.         setBackground(Color.gray);
  49.         textedit.setVisible(false);
  50.         code.setVisible(false);
  51.         other.setVisible(new Boolean(false));
  52.         setTitle(title);
  53.        
  54.         // attachement al menu
  55.     file.add(Global.apri); file.add(Global.salva);
  56.     file.add(Global.chiudi); file.addSeparator();
  57.     file.add("Menu Uscita"); file.addSeparator();
  58.     file.add(Global.esci);
  59.     textedit.edit.setEditorKit(new HTMLEditorKit());
  60.     textedit.edit.setText("<html><b>");
  61.    
  62.     edit.add(Global.taglia); edit.add(Global.copia);edit.add(Global.incolla);
  63.     edit.add(Global.cancella); edit.addSeparator(); edit.add(Global.cerca);
  64.     edit.add(Global.rimpiazza);
  65.    
  66.     win.add(Global.addwin); win.addSeparator();
  67.     win.add(Global.calcpp); help.add(Global.aiuto); barra.add(file);
  68.     barra.add(edit); barra.add(win); barra.setHelpMenu(help);
  69.    
  70.     setMenuBar(barra);
  71.     add(calc); add(text); add(html); add(textedit);
  72.     add(desktop); add(code); add(other);
  73.    
  74.     setupElementi();
  75.     doLayout();
  76.     pack();
  77.     addWindowListener(new WorkSpaceWindowListener());
  78.  }
  79.  public void setupElementi() {
  80.    calc.setBounds(80,100,220,300);
  81.    calc.setBorder(bordo_calc);
  82.    calc.setBackground(Color.gray);
  83.    text.setBounds(80,420,220,200);
  84.    text.setBorder(bordo_text);
  85.    text.setBackground(Color.gray);
  86.    html.setBounds(370,100,700,520);
  87.    html.setBorder(bordo_html);
  88.    html.setBackground(Color.gray);
  89.    desktop.setBounds(1100,100,200,220);
  90.    desktop.setBorder(bordo_desktop);
  91.    desktop.setBackground(Color.gray);
  92.    textedit.setBounds(370,100,700,520);
  93.    textedit.setBorder(bordo_textedit);
  94.    textedit.setBackground(Color.gray);
  95.    code.setBounds(370,100,700,520);
  96.    code.setBorder(bordo_code);
  97.    code.setBackground(Color.gray);
  98.    other.setBounds(370,100,700,520);
  99.    other.setBorder(bordo_code);
  100.    other.setBackground(Color.gray);
  101.  }
  102.  public static void Run()
  103.  {
  104.    WorkSpace new_wrk = new WorkSpace("");
  105.    Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
  106.    new_wrk.setTitle("MagicStick(c) Myra Tools beta");
  107.    new_wrk.setSize(size);
  108.    new_wrk.setVisible(true);
  109.  }
  110.  class AscoltatoreMenu implements ActionListener
  111.  {
  112.    @SuppressWarnings("unused")
  113.    public void actionPerformed (ActionEvent e) {
  114.          System.out.println(e.getActionCommand());
  115.      if (e.getActionCommand().compareTo("Esci")==0) {
  116.          System.exit(0);
  117.      }
  118.      else if(e.getActionCommand().compareTo("Nuova Area")==0) {
  119.          WorkSpace new_space = new WorkSpace("MagicStick Myra Tools");
  120.          new_space.setBounds(0,0,1760,720);
  121.          new_space.setVisible(true);
  122.      }
  123.      else if(e.getActionCommand().compareTo("Calcolatrice")==0) {
  124.          Finestramenu.Run();
  125.      }
  126.      else if(e.getActionCommand().compareTo("Visual HTML Editor")==0) {
  127.                   html.setVisible(true);
  128.           textedit.setVisible(false);
  129.           code.setVisible(false);
  130.           other.setVisible(false);
  131.                   doLayout();
  132.      }
  133.      else if(e.getActionCommand().compareTo("Text Editor")==0) {
  134.           textedit.setVisible(true);
  135.               html.setVisible(false);
  136.               code.setVisible(false);
  137.           other.setVisible(false);
  138.                   doLayout();
  139.      }
  140.      else if(e.getActionCommand().compareTo("Other Tools")==0) {
  141.               other.setVisible(true);
  142.               textedit.setVisible(false);
  143.               html.setVisible(false);
  144.               code.setVisible(false);
  145.                   doLayout();
  146.      }
  147.      else if(e.getActionCommand().compareTo("Code Editor")==0) {
  148.          code.setVisible(true);
  149.          html.setVisible(false);
  150.          textedit.setVisible(false);
  151.              other.setVisible(false);
  152.      }
  153.      else if(e.getActionCommand().compareTo("Salva")==0) {
  154.          if(isHTMLEditor()) {
  155.                  SaveFileWindow save = new
  156.                  SaveFileWindow(html.htmlTextArea.getText());
  157.          }
  158.          else if(isVisualEditor()) {
  159.                  SaveFileWindow save = new
  160.                  SaveFileWindow(textedit.edit.getText());
  161.          }
  162.          else if(isCodeEditor()) {
  163.                  SaveFileWindow save = new
  164.                  SaveFileWindow(code.field.getText());
  165.          }
  166.      }
  167.      if(e.getActionCommand().compareTo("Apri")==0) {
  168.          SaveFileWindow save = new SaveFileWindow();
  169.          File a = save.OpenFileWindow();
  170.          String s = new String();
  171.          if(isVisualEditor()) {
  172.                 try {
  173.                                 s = save.ReadFile(a.getAbsolutePath());
  174.                         } catch (IOException e1) {
  175.                                 e1.printStackTrace();
  176.                         }
  177.                 textedit.edit.setText(s);
  178.          }
  179.          else if(isHTMLEditor()){
  180.                 try {
  181.                                 s = save.ReadFile(a.getAbsolutePath());
  182.                         } catch (IOException e1) {
  183.                                 e1.printStackTrace();
  184.                         }
  185.                 html.htmlTextArea.setText(s);
  186.          }
  187.          else if(isCodeEditor()){
  188.                 try {
  189.                                 s = save.ReadFile(a.getAbsolutePath());
  190.                         } catch (IOException e1) {
  191.                                 e1.printStackTrace();
  192.                         }
  193.                 code.field.setText(s);
  194.          }
  195.      }
  196.      else if(e.getActionCommand().compareTo("Chiudi")==0) {
  197.          html.htmlTextArea.setText("");
  198.          textedit.edit.setText("");
  199.      }
  200.      else if(e.getActionCommand().compareTo("Indice")==0) {
  201.          Help.RunAll();
  202.      }
  203.    }
  204.  }
  205.  class WorkSpaceWindowListener implements WindowListener {
  206.    public void windowActivated(WindowEvent e) {
  207.      //System.out.println("WindowLoop@: Window Activated");
  208.    }
  209.    public void windowClosed(WindowEvent e) {
  210.      //System.out.println("WindowLoop@: Window Closed");
  211.    }
  212.    public void windowClosing(WindowEvent e) {
  213.      //System.out.println("WindowLoop@: Window Closing");
  214.      System.exit(0);
  215.    }
  216.    public void windowDeactivated(WindowEvent e) {
  217.      //System.out.println("WindowLoop@: Window Deactivaded");
  218.    }
  219.    public void windowDeiconified(WindowEvent e) {
  220.      //System.out.println("WindowLoop@: Window Deiconified");
  221.    }
  222.    public void windowIconified(WindowEvent e) {
  223.      //System.out.println("WindowLoop@: Window Iconified");
  224.    }
  225.    public void windowOpened(WindowEvent e) {
  226.      //System.out.println("WindowLoop@: Window Opened");
  227.    }
  228.   }
  229.   public void setDesktop(String desk) {
  230.           if(desk.compareTo("Text Editor")==0) {
  231.                   now_running = "Visual Editor";
  232.                   remove(html);
  233.                   add(textedit);
  234.                   doLayout();
  235.           }
  236.           if(desk.compareTo("HTML Visual Editor")==0) {
  237.                   now_running = "HTML Visual Editor";
  238.                   add(html);
  239.                   remove(textedit);
  240.                   doLayout();
  241.           }
  242.           if(desk.compareTo("Code Editor")==0) {
  243.                   now_running = "Code Editor";
  244.           }
  245.   }
  246.   public boolean isVisualEditor() {
  247.           if(now_running.compareTo("Visual Editor")==0) {
  248.                   return true;
  249.           }
  250.           else {
  251.                   return false;
  252.           }
  253.   }
  254.   public boolean isHTMLEditor() {
  255.           if(now_running.compareTo("HTML Visual Editor")==0) {
  256.                   return true;
  257.           }
  258.           else {
  259.                   return false;
  260.           }
  261.   }
  262.   public boolean isCodeEditor() {
  263.           if(now_running.compareTo("Code Editor")==0) {
  264.                   return true;
  265.           }
  266.           else {
  267.                   return false;
  268.           }
  269.   }
  270.  // setup eventi menu
  271.  void setupEventi() {
  272.          Global.apri.addActionListener(new AscoltatoreMenu());
  273.          Global.salva.addActionListener(new AscoltatoreMenu());
  274.          Global.chiudi.addActionListener(new AscoltatoreMenu());
  275.          Global.esci.addActionListener(new AscoltatoreMenu());
  276.          Global.taglia.addActionListener(new AscoltatoreMenu());
  277.          Global.copia.addActionListener(new AscoltatoreMenu());
  278.          Global.incolla.addActionListener(new AscoltatoreMenu());
  279.          Global.cancella.addActionListener(new AscoltatoreMenu());
  280.          Global.cerca.addActionListener(new AscoltatoreMenu());
  281.          Global.rimpiazza.addActionListener(new AscoltatoreMenu());
  282.          Global.aiuto.addActionListener(new AscoltatoreMenu());
  283.          Global.addwin.addActionListener(new AscoltatoreMenu());
  284.          Global.calcpp.addActionListener(new AscoltatoreMenu());
  285.          desktop.b1.addActionListener(new AscoltatoreMenu());
  286.          desktop.b2.addActionListener(new AscoltatoreMenu());
  287.          desktop.b3.addActionListener(new AscoltatoreMenu());
  288.          desktop.b4.addActionListener(new AscoltatoreMenu());
  289.          
  290.  }
  291.  public JPanel setPanel(JPanel p) {    
  292.          
  293.          p.setLayout(null);
  294.          // manager
  295.          RoundManager mng = new RoundManager();
  296.          mng.setBounds(30,30,250,300);
  297.          mng.setBackground(Color.gray);
  298.          TitledBorder bordo_mng = BorderFactory.createTitledBorder("" +
  299.                         "Round Manager");
  300.          mng.setBorder(bordo_mng);
  301.          
  302.          // parsare il pannello
  303.          p.add(mng);
  304.          return p;
  305.  }
  306.  
  307.  }