Java 排队文本区
我正在尝试获取我的队列-用户在textfield中键入的内容,通过使用enqueue添加到textarea,当他们单击dequeue按钮时,队列将被删除。我已经把所有东西都编程好了,但我似乎无法让它与gui一起工作 面板类别:Java 排队文本区,java,swing,user-interface,Java,Swing,User Interface,我正在尝试获取我的队列-用户在textfield中键入的内容,通过使用enqueue添加到textarea,当他们单击dequeue按钮时,队列将被删除。我已经把所有东西都编程好了,但我似乎无法让它与gui一起工作 面板类别: public QueuePanel() { enqueueButton = new JButton(enqueueButtonText); dequeueButton = new JButton(dequeueButtonText); cont
public QueuePanel() {
enqueueButton = new JButton(enqueueButtonText);
dequeueButton = new JButton(dequeueButtonText);
contentsTextArea = new JTextArea(20,30);
enqueueTextField = new JTextField("Type here", 15);
add(enqueueButton);
add(dequeueButton);
add(contentsTextArea);
add(enqueueTextField);
enqueueButton.addActionListener(new ButtonListener());
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent ae){
OurQueue theQueue = new OurQueue();
if(enqueueButton.isSelected()){
theQueue.first();
}
}
}
}
我的主要意见是:
节点:
队列类别:
public class OurQueue {
private Node front;
private Node back;
public OurQueue(){
front = null;
back = null;
}
public void enqueue(Object o){
Node newNode = new Node(o);
if (front == null){
back = newNode;
front = newNode;
}else{ // if queue is NOT empty
back.setNext(newNode);
back = newNode;
}
}
public Object dequeue(){
Object o = front.getData();
front = front.getNext();
return o;
}
public Object first(){
return front.getData();
}
public boolean empty(){
return (front == null);
}
}
就像我说的,一切都完成了,我只是想让实际的gui与gui一起工作。老实说,我不确定该怎么办。一个人是如何让按钮实际添加到队列中,从队列中取出,然后在文本区域中显示结果的
谢谢:
一个人是如何让按钮实际添加到队列中,从队列中取出,然后在文本区域中显示结果的
在ActionListener中,基本代码是:
textArea.append("some text here");
虽然我真的不确定你的节点代表什么。它们似乎不是文本组件。此外,由于您需要删除文本,因此使用JList可能更容易,因为您添加到JList中的每个项目都代表一个节点,因此从JList中删除最后一个项目更容易。节点将添加到或删除。我也用它来创建一个数据类型。。。
public class OurQueue {
private Node front;
private Node back;
public OurQueue(){
front = null;
back = null;
}
public void enqueue(Object o){
Node newNode = new Node(o);
if (front == null){
back = newNode;
front = newNode;
}else{ // if queue is NOT empty
back.setNext(newNode);
back = newNode;
}
}
public Object dequeue(){
Object o = front.getData();
front = front.getNext();
return o;
}
public Object first(){
return front.getData();
}
public boolean empty(){
return (front == null);
}
}
textArea.append("some text here");