📄 chatpanel.java
字号:
b.setBackground(bgColor); b.setForeground(Color.yellow); return b; } protected GridBagConstraints createButtonConstraints(int number) { return Constraints.create(number, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 2, 2, 2), 0, 0); } protected Component createButtonPanel() { Panel p = new Panel(); // panel to contain the button p.setBackground(bgColor); GridBagLayout gb2 = new GridBagLayout(); p.setLayout(gb2); int i=0; btnPrivate = createButton("private.gif", Translator.getMessage("label.private")); gb2.setConstraints(btnPrivate, createButtonConstraints(i++)); p.add(btnPrivate); btnEmote = createButton("emote.gif", Translator.getMessage("label.emote")); gb2.setConstraints(btnEmote, createButtonConstraints(i++)); p.add(btnEmote);/* btnEmotePrivate = createButton("pemote.gif", Translator.getMessage("label.mesg")); gb2.setConstraints(btnEmotePrivate, createButtonConstraints(i++)); p.add(btnEmotePrivate);*/ btnPing = createButton("ping.gif", Translator.getMessage("label.ping")); gb2.setConstraints(btnPing, createButtonConstraints(i++)); p.add(btnPing); btnUserInfo = createButton("whois.gif", Translator.getMessage("label.whois")); gb2.setConstraints(btnUserInfo, createButtonConstraints(i++)); p.add(btnUserInfo); btnStats = createButton("stats.gif", Translator.getMessage("label.stats")); gb2.setConstraints(btnStats, createButtonConstraints(i++)); p.add(btnStats);/* btnClose = createButton("blank.gif", Translator.getMessage("label.close")); gb2.setConstraints(btnClose, createButtonConstraints(i++)); p.add(btnClose);*/ btnHelp = createButton("help.gif", Translator.getMessage("label.help")); gb2.setConstraints(btnHelp, createButtonConstraints(i++)); p.add(btnHelp); return p; } public boolean action(Event e, Object o) { if (e.id == Event.ACTION_EVENT) { if (e.target == lstUsers) { _inputReceiver.userDoubleClick((String)o); return true; } if (e.target == txtInput) { _inputReceiver.inputEvent(_room, (String)o); txtInput.setText(""); return true; } if (e.target == btnStats || e.target == miStats) { _inputReceiver.inputEvent(_room, ICommands.STATS); return true; } if (e.target == btnClose) { _inputReceiver.inputEvent(_room, ICommands.PART_ROOM); return true; } if (e.target == btnPing || e.target == miPing) { if (!s_useDialogs) { String user = lstUsers.getSelectedItem(); if (user != null) { _inputReceiver.inputEvent(_room, ICommands.PING + " " + user); } else { displayError(Translator.getMessage("error.ping")); } } else { IQuery q = _factory.createQuery(Translator.getMessage("ping"), Translator.getMessage("label.user") + ":", getUserList(), false, null); q.setCallbackParams(PING, this); String def = lstUsers.getSelectedItem(); if (def != null) { q.setDefaultSelection(def); } q.show(); } return true; } if (e.target == btnUserInfo || e.target == miWhois) { if (!s_useDialogs) { String user = lstUsers.getSelectedItem(); if (user != null) { _inputReceiver.inputEvent(_room, ICommands.WHOIS + " " + user); } else { displayError(Translator.getMessage("error.whois")); } } else { IQuery q = _factory.createQuery(Translator.getMessage("label.compose.whois"), Translator.getMessage("label.user") + ":", getUserList(), false, null); q.setCallbackParams(WHOIS, this); String def = lstUsers.getSelectedItem(); if (def != null) { q.setDefaultSelection(def); } q.show(); } return true; } if (e.target == btnPrivate || e.target == miPrivate) { if (!s_useDialogs) { String user = lstUsers.getSelectedItem(); if (user != null) { String msg = txtInput.getText(); if (msg != null && msg.length() > 0) { _inputReceiver.inputEvent(_room, ICommands.SAY_TO_USER + " " + user + " " + msg); txtInput.setText(""); } else { displayError(Translator.getMessage("error.private2")); } } else { displayError(Translator.getMessage("error.private1")); } } else { IQuery q = _factory.createQuery(Translator.getMessage("label.compose.private"), Translator.getMessage("label.to") + ":", getUserList(), true, Translator.getMessage("label.private") + ":"); q.setCallbackParams(PRIVATE, this); String def = lstUsers.getSelectedItem(); if (def != null) { q.setDefaultSelection(def); } q.show(); } return true; } if (e.target == btnEmotePrivate || e.target == miEmotePrivate) { if (!s_useDialogs) { String user = lstUsers.getSelectedItem(); if (user != null) { String msg = txtInput.getText(); if (msg != null && msg.length() > 0) { _inputReceiver.inputEvent(_room, ICommands.EMOTE_TO_USER + " " + user + " " + msg); txtInput.setText(""); } else { displayError(Translator.getMessage("error.mesg2")); } } else { displayError(Translator.getMessage("error.mesg1")); } } else { IQuery q = _factory.createQuery(Translator.getMessage("label.compose.mesg"), Translator.getMessage("label.to" + ":"), getUserList(), true, Translator.getMessage("label.emote") + ":"); q.setCallbackParams(PRIVATE_EMOTE, this); String def = lstUsers.getSelectedItem(); if (def != null) { q.setDefaultSelection(def); } q.show(); } return true; } if (e.target == btnEmote || e.target == miEmote) { if (!s_useDialogs) { String msg = txtInput.getText(); if (msg != null && msg.length() > 0) { _inputReceiver.inputEvent(_room, ICommands.EMOTE_TO_ROOM + " " + msg); txtInput.setText(""); } else { displayError(Translator.getMessage("error.emote")); } } else { IQuery q = _factory.createQuery(Translator.getMessage("label.compose.emote"), null, null, true, Translator.getMessage("label.emote")); q.setCallbackParams(EMOTE, this); q.show(); } return true; } if (e.target == btnHelp) { _inputReceiver.inputEvent(_room, ICommands.HELP); } } return super.action(e, o); } public void handleQuery(int id, IQuery q) { if (q.getCanceled()) { q.dispose(); return; } String user; String msg; switch (id) { case PING: user = q.getSelection(); _inputReceiver.inputEvent(_room, ICommands.PING + " " + user); break; case PRIVATE: user = q.getSelection(); msg = q.getText(); _inputReceiver.inputEvent(_room, ICommands.SAY_TO_USER + " " + user + " " + msg); txtInput.setText(""); break; case PRIVATE_EMOTE: user = q.getSelection(); msg = q.getText(); _inputReceiver.inputEvent(_room, ICommands.EMOTE_TO_USER + " " + user + " " + msg); txtInput.setText(""); break; case EMOTE: msg = q.getText(); _inputReceiver.inputEvent(_room, ICommands.EMOTE_TO_ROOM + " " + msg); txtInput.setText(""); break; case WHOIS: user = q.getSelection(); _inputReceiver.inputEvent(_room, ICommands.WHOIS + " " + user); break; } q.dispose(); } protected Menu createActionMenu() { Menu m = new Menu(Translator.getMessage("label.action")); m.add(miPrivate); m.add(miEmotePrivate); m.add(miEmote); m.add(miStats); m.add(miPing); m.add(miWhois); return m; } public void showBigButtons(boolean b) { if (b) { if (!_showingBigButtons) { add(_buttonPanel); gridbag.setConstraints(_buttonPanel, Constraints.create(0, 1, 2, 1, 1.0, 0, GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); _buttonPanel.invalidate(); validate(); } _showingBigButtons = true; } else { if (_showingBigButtons) { remove(_buttonPanel); validate(); _showingBigButtons = false; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -