consoleframe.java

来自「piweurrrrq i o fhsadhfka fd dskajc zxkjc」· Java 代码 · 共 169 行

JAVA
169
字号
/* * Copyright (c) 2000 Lyrisoft Solutions, Inc. * Used by permission */package com.lyrisoft.chat.client.gui.awt102;import java.awt.*;import com.lyrisoft.chat.Translator;import com.lyrisoft.chat.client.gui.*;import com.lyrisoft.chat.server.local.IChatServer;import com.lyrisoft.chat.client.gui.IQuery;public class ConsoleFrame extends Frame implements IConsole {    protected ChatGUI _mainGUI;    private Console _console;    private IChatServer _server;    private IChatGUIFactory _factory;    private CheckboxMenuItem miSoundOn =         new CheckboxMenuItem(Translator.getMessage("label.on"));    private CheckboxMenuItem miSoundOff =         new CheckboxMenuItem(Translator.getMessage("label.off"));    private MenuItem miExit =         new MenuItem(Translator.getMessage("label.exit"));    private MenuItem miAbout =         new MenuItem(Translator.getMessage("label.about"));    public ConsoleFrame(IChatServer server, IChatClientInputReceiver receiver, ChatGUI mainGUI,                         IChatGUIFactory f)     {        setTitle(Translator.getMessage("label.console"));        _mainGUI = mainGUI;        _server = server;        _factory = f;        _console = new Console(server, receiver, f);        setLayout(new GridLayout(1, 1));        add(_console);        setMenuBar(createMenuBar());        pack();    }    public MenuBar createMenuBar() {        Menu file = new Menu(Translator.getMessage("label.file"));        file.add(miExit);        Menu options = new Menu(Translator.getMessage("label.options"));        Menu sounds = new Menu(Translator.getMessage("label.sound"));        miSoundOn = new CheckboxMenuItem(Translator.getMessage("label.on"));        if (_factory.getPlaySounds()) {            miSoundOn.setState(true);        }        sounds.add(miSoundOn);        if (miSoundOff == null) {            if (!_factory.getPlaySounds()) {                miSoundOn.setState(true);            }        }        sounds.add(miSoundOff);        options.add(sounds);        Menu help = new Menu(Translator.getMessage("label.help"));        help.add(miAbout);        MenuBar mb = new MenuBar();        mb.add(file);        mb.add(options);        mb.setHelpMenu(help);        return mb;    }    public void addRoom(String room, String count, boolean inform) {        _console.addRoom(room, count, inform);    }    public void addUser(String user, boolean inform) {        _console.addUser(user, inform);    }    public void removeUser(String user, boolean inform) {        _console.removeUser(user, inform);    }    public void removeRoom(String room, boolean inform) {        _console.removeRoom(room, inform);    }    public void clearRooms() {        _console.clearRooms();    }    public void clearUsers() {        _console.clearUsers();    }    public boolean handleEvent(Event e) {        if (e.target == this && e.id == Event.WINDOW_DESTROY) {            _server.signOff();            hide();            return true;        } else if (e.id == Event.GOT_FOCUS) {            _mainGUI.setStatusGui(this);            return true;        }        return super.handleEvent(e);    }    public void displayPrivateMessage(String user, String message) {        _console.displayPrivateMessage(user, message);    }    public void displayMessage(String user, String message) {        _console.displayMessage(user, message);    }    public void displayMessage(String message) {        _console.displayMessage(message);    }    public void displayError(String error) {        _console.displayError(error);    }    public void displayPrivateEmote(String user, String message) {        _console.displayPrivateEmote(user, message);    }    public boolean action(Event e, Object arg) {        if (e.target == miSoundOn) {            _factory.playSounds(true);            miSoundOff.setState(false);            return true;        }                if (e.target == miSoundOff) {            _factory.playSounds(false);            miSoundOn.setState(false);            return true;        }                if (e.target == miAbout) {            _factory.createAboutDialog();            return true;        }        if (e.target == miExit) {            IQuery q = _factory.createQuery(Translator.getMessage("confirm.exit"),                                             null, null, false, null);            q.show();            if (!q.getCanceled()) {                _server.signOff();            }            return true;        }        return super.action(e, arg);    }    public void show() {        super.show();//        _mainGUI.hideLogin();    }    public void hide() {        super.hide();        _console.pleaseStop();    }}

⌨️ 快捷键说明

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