Java 排队文本区

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

我正在尝试获取我的队列-用户在textfield中键入的内容,通过使用enqueue添加到textarea,当他们单击dequeue按钮时,队列将被删除。我已经把所有东西都编程好了,但我似乎无法让它与gui一起工作

面板类别:

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");