Bom galera Desculpa aew pela bagunça é que é a primeira vez que posto aki no guj.
Bom segue então as 3 classes
TaskEditorPanel>> é um form que interage com as outras duas classes.
Task>>classe
Taskimpl>>implementa a classe Task
((( o Codigo em vermelho e em sublinhado é o erro que esta dando)
o problema é>> estou com um erro na class TaskEditorPanel
package com.netbeansrcp.taskeditor;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import javax.swing.event.DocumentEvent;
import org.openide.util.Task;
/**
*
* @author jcsouza
*/
public class TaskEditorPanel extends javax.swing.JPanel {
/** Creates new form TaskEditorPanel */
public TaskEditorPanel() {
initComponents();
this.updateForm();
}
private Task task = new [u]TaskImpl[/u]();
private void updateTask() {
this.task.[color=red][u]setName[/u][/color](this.jTextField3.getText());
Date due = null;
try {
due =
DateFormat.getDateInstance().parse(this.jTextField4.getText());
} catch (ParseException exception) {
due = new Date();
}
this.task.[color=red][u]setDue[/u][/color](due);
if (!this.jSlider1.getValueIsAdjusting()) {
switch (this.jSlider1.getValue()) {
case 0:
this.task.setPrio(Task.[u]Priority[/u].LOW);
break;
case 1:
this.task.setPrio(Task.[u]Priority[/u].MEDIUM);
break;
case 2:
this.task.setPrio(Task.[color=red][u]Priority[/u][/color].HIGH);
}
}
this.task.[color=red][u]setProgr[/u][/color](this.jSlider2.getValue());
this.task.[color=red][u]setDescr[/u][/color](this.jTextArea1.getText());
}
private void updateForm() {
this.jTextField1.setText(this.task.[color=red][u]getId[/u][/color]());
this.jTextField2.setText(this.task.[color=red][u]getParentId[/u][/color]());
this.jTextField3.setText(this.task.[color=red][u]getName[/u][/color]());
this.jTextField4.setText(DateFormat.getDateInstance().format(this.task.[color=red][u]getDue[/u][/color]()));
this.jTextArea1.setText(this.task.[color=red][u]getDescr[/u][/color]());
if (Task.[u][color=red]Priority[/color][/u].LOW.equals(this.task.[color=red][u]getPrio[/u][/color]())) {
this.jSlider1.setValue(0);
} else if (Task.Priority.MEDIUM.equals(this.task.[color=red][u]getPrio[/u][/color]())) {
this.jSlider1.setValue(1);
} else {
this.jSlider1.setValue(2);
}
this.jSlider2.setValue(this.task.getProgr());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jSlider1 = new javax.swing.JSlider();
jSlider2 = new javax.swing.JSlider();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jSlider1.setMajorTickSpacing(1);
jSlider1.setMaximum(2);
jSlider1.setMinorTickSpacing(1);
jSlider1.setPaintTicks(true);
jSlider1.setSnapToTicks(true);
jSlider1.setValue(0);
jSlider1.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jSlider1StateChanged(evt);
}
});
jSlider2.setMajorTickSpacing(25);
jSlider2.setMinorTickSpacing(5);
jSlider2.setPaintLabels(true);
jSlider2.setPaintTicks(true);
jSlider2.setSnapToTicks(true);
jSlider2.setValue(0);
jSlider2.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jSlider2StateChanged(evt);
}
});
jTextField1.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jTextField1.text")); // NOI18N
this.jTextField1.getDocument().addDocumentListener(this.docListener);
jTextField2.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jTextField2.text")); // NOI18N
this.jTextField2.getDocument().addDocumentListener(this.docListener);
jTextField3.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jTextField3.text")); // NOI18N
jTextField3.setEnabled(false);
this.jTextField3.getDocument().addDocumentListener(this.docListener);
jTextField4.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jTextField4.text")); // NOI18N
jTextField4.setEnabled(false);
this.jTextField4.getDocument().addDocumentListener(this.docListener);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jLabel1.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel1.text")); // NOI18N
jLabel2.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel2.text")); // NOI18N
jLabel3.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel3.text")); // NOI18N
jLabel4.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel4.text")); // NOI18N
jLabel5.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel5.text")); // NOI18N
jLabel6.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel6.text")); // NOI18N
jLabel7.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, "TaskEditorPanel.jLabel7.text")); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(57, 57, 57)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jSlider2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.addComponent(jSlider1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.addComponent(jTextField4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.addComponent(jTextField3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.addComponent(jTextField2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
.addGap(23, 23, 23))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE)))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE)
.addGap(11, 11, 11)))
.addGap(13, 13, 13)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSlider2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE)
.addGap(11, 11, 11)))
.addGap(3, 3, 3)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(54, 54, 54))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(52, 52, 52))
);
}// </editor-fold>
private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {
this.updateTask();
}
private void jSlider2StateChanged(javax.swing.event.ChangeEvent evt) {
this.updateTask();
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSlider jSlider1;
private javax.swing.JSlider jSlider2;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
// End of variables declaration
}
Segunda classe:Task
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.netbeansrcp.taskmodel.newpackage.API;
import java.beans.PropertyChangeListener;
import java.io.Serializable;
/**
*
* @author jcsouza
*/
public interface Task extends Serializable {
public java.lang.String getId();
public java.lang.String getParentId();
public java.lang.String getName();
public void setName(java.lang.String name);
public java.util.Date getDue();
public void setDue(java.util.Date due);
public enum Priority {
LOW, MEDIUM, HIGH
}
public Priority getPrio();
public void setPrio(Priority prio);
public int getProgr();
public void setProgr(int progr);
public java.lang.String getDescr();
public void setDescr(java.lang.String descr);
public void addChild(Task subTask);
public java.util.List<Task> getChildren();
public boolean remove(Task subTask);
public void addPropertyChangeListener(PropertyChangeListener listener);
public void removePropertyChangeListener(
PropertyChangeListener listener);
public static final String PROP_NAME = "name";
public static final String PROP_DUE = "due";
public static final String PROP_PRIO = "prio";
public static final String PROP_PROGR = "progr";
public static final String PROP_DESCR = "descr";
public static final String PROP_CHILDREN_ADD = "children_add";
public static final String PROP_CHILDREN_REMOVE =
"children_remove";
}
Terceira Classe
Task Impl:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.netbeansrcp.taskmodel;
import com.netbeansrcp.taskmodel.newpackage.API.Task;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
*
* @author jcsouza
*/
public class TaskImpl implements Task {
private String id = "";
private String name = "";
private String parentId = "";
private Date due = new Date();
private Priority prio = Priority.MEDIUM;
private int progr = 0;
private String descr = "";
private List<Task> children = new ArrayList<Task>();
private PropertyChangeSupport pss;
public TaskImpl() {
this("", "");
}
public TaskImpl(String name, String parentId) {
this.id = "" + System.currentTimeMillis();
this.name = name;
this.parentId = parentId;
this.due = new Date();
this.prio = Priority.MEDIUM;
this.progr = 0;
this.descr = "";
this.children = new ArrayList<Task>();
this.pss = new PropertyChangeSupport(this);
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
String old = this.name;
this.name = name;
this.pss.firePropertyChange(PROP_NAME, old, name);
}
public String getParentId() {
return parentId;
}
public Date getDue() {
return due;
}
public void setDue(Date due) {
Date old = this.due;
this.due = due;
this.pss.firePropertyChange(PROP_DUE, old, due);
}
public Priority getPrio() {
return prio;
}
public void setPrio(Priority prio) {
Priority old = this.prio;
this.prio = prio;
this.pss.firePropertyChange(PROP_PRIO, old, prio);
}
public int getProgr() {
return progr;
}
public void setProgr(int progr) {
int old = this.progr;
this.progr = progr;
this.pss.firePropertyChange(PROP_PROGR, old, progr);
}
public String getDescr() {
return descr;
}
public void setDescr(String descr) {
String old = this.descr;
this.descr = descr;
this.pss.firePropertyChange(PROP_DESCR, old, descr);
}
public List<Task> getChildren() {
return Collections.unmodifiableList(this.children);
}
public void addChild(Task subTask) {
this.children.add(subTask);
this.pss.firePropertyChange(PROP_CHILDREN_ADD, null, this.children);
}
public boolean remove(Task subTask) {
boolean res = this.children.remove(subTask);
this.pss.firePropertyChange(PROP_CHILDREN_REMOVE, null,
this.children);
return res;
}
public synchronized void addPropertyChangeListener(
PropertyChangeListener listener) {
this.pss.addPropertyChangeListener(listener);
}
public synchronized void removePropertyChangeListener(
PropertyChangeListener listener) {
this.pss.removePropertyChangeListener(listener);
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final TaskImpl other = (TaskImpl) obj;
return this.id.equals(other.getId());
}
@Override
public int hashCode() {
int hash = 7;
hash = 97 * hash + (this.id != null ? this.id.hashCode() : 0);
return hash;
}
@Override
public String toString() {
return this.getId() + " - " + this.parentId + " - "
+ this.getName() + " - " + DateFormat.getInstance().
format(this.due) + " - " + this.prio + " - "
+ this.progr + " - " + this.descr;
}
}