📄 taskeditdialog.java
字号:
/* * $Id: TaskEditDialog.java,v 1.1.1.1 2001/03/20 22:17:41 mastermitch Exp $ * * 2001 (C) by Christian Garbs <mitch@uni.de> * * Licensed under GNU GPL (see COPYING for details) * */package de.cgarbs.apps.jprojecttimer;import java.awt.BorderLayout;import java.awt.Component;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionListener;import java.util.Enumeration;import java.util.Vector;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.ListSelectionModel;public class TaskEditDialog extends JDialog implements ActionListener{ Task t; TaskList tasks; JTextField name, length, completion; JList list; final static String OK_BUTTON = "ok"; TaskEditDialog(JFrame owner, TaskList tasks, int index) { super(owner, Resource.get("editTaskDialogTitle"), true); t = (Task) tasks.elementAt(index); this.tasks = tasks; Vector showedList = new Vector(tasks); showedList.removeElementAt(index); list = new JList(showedList); list.setPrototypeCellValue("ABCDEFGHIJKLMNOPQRST"); list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); for (Enumeration e = ((Task) tasks.elementAt(index)).getDependencies().elements(); e.hasMoreElements(); ) { int i = tasks.indexOf(e.nextElement()); list.addSelectionInterval(i,i); } Component contents = createComponents(); getContentPane().add(contents, BorderLayout.CENTER); pack(); setVisible(true); } void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy) { gbc.gridx = gx; gbc.gridy = gy; gbc.gridwidth = gw; gbc.gridheight = gh; gbc.weightx = wx; gbc.weighty = wy; } Component createComponents() { GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); JPanel panel = new JPanel(gridbag); // Labels buildConstraints(constraints, 0, 0, 1, 1, 10, 40); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; JLabel label1 = new JLabel(" "+Resource.get("task")+": "); gridbag.setConstraints(label1, constraints); panel.add(label1); buildConstraints(constraints, 0, 1, 1, 1, 10, 40); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; JLabel label2 = new JLabel(" "+Resource.get("duration")+": "); gridbag.setConstraints(label2, constraints); panel.add(label2); buildConstraints(constraints, 0, 2, 1, 1, 10, 40); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.NORTHEAST; JLabel label3 = new JLabel(" "+Resource.get("finished")+" %: "); gridbag.setConstraints(label3, constraints); panel.add(label3); buildConstraints(constraints, 0, 3, 1, 1, 10, 40); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.NORTHEAST; JLabel label4 = new JLabel(" "+Resource.get("predecessors") + ": "); gridbag.setConstraints(label4, constraints); panel.add(label4); // Textfelder buildConstraints(constraints, 1, 0, 1, 1, 90, 0); constraints.fill = GridBagConstraints.HORIZONTAL; name = new JTextField(t.getName()); gridbag.setConstraints(name, constraints); panel.add(name); buildConstraints(constraints, 1, 1, 1, 1, 90, 0); constraints.fill = GridBagConstraints.HORIZONTAL; length = new JTextField(Integer.toString(t.getLength())); gridbag.setConstraints(length, constraints); panel.add(length); buildConstraints(constraints, 1, 2, 1, 1, 90, 0); constraints.fill = GridBagConstraints.HORIZONTAL; completion = new JTextField(Integer.toString(t.getCompletion())); gridbag.setConstraints(completion, constraints); panel.add(completion); // Listbox buildConstraints(constraints, 1, 3, 1, 1, 90, 0); constraints.fill = GridBagConstraints.HORIZONTAL; JScrollPane listScrollPane = new JScrollPane(list); gridbag.setConstraints(listScrollPane, constraints); panel.add(listScrollPane); // Buttons buildConstraints(constraints, 1, 4, 1, 1, 10, 40); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.WEST; JButton b = new JButton(Resource.get("okButton")); b.setActionCommand(OK_BUTTON); b.addActionListener(this); gridbag.setConstraints(b, constraints); panel.add(b); return panel; } public void actionPerformed(java.awt.event.ActionEvent e) { if (e.getActionCommand().equals(OK_BUTTON)) { saveValues(); hide(); } } void saveValues() { try { t.setLength(Integer.parseInt(length.getText())); } catch (java.lang.NumberFormatException ex) { t.setLength(0); } try { t.setCompletion(Integer.parseInt(completion.getText())); } catch (java.lang.NumberFormatException ex) { t.setCompletion(0); } t.setName(name.getText()); int[] indices = list.getSelectedIndices(); TaskList newDependencies = new TaskList(); for (int i=0; i < indices.length; i++) { Task element = (Task) tasks.elementAt(indices[i]); if (element.checkRecursion(t)) { JOptionPane.showMessageDialog(this, element.getName()+": "+Resource.get("recursionWarning"), Resource.get("warningDialogTitle"), JOptionPane.WARNING_MESSAGE); } else { newDependencies.addElement(element); } } t.setDependencies(newDependencies); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -