opdatere infor i en stack.
Jeg har lavet et GUI hvor der vises en stack, men når jeg laver en pop(remove) så bliver min stack ikke opdateret på skærmen. Nogen der kan hjælpe med det?? I får lige lidt kode at lege medimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class GUI extends JFrame implements ActionListener {
private java.util.Stack hat1 = new java.util.Stack();
private JTextField input = new JTextField(5);
private JTextArea output = new JTextArea(15,10);
private JButton tilfoej = new JButton("Tilføj");
private JButton smugkig = new JButton("Smugkig");
private JButton tagAf = new JButton("Tag af");
private JButton stoerrelse = new JButton("Størrelse");
private JTextField output1 = new JTextField(5);
private String stackString ="";
//Methods
//Constructor
public GUI(){
JLabel inputLab = new JLabel("Indtast data");
JPanel dataPanel = new JPanel();
JPanel buttonPanel = new JPanel();
JLabel inputLab1 = new JLabel("Uddata: Kigge / tag af");
JPanel dataPanel1 = new JPanel();
JLabel outLab = new JLabel("Stakken");
JPanel dataPanel2 = new JPanel();
getContentPane().setLayout(new FlowLayout());
dataPanel.add(inputLab);
dataPanel.add(input);
getContentPane().add(dataPanel);
input.requestFocus();
buttonPanel.add(tilfoej);
buttonPanel.add(smugkig);
buttonPanel.add(tagAf);
buttonPanel.add(stoerrelse);
getContentPane().add(buttonPanel);
dataPanel2.add(outLab);
dataPanel2.add(output);
getContentPane().add(dataPanel2);
getContentPane().add(output);
smugkig.addActionListener(this);
tilfoej.addActionListener(this);
tagAf.addActionListener(this);
stoerrelse.addActionListener(this);
dataPanel1.add(inputLab1);
dataPanel1.add(output1);
getContentPane().add(dataPanel1);
}
public void actionPerformed(ActionEvent hat){
Object buttomPressed = hat.getSource();
if (buttomPressed == tilfoej){
stackString += "\n"+input.getText();
output.setText(stackString);
hat1.push(input.getText());
}
if
(buttomPressed == smugkig){
output1.setText(""+hat1.peek());
}
if
(buttomPressed == tagAf){
output1.setText(""+hat1.pop());
}
if
(buttomPressed == stoerrelse){
output1.setText(""+hat1.size());
}
}
public static void main (String [] args){
GUI gui = new GUI();
gui.setSize(375,425);
gui.setVisible(true);
gui.setTitle("Distance conversion");
gui.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
}
