File:  [Repository] / edoc-applet / Console.java
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Jun 17 10:38:55 2003 UTC (21 years ago) by rogo
Branches: vend, MAIN
CVS tags: start, HEAD
First checkin.


    1: import javax.swing.*;
    2: import java.awt.event.*;
    3: import java.awt.*;
    4: import java.text.*;
    5: import java.util.Locale;
    6: import javax.swing.event.*;
    7: import java.io.*;
    8: 
    9: public class Console extends JDialog implements ActionListener
   10: {
   11: 
   12:   static JTextField field = new JTextField("0.00", 6);
   13:   JLabel label = new JLabel("Load step: ", JLabel.RIGHT);
   14:   JButton clear = new JButton("Clear Console");
   15:   JButton save = new JButton("Save Console");
   16:   JCheckBox logMode = new JCheckBox("Logging on",true);
   17:   JCheckBox debugMode = new JCheckBox("Debug on",false); 
   18:   JPanel panel = new JPanel();
   19:   static JTextArea console = new JTextArea();
   20:   static JScrollPane scroll = new JScrollPane(console);
   21:   JFileChooser saveChooser;
   22:   JPanel content;
   23:   JFrame frame;
   24:   String file;
   25:   static PrintStream print;
   26:   boolean append = false;
   27:   public Console(JFrame frame)
   28:   {
   29:     super(frame);
   30:     this.frame = frame;
   31:     label = new JLabel("Load step: ", JLabel.RIGHT);
   32:     clear = new JButton("Clear Console");
   33:     save = new JButton("Save Console");
   34:     logMode = new JCheckBox("Logging on",true);
   35:     debugMode =  new JCheckBox("Debug on",false);
   36:     console = new JTextArea();
   37:     scroll = new JScrollPane(console);
   38:     setSize(500, 400);
   39:     setTitle("Archimedes Console");
   40:     console.setBackground(new Color(230, 240, 250));
   41:     Font actFont = new Font("Courier", 0, 15);
   42:     console.setFont(actFont);
   43:     setLocation(new Point(500, 70));
   44:     content = (JPanel) getContentPane();
   45:     content.add(scroll, "Center");
   46:     panel.add(clear);
   47:     panel.add(save);
   48:     panel.add(logMode);
   49:     panel.add(debugMode);
   50:     content.add(panel, "South");
   51:     clear.addActionListener(this);
   52:     save.addActionListener(this);
   53:     debugMode.addActionListener(this);
   54:     setSaveChooser();
   55:     add("Archimedes Console\n");
   56:     if(print==null)
   57:     {
   58:       print = new PrintStream(System.out)
   59:       {
   60:         public PrintStream myOut = System.out;
   61:         public void print(String a)
   62:         {
   63:           myOut.print(a);
   64:           if (logMode.isSelected())
   65:             Console.add(a);
   66:         }
   67:         public void print(char a)
   68:         {
   69:           myOut.print(a);
   70:           if (logMode.isSelected())
   71:             Console.add(a+"");
   72:         }
   73:     
   74:         public void println(String a)
   75:         {
   76:           myOut.println(a);
   77:           if (logMode.isSelected())
   78:             Console.add(a + "\n");
   79:         }
   80:         public void println(Object a)
   81:         {
   82:           myOut.println(a);
   83:           if (logMode.isSelected())
   84:             Console.add(a + "\n");
   85:         }
   86:         public void write(byte[] b ) throws IOException
   87:         {
   88:           myOut.write(b);
   89:           if (logMode.isSelected())
   90:           Console.add(new String(b) + "\n");
   91:             
   92:         }
   93:         public void write(byte[] b,int start,int end ) 
   94:         {
   95:           myOut.write(b,start,end);
   96:           if (logMode.isSelected())
   97:           Console.add(new String(b,start,end) + "\n");
   98:             
   99:         }
  100:   
  101:   
  102:       };
  103:       System.setOut(print);
  104:       System.setErr(System.out);
  105:     }
  106:     addWindowListener(new WindowAdapter()
  107:     {
  108:       public void windowClosing(WindowEvent e)
  109:       {
  110:         //jife.showConsole.setState(false);
  111:       }
  112:     });
  113: 
  114:     //console.setEditable(false);
  115:   }
  116:   public void actionPerformed(ActionEvent e)
  117:   {
  118:     String command = e.getActionCommand();
  119:     if (command == "Clear Console")
  120:       clear();
  121:     if (command == "Save Console")
  122:     {
  123:       saveChooser.rescanCurrentDirectory();
  124:       saveChooser.setDialogType(JFileChooser.OPEN_DIALOG);
  125:       saveChooser.showDialog(frame, "Save");
  126:     }
  127:    Upload.debug=debugMode.isSelected();
  128:   
  129:   
  130:   }
  131:   public static void clear()
  132:   {
  133:     console.setText("");
  134:   }
  135: 
  136:   public static void add(String text)
  137:   {
  138:     console.append(text);
  139:     scroll.getVerticalScrollBar().setValue(scroll.getVerticalScrollBar().getMaximum());
  140:   }
  141:   public void setSaveChooser()
  142:   {
  143:     // file Dialog
  144:     saveChooser = new JFileChooser(".");
  145:    // ExampleFileFilter filefilter = new ExampleFileFilter();
  146:    // filefilter.addExtension("txt");
  147:     //filefilter.setDescription("Txt File");
  148:     //saveChooser.setFileFilter(filefilter);
  149: 
  150:     saveChooser.addActionListener(new ActionListener()
  151:     {
  152: 
  153:       public void actionPerformed(ActionEvent e2)
  154:       {
  155:         //System.out.println(e2.getActionCommand());
  156:         if (e2.getActionCommand().toString().equals("ApproveSelection"))
  157:         {
  158:           file = saveChooser.getSelectedFile().toString();
  159:           //setTitle("Jife - Java Application for Structural Analysis - "+"<File: "+new File(file).getAbsolutePath()+">");
  160:           if (file == null || file == "")
  161:             file = "." + File.separator + "untitled.txt";
  162:           if (file.endsWith(".txt") || file.endsWith(".TXT"));
  163:           else
  164:             file += ".txt";
  165:           System.out.println("File" + file);
  166:           try
  167:           {
  168: 
  169:             FileOutputStream fout = new FileOutputStream(file);
  170:             fout.write(console.getText().getBytes());
  171:             fout.close();
  172:           } catch (Exception e3)
  173:           {
  174:             System.out.println("Serial errror:" + e3);
  175:           }
  176: 
  177:         }
  178:       }
  179:     });
  180: 
  181:   }
  182: 
  183: } // to class

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>