⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 console.java

📁 基于MPEG 7 标准,符合未来语义网架构,很值得参考
💻 JAVA
字号:
/*
 * This file is part of Caliph & Emir.
 *
 * Caliph & Emir is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Caliph & Emir is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Caliph & Emir; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Copyright statement:
 * --------------------
 * (c) 2005 by Werner Klieber (werner@klieber.info)
 * http://caliph-emir.sourceforge.net
 */
package at.wklieber.tools;

import javax.swing.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Console {

    // when false: the default value is used as default and the user can input
    //             an other value
    //       true: default vaule is used without user interaction


    public static int TEXT_MODE = 1;
    public static int GRAFIC_MODE = 2;

    private static int DEFAULT_MODE = TEXT_MODE;
    //private static Color DEFAULT_COLOR = Color.BLACK;
    private static boolean DEFAULT_PRINT_TIME = true;
    private static String DEFAULT_TITLE = "Message Window";


    private static Console console = null;

    public static Console getReference() {
        if (console == null) {
            console = new Console(DEFAULT_MODE);
        }

        return console;
    }



    // ----------------------------- static stuff end ----------------------------------


    private int mode_ = DEFAULT_MODE;
    private JFrame mainFrame = null;
    private JTextPane textField = null;
    private Color textColor = null;
    private Color errorColor = null;

    private Console(int mode1) {
        init(mode1);

    }

    private void init(int mode1) {
        mode_ = mode1;

        if (mainFrame != null) {
            mainFrame.dispose();
        }

        if (mode_ == GRAFIC_MODE) {
            mainFrame = new JFrame();

            mainFrame.setDefaultCloseOperation(3);
            mainFrame.setTitle(DEFAULT_TITLE);

            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            mainFrame.setSize((int) d.getWidth() / 3, (int) d.getHeight() / 3);


            textColor = Color.BLACK;
            errorColor = Color.RED;

            textField = new JTextPane();
            JScrollPane scrollPane = new JScrollPane(textField);

            mainFrame.getContentPane().add(scrollPane, BorderLayout.CENTER);
            mainFrame.setLocation(0, 0);
            mainFrame.setVisible(true);

            mainFrame.validate();
            mainFrame.setVisible(true);

        }
    }


    public void switchToMode(int newMode1) {
        if (newMode1 != mode_) {
            init(newMode1);
        }
    }


    public String readString(String infoText1, String defText1) {
        String returnValue = defText1;
        if (mode_ == TEXT_MODE) {
            returnValue = readStringFromText(infoText1, defText1);
        } else {
            console.echo("not Implemented");
        }

        return returnValue;
    }

    // reads a string from the input-console
    private String readStringFromText(String text, String defText) {
        String ret = "";
        try {
            System.out.print(text + "[" + defText + "]: ");

            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

            ret = in.readLine();
            in = null;
            if (ret.length() == 0)
                ret = defText;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret;
    }  // end method

    public void echo(String text1) {
        if (mode_ == TEXT_MODE) {
            System.out.println(text1);
        } else {
            echo(text1, textColor);
        }
    }

    public void echo(String text1, Color color1) {
        if (mode_ == TEXT_MODE) {
            System.out.println(text1);
        } else {
            //String oldText = textField.getText();
            //textField.setText(oldText + text1 + "\n");
            String initStyles = "bold";
            Style s = textField.addStyle("bold", null);
            StyleConstants.setBold(s, false);
            StyleConstants.setForeground(s, color1);
            Document doc = textField.getDocument();

            try {
                doc.insertString(doc.getLength(), text1 + "\n", textField.getStyle(initStyles));
            } catch (BadLocationException e) {
                e.printStackTrace();
            }
        }
    }

    public void error(String text1) {
        if (mode_ == TEXT_MODE) {
            console.echo("ERROR: " + text1);
        } else {
            echo(text1, errorColor);
        }
    }

    public void line() {
        if (mode_ == TEXT_MODE) {
            console.echo("-------------------------------------------------------");
        } else {
            console.echo("not Implemented");
        }
    }


    public void exitOnException(Exception e) {
        if (mode_ == TEXT_MODE) {
            e.printStackTrace();
        } else {
            console.echo("not Implemented");
        }
        System.exit(1);
    }

    public void exitOnError(String text) {
        if (mode_ == TEXT_MODE) {
            echo("ERROR: " + text);
        } else {
            console.echo("not Implemented");
        }
        System.exit(1);
    }

    /*//stop watch methods
    public void watchReset() {
        watch.start();
    }

    public void watchStop() {
        watch.stop();
    }

    public void watchPrint() {
        if (DEFAULT_PRINT_TIME) {
            watch.printTimes();
        }
    }

    public void watchAddTime(String text1) {
        watch.storeTime(text1);
    }*/

} // end class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -