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

📄 optionseditor.java

📁 Owing to the applet Gantt chart source yard, already Chinese melt, Gantt chart can demonstrate a Chi
💻 JAVA
字号:
/** *   Copyright 2004 Carlos Silva A. *  *   Licensed under the Apache License, Version 2.0 (the "License"); *   you may not use this file except in compliance with the License.  *   You may obtain a copy of the License at   *  *   http://www.apache.org/licenses/LICENSE-2.0 *  *   Unless required by applicable law or agreed to in writing, software *   distributed under the License is distributed on an "AS IS" BASIS, *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *   See the License for the specific language governing permissions and *   limitations under the License. *  */package jgantt.view.dialogs;import java.awt.Font;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Window;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Calendar;import java.util.Vector;import javax.swing.JComboBox;import javax.swing.JComponent;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.TitledBorder;import jgantt.Messages;import jgantt.model.Task;import jgantt.model.ViewOptions;import jgantt.view.adapters.ProjectViewModel;import jgantt.view.adapters.ProjectViewModelChange;import jgantt.view.adapters.ProjectViewModelListener;public class OptionsEditor	extends JPanel	implements ActionListener, ProjectViewModelListener {	private static final long serialVersionUID = 3257569490396000312L;	TitledBorder border;	JComboBox majorUnit;	JComboBox minorUnit;	JTextField majorMult;	JTextField minorMult;	JComboBox majorFormat;	JComboBox minorFormat;	JComboBox gridWidth;	JComboBox gridHeight;	JTextField dateFormat;	JTextField barTextFormat;	JTextField assignTextFormat;	ProjectViewModel pvModel;	ViewOptions viewOptions = null;	OptionsEditor optionsEditor = this;	protected void addComp(		JComponent cmp,		GridBagLayout gridbag,		GridBagConstraints c) {		gridbag.setConstraints(cmp, c);		add(cmp);	}	/**	 * Constructor for TaskEditor	 */	public OptionsEditor(Window parent, ProjectViewModel projectViewModel) {		super();		assignViewModel(projectViewModel);		pvModel.addListener(this);		if (parent != null)			new RemoveObservers(parent, pvModel, this, null);		Vector majUnits = new Vector();		majUnits.addElement(Messages.getString("options.unit.day")); //$NON-NLS-1$		majUnits.addElement(Messages.getString("options.unit.week")); //$NON-NLS-1$		majUnits.addElement(Messages.getString("options.unit.month")); //$NON-NLS-1$		majUnits.addElement(Messages.getString("options.unit.year")); //$NON-NLS-1$		Vector minUnits = new Vector();		minUnits.addElement(Messages.getString("options.unit.day")); //$NON-NLS-1$		minUnits.addElement(Messages.getString("options.unit.week")); //$NON-NLS-1$		minUnits.addElement(Messages.getString("options.unit.month")); //$NON-NLS-1$		Vector majFormats = new Vector();		majFormats.addElement(Messages.getString("options.major.format.1")); //$NON-NLS-1$		majFormats.addElement(Messages.getString("options.major.format.2")); //$NON-NLS-1$		majFormats.addElement(Messages.getString("options.major.format.3")); //$NON-NLS-1$		Vector minFormats = new Vector();		minFormats.addElement(Messages.getString("options.minor.format.dayNumber")); //$NON-NLS-1$		minFormats.addElement(Messages.getString("options.minor.format.dayname")); //$NON-NLS-1$		Vector gridWidths = new Vector();		gridWidths.add("8");		gridWidths.add("9");		gridWidths.add("10");		gridWidths.add("11");		gridWidths.add("12");		gridWidths.add("13");		gridWidths.add("14");		gridWidths.add("15");		gridWidths.add("16");		gridWidths.add("17");		gridWidths.add("18");				Vector taskHeight= new Vector();		taskHeight.add("16");		taskHeight.add("17");		taskHeight.add("18");		taskHeight.add("19");		taskHeight.add("20");		taskHeight.add("21");		taskHeight.add("22");		taskHeight.add("23");		taskHeight.add("24");				//border = BorderFactory.createTitledBorder(getClass().getName());		//setBorder(border);		majorUnit = new JComboBox(majUnits);		minorUnit = new JComboBox(minUnits);		majorMult = new JTextField("" + viewOptions.majDivMult, 3);		minorMult = new JTextField("" + viewOptions.minDivMult, 3);		majorFormat = new JComboBox(majFormats);		minorFormat = new JComboBox(minFormats);		gridWidth = new JComboBox(gridWidths);		gridHeight = new JComboBox(taskHeight);		GridBagLayout gridbag = new GridBagLayout();		GridBagConstraints c = new GridBagConstraints();		setLayout(gridbag);		c.fill = GridBagConstraints.BOTH;		c.weightx = 1.0;		addComp(new JLabel(Messages.getString("options.major.divs.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		addComp(majorUnit, gridbag, c);		addComp(majorMult, gridbag, c);		c.gridwidth = GridBagConstraints.REMAINDER; //end row		addComp(majorFormat, gridbag, c);		c.weightx = 0.0;		c.gridwidth = 1;		addComp(new JLabel(Messages.getString("options.minor.divs.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		addComp(minorUnit, gridbag, c);		addComp(minorMult, gridbag, c);		c.gridwidth = GridBagConstraints.REMAINDER; //end row		addComp(minorFormat, gridbag, c);		c.weightx = 0.0;		c.gridwidth = 1;		addComp(new JLabel(Messages.getString("options.grid.width.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		addComp(gridWidth, gridbag, c);		addComp(new JLabel(Messages.getString("options.grid.width.unit.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		c.gridwidth = GridBagConstraints.REMAINDER; //end row		addComp(new JLabel("", JLabel.LEFT), gridbag, c);								c.weightx = 0.0;		c.gridwidth = 1;		addComp(new JLabel(Messages.getString("options.grid.height.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		addComp(gridHeight, gridbag, c);		addComp(new JLabel(Messages.getString("options.grid.width.unit.label"), JLabel.LEFT), gridbag, c); //$NON-NLS-1$		c.gridwidth = GridBagConstraints.REMAINDER; //end row		addComp(new JLabel("", JLabel.LEFT), gridbag, c);						dateFormat = new JTextField(viewOptions.dateFormat);		c.weightx = 0.0;		c.gridwidth = 2;		addComp(new JLabel("Date Format", JLabel.LEFT), gridbag, c);		addComp(dateFormat, gridbag, c);		c.gridwidth = GridBagConstraints.REMAINDER; //end row		addComp(new JLabel("", JLabel.LEFT), gridbag, c); //$NON-NLS-1$		//addComp(new JLabel("", JLabel.LEFT), gridbag,c);		//assignTextFormat= new JTextField(viewOptions.assignTextFormat, 9);		barTextFormat = new JTextField(viewOptions.barTextFormat, 9);		c.weightx = 0.0;		c.gridwidth = 2;		addComp(new JLabel("Bar text format", JLabel.LEFT), gridbag, c);		c.gridwidth = GridBagConstraints.REMAINDER; //end row 		addComp(barTextFormat, gridbag, c);		assignTextFormat = new JTextField(viewOptions.assignTextFormat, 9);		c.weightx = 0.0;		c.gridwidth = 2;		addComp(new JLabel("Resources format (%R)", JLabel.LEFT), gridbag, c);		c.gridwidth = GridBagConstraints.REMAINDER; //end row 		addComp(assignTextFormat, gridbag, c);		c.weightx = 0.0;		c.gridwidth = GridBagConstraints.REMAINDER;		JLabel hint = new JLabel("More about formats in 'General Help'", JLabel.LEFT);		hint.setFont(Font.getFont("宋体"));		addComp(			hint,			gridbag,			c);						for(int i=0; i<gridHeight.getItemCount();i++){			String item = (String) gridHeight.getItemAt(i);			if (pvModel.getViewOptions().taskHeight== Integer.parseInt(item)){				gridHeight.setSelectedIndex(i);				break;			}		}				switch (viewOptions.majDivUnit) {			case Calendar.DAY_OF_MONTH :				majorUnit.setSelectedIndex(0);				break;			case Calendar.WEEK_OF_YEAR :				majorUnit.setSelectedIndex(1);				break;			case Calendar.MONTH :				majorUnit.setSelectedIndex(2);				break;			default :				majorUnit.setSelectedIndex(3);				break;		}		switch (viewOptions.minDivUnit) {			case Calendar.DAY_OF_MONTH :				minorUnit.setSelectedIndex(0);				break;			case Calendar.WEEK_OF_YEAR :				minorUnit.setSelectedIndex(1);				break;			case Calendar.MONTH :				minorUnit.setSelectedIndex(2);				break;			default :				minorUnit.setSelectedIndex(3);				break;		}		gridWidth.setSelectedIndex(viewOptions.stdDivWidth - 9);		if (viewOptions.minDivFormat == Calendar.DAY_OF_MONTH)			minorFormat.setSelectedIndex(0);		else			minorFormat.setSelectedIndex(1);		majorUnit.addActionListener(this);		majorMult.addActionListener(this);		minorUnit.addActionListener(this);		minorMult.addActionListener(this);		majorFormat.addActionListener(this);		minorFormat.addActionListener(this);		gridWidth.addActionListener(this);		gridHeight.addActionListener(this);		dateFormat.addActionListener(this);		barTextFormat.addActionListener(this);		assignTextFormat.addActionListener(this);		assignViewModel(pvModel);	}	/**	 * cambios en los controles. 	 */	public void actionPerformed(ActionEvent event) {		//System.out.println("inputMethodTextChanged source="+event.getSource().getClass().getName());		Object src = event.getSource();		Task task = pvModel.getCurrentTask();		if (src == majorUnit) {			switch (majorUnit.getSelectedIndex()) {				case 0 :					viewOptions.majDivUnit = Calendar.DAY_OF_MONTH;					break;				case 1 :					viewOptions.majDivUnit = Calendar.WEEK_OF_YEAR;					break;				case 2 :					viewOptions.majDivUnit = Calendar.MONTH;					break;				case 3 :					viewOptions.majDivUnit = Calendar.YEAR;					break;			}		} else if (src == majorFormat) {			try {				viewOptions.majDivFormat =					(String) majorFormat.getSelectedItem();			} catch (Exception e) {			}		} else if (src == majorMult) {			try {				viewOptions.majDivMult = Byte.parseByte(majorMult.getText());			} catch (Exception e) {			}		} else if (src == minorMult) {			try {				viewOptions.minDivMult = Byte.parseByte(minorMult.getText());			} catch (Exception e) {			}		} else if (src == minorUnit) {			switch (minorUnit.getSelectedIndex()) {				case 0 :					viewOptions.minDivUnit = Calendar.DAY_OF_MONTH;					break;				case 1 :					viewOptions.minDivUnit = Calendar.WEEK_OF_YEAR;					break;				case 2 :					viewOptions.minDivUnit = Calendar.MONTH;					break;				case 3 :					viewOptions.minDivUnit = Calendar.YEAR;					break;			}		} else if (src == minorFormat) {			switch (minorFormat.getSelectedIndex()) {				case 0 :					viewOptions.minDivFormat = Calendar.DAY_OF_MONTH;					break;				case 1 :					viewOptions.minDivFormat = Calendar.DAY_OF_WEEK;					break;			}		} else if (src == gridWidth) {			int w = Integer.parseInt(gridWidth.getSelectedItem().toString());			viewOptions.stdDivWidth = w;			viewOptions.recalc();		} else if (src == gridHeight) {			int h = Integer.parseInt(gridHeight.getSelectedItem().toString());			viewOptions.taskHeight= h;			viewOptions.taskBarHeight= h-8;			viewOptions.recalc();		} else if (src == dateFormat) {			viewOptions.dateFormat = dateFormat.getText();		} else if (src == barTextFormat) {			viewOptions.barTextFormat= barTextFormat.getText();		} else if (src == assignTextFormat) {			viewOptions.assignTextFormat = assignTextFormat.getText();		}		viewOptions.notifyObservers();	}		/**	 * Eventos del modelo	 * Reasigna los ViewOptions	 * @see jgantt.view.adapters.ProjectViewModelListener#projectChanged(jgantt.view.adapters.ProjectViewModelChange)	 */	public void viewModelChanged(ProjectViewModelChange c) {		if (c.getId()==ProjectViewModelChange.NEW_PROJECT_LOADED){			assignViewModel(c.getProjectViewModel());		}	}		public void assignViewModel(ProjectViewModel pvm){		pvModel = pvm;					viewOptions = pvModel.getViewOptions();	}}

⌨️ 快捷键说明

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