这让我感到困惑和烦恼了一段时间。我正在为朋友制作一个小程序,基本上这是一个待办事项清单。用户可以使用AddAssignment
类创建任务。用户必须完成几个字段,但我正在处理第一个字段,即任务名称。保存任务后,它将添加到列表中,该列表位于ViewAssignments
类中。任务名称的JTextField称为textField
。
我希望lblAssignmentNa
中的ViewAssignments
文本,textField
中的JLabel设置为btnCreateAssignment
的文字,AddAssignment
,textField
中的按钮{1}}上课。
我只欣赏代码将JLabel的文本更改为与{{1}}的文本相同的答案。谢谢。 如果您对此不了解,我很抱歉。如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
在回答您之前,我希望您查看此列表:
你可以这么说:当按下按钮而不是这个paragrap时,如何将lable的文本设置为textField的文本。但是这会对你有所帮助:
jLabel.setText(textField.getText());
答案 1 :(得分:1)
创建某种可以将请求传递给ViewAssignments
的setter方法,例如setAssignmentName
,当用户点击btnCreateAssignment
时,只需调用方法,传递{{1来自String
的值。
答案 2 :(得分:1)
首先,尝试不要将类名称作为其行为调用AddAssigment是类的错误名称。例如,应该是AddAssignmentPanel。
其次,您应该阅读本教程,然后使用它Property Change Listeners,(基本上是Observer Pattern
的实现)。
Observer
是具有lblAssignmentNa
的班级
财产(使用PropertyChangeListener
)Observable
是具有textfield
的班级
property(使用PropertyChangeSupport
)所以你必须做这样的事情。
btnCreateAssignment
按下你应该通知你的观察员。因此ViewAssigments
应该像这样定义。
public class ViewAssigments extends Something implements PropertyChangeListener
在AddAssigment
注册ViewAssigment
作为观察员
在btnCreateAssigment
事件中,您必须调用propertyChangeSupport.firePropertyChange(..)
并将其发送给观察者以通知状态更改。
此外,如果您的课程扩展JComponent
,您已准备好PropertyChangeSupport实例,以便注册Listeners
和firePropertyChange(..)