📄 prioritydialog.java
字号:
/* Copyright (C) 2003 Adam Olsen This program 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 1, or (at your option) any later version. This program 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 this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package com.valhalla.jbother;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Locale;import java.util.ResourceBundle;import javax.swing.BorderFactory;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import com.valhalla.gui.DialogTracker;import com.valhalla.gui.MJTextField;import com.valhalla.gui.Standard;import com.valhalla.settings.Settings;/** * Displays a dialog that allows you to change your priority * * @author Adam Olsen * @version 1.0 */public class PriorityDialog extends JDialog { private ResourceBundle resources = ResourceBundle.getBundle( "JBotherBundle", Locale.getDefault()); private JLabel label = new JLabel(resources.getString("priority") + ": "); private MJTextField priorityBox = new MJTextField(4); private JButton okButton = new JButton(resources.getString("okButton")), cancelButton = new JButton(resources.getString("cancelButton")); private JPanel container = new JPanel(); /** * Default constructor */ public PriorityDialog() { super(BuddyList.getInstance().getContainerFrame(), "Set Priority", false); setTitle(resources.getString("setPriority")); String current = Settings.getInstance().getProperty("priority"); if (current != null) priorityBox.setText(current); DialogTracker.addDialog(this, true, true); setContentPane(container); container.setBorder(BorderFactory.createEmptyBorder(10, 35, 10, 35)); container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS)); JLabel setPriorityLabel = new JLabel(resources.getString("setPriority")); setPriorityLabel .setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 0)); setPriorityLabel.setAlignmentX(Container.CENTER_ALIGNMENT); container.add(setPriorityLabel); JPanel labelPanel = new JPanel(); labelPanel.setLayout(new BoxLayout(labelPanel, BoxLayout.X_AXIS)); labelPanel.add(label); labelPanel.add(priorityBox); container.add(labelPanel); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); buttonPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); buttonPanel.add(okButton); buttonPanel.add(cancelButton); container.add(buttonPanel); initComponents(); pack(); setLocationRelativeTo(null); } /** * Adds the various event listeners to the various components */ private void initComponents() { final PriorityDialog thisPointer = this; cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { DialogTracker.removeDialog(thisPointer); } }); PriorityListener listener = new PriorityListener(this); okButton.addActionListener(listener); priorityBox.addActionListener(listener); } /** * Listens for the OK button to be pressed and sends the presence packet. * * @author Adam Olsen * @version 1.0 */ class PriorityListener implements ActionListener { private PriorityDialog dialog; public PriorityListener(PriorityDialog dialog) { this.dialog = dialog; } public void actionPerformed(ActionEvent e) { // this try block makes sure that the user entered a valid number // greater than 0 try { if (Integer.parseInt(priorityBox.getText()) < 1) throw new NumberFormatException(); Settings.getInstance().setProperty("priority", priorityBox.getText()); BuddyList.getInstance() .setStatus( BuddyList.getInstance() .getCurrentPresenceMode(), BuddyList.getInstance() .getCurrentStatusString(), false); DialogTracker.removeDialog(dialog); } catch (NumberFormatException nfe) { Standard.warningMessage(null, resources .getString("setPriority"), resources .getString("specifyGreaterThanZero")); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -