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

📄 jobpanel.java

📁 发送传真的program,发送传真的program,发送传真的program.
💻 JAVA
字号:
/** * JHylaFax - A java client for HylaFAX. * * Copyright (C) 2005 by Steffen Pingel <steffenp@gmx.de> * * 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 2 of the License, 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 net.sf.jhylafax;import static net.sf.jhylafax.JHylaFAX.i18n;import javax.swing.DefaultComboBoxModel;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JSpinner;import javax.swing.JTextField;import javax.swing.SpinnerNumberModel;import net.sf.jhylafax.Settings.Notification;import net.sf.jhylafax.Settings.Resolution;import net.sf.jhylafax.fax.FaxJob;import net.sf.jhylafax.fax.Paper;import org.xnap.commons.gui.Dialogs;import com.jgoodies.forms.builder.DefaultFormBuilder;import com.jgoodies.forms.layout.FormLayout;/** * A panel for editing of fax job properties. *  * @author Steffen Pingel */public class JobPanel extends JPanel implements LocaleChangeListener {	private static final int DEFAULT_COLUMNS = 20;		private JLabel notificationLabel;	private JLabel resolutionLabel;	private JSpinner prioritySpinner;	private JLabel priorityLabel;	private JSpinner maxTriesSpinner;	private JLabel maxTriesLabel;	private JSpinner maxDialsSpinner;	private JLabel maxDialsLabel;	private JLabel paperLabel;	private DefaultComboBoxModel notificationModel;	private DefaultComboBoxModel resolutionModel;	private DefaultComboBoxModel paperModel;	private JTextField fullnameTextField;	private JTextField emailTextField;	private JLabel fullnameLabel;	private JLabel emailLabel;	private SpinnerNumberModel priorityModel;	public JobPanel(boolean border) {		FormLayout layout = new FormLayout("left:max(40dlu;pref), 3dlu, pref, pref:grow, min:grow", "");		DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);		if (border) {			builder.setDefaultDialogBorder();		}		builder.appendSeparator(i18n.tr("Sender"));				fullnameTextField = new JTextField(DEFAULT_COLUMNS);		fullnameLabel = builder.append("", fullnameTextField, 3);		builder.nextLine();		emailTextField = new JTextField(DEFAULT_COLUMNS);		emailLabel = builder.append("", emailTextField, 3);		builder.nextLine();				builder.appendSeparator(i18n.tr("Parameter"));		notificationModel = new DefaultComboBoxModel();		JComboBox notificationComboBox = new JComboBox(notificationModel);		notificationLabel = builder.append("", notificationComboBox, 2);		builder.nextLine();				resolutionModel = new DefaultComboBoxModel();		JComboBox resolutionComboBox = new JComboBox(resolutionModel);		resolutionLabel = builder.append("", resolutionComboBox, 2);		builder.nextLine();		priorityModel = new SpinnerNumberModel(0, 0, 255, 1);		prioritySpinner = new JSpinner(priorityModel);		priorityLabel = builder.append("", prioritySpinner);		builder.nextLine();				maxTriesSpinner = new JSpinner(new SpinnerNumberModel(1, 1, 255, 1));		maxTriesLabel = builder.append("", maxTriesSpinner);		builder.nextLine();				maxDialsSpinner = new JSpinner(new SpinnerNumberModel(1, 1, 255, 1));		maxDialsLabel = builder.append("", maxDialsSpinner);		builder.nextLine();				paperModel = new DefaultComboBoxModel();		JComboBox paperComboBox = new JComboBox(paperModel);		paperLabel = builder.append("", paperComboBox, 2);	}		public void setSenderEditable(boolean editSender) {		fullnameTextField.setEditable(editSender);		emailTextField.setEditable(editSender);	}		public void updateLabels() {		fullnameLabel.setText(i18n.tr("Name"));		emailLabel.setText(i18n.tr("Email"));		notificationLabel.setText(i18n.tr("Notify"));		resolutionLabel.setText(i18n.tr("Resolution"));		priorityLabel.setText(i18n.tr("Priority"));		maxTriesLabel.setText(i18n.tr("Maximum Tries"));		maxDialsLabel.setText(i18n.tr("Maximum Dials"));		paperLabel.setText(i18n.tr("Paper Format"));				Object selectedItem = notificationModel.getSelectedItem();		notificationModel.removeAllElements();		for (Settings.Notification notification : Settings.Notification.values()) {			notificationModel.addElement(notification);		}		notificationModel.setSelectedItem(selectedItem);		selectedItem = resolutionModel.getSelectedItem();		resolutionModel.removeAllElements();		for (Settings.Resolution resolution : Settings.Resolution.values()) {			resolutionModel.addElement(resolution);		}		resolutionModel.setSelectedItem(selectedItem);		selectedItem = paperModel.getSelectedItem();		paperModel.removeAllElements();		for (Paper paper : Paper.values()) {			paperModel.addElement(paper);		}		paperModel.setSelectedItem(selectedItem);	}	public void applyTo(FaxJob job) {		job.setSender(fullnameTextField.getText());		job.setNotifyAdress(emailTextField.getText());				job.setNotify(((Notification)notificationModel.getSelectedItem()).getCommand());		job.setResolution((((Resolution)resolutionModel.getSelectedItem()).getLinesPerInch()));		job.setPriority(priorityModel.getNumber().intValue());		job.setMaxTries(((Integer)maxTriesSpinner.getValue()).intValue());		job.setMaxDials(((Integer)maxDialsSpinner.getValue()).intValue());		Paper paper = (Paper)paperModel.getSelectedItem();		job.setPageWidth(paper.getWidth());		job.setPageLength(paper.getHeight());	}		public void revertFrom(FaxJob job) {		fullnameTextField.setText(job.getSender());		emailTextField.setText(job.getNotifyAdress());		if (job.getNotify() == null) {			notificationModel.setSelectedItem(Settings.Notification.NEVER);		}		else {			try {				notificationModel.setSelectedItem(Settings.Notification.getEnum(job.getNotify()));			} catch (IllegalArgumentException e) {				Dialogs.showError(this, i18n.tr("Unknown notification type. Using default."));				notificationModel.setSelectedItem(Settings.NOTIFICATION.getValue());			}		}		try {			resolutionModel.setSelectedItem(Settings.Resolution.getEnum(job.getVerticalResolution()));		} catch (IllegalArgumentException e) {			Dialogs.showError(this, i18n.tr("Invalid resolution. Using default."));			resolutionModel.setSelectedItem(Settings.RESOLUTION.getValue());		}		prioritySpinner.setValue(job.getPriority());		maxTriesSpinner.setValue(job.getMaxTries());		maxDialsSpinner.setValue(job.getMaxDials());		try {			paperModel.setSelectedItem(Paper.getEnum(job.getPageWidth(), job.getPageLength()));		} catch (IllegalArgumentException e) {			Dialogs.showError(this, i18n.tr("Unknown paper type. Using default."));			paperModel.setSelectedItem(Settings.PAPER.getValue());		}	}		public void revertFromSettings() {		fullnameTextField.setText(Settings.FULLNAME.getValue());		emailTextField.setText(Settings.EMAIL.getValue());		notificationModel.setSelectedItem(Settings.NOTIFICATION.getValue());		resolutionModel.setSelectedItem(Settings.RESOLUTION.getValue());		prioritySpinner.setValue(Settings.PRIORITY.getValue());		maxTriesSpinner.setValue(Settings.MAXTRIES.getValue());		maxDialsSpinner.setValue(Settings.MAXDIALS.getValue());		paperModel.setSelectedItem(Settings.PAPER.getValue());	}	public void applyToSettings()	{		Settings.FULLNAME.setValue(fullnameTextField.getText());		Settings.EMAIL.setValue(emailTextField.getText());				Settings.NOTIFICATION.setValue((Notification)notificationModel.getSelectedItem());		Settings.RESOLUTION.setValue((Resolution)resolutionModel.getSelectedItem());		Settings.PRIORITY.setValue(priorityModel.getNumber().intValue());		Settings.MAXTRIES.setValue((Integer)maxTriesSpinner.getValue());		Settings.MAXDIALS.setValue((Integer)maxDialsSpinner.getValue());		Settings.PAPER.setValue((Paper)paperModel.getSelectedItem());	}	public void revertFromDefaultSettings()	{		fullnameTextField.setText(Settings.FULLNAME.getDefaultValue());		emailTextField.setText(Settings.EMAIL.getDefaultValue());		notificationModel.setSelectedItem(Settings.NOTIFICATION.getDefaultValue());		resolutionModel.setSelectedItem(Settings.RESOLUTION.getDefaultValue());		prioritySpinner.setValue(Settings.PRIORITY.getDefaultValue());		maxTriesSpinner.setValue(Settings.MAXTRIES.getDefaultValue());		maxDialsSpinner.setValue(Settings.MAXDIALS.getDefaultValue());		paperModel.setSelectedItem(Settings.PAPER.getDefaultValue());	}	}

⌨️ 快捷键说明

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