Avatar billede montymus Nybegynder
14. februar 2004 - 13:18 Der er 4 kommentarer og
2 løsninger

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 med

import 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);
            }
        }
    );


}



}
Avatar billede arne_v Ekspert
14. februar 2004 - 13:31 #1
if

        (buttomPressed == tagAf){
            stackString = stackString.substring(0, stackString.lastIndexOf('\n'));
            output.setText(stackString);
Avatar billede montymus Nybegynder
14. februar 2004 - 13:43 #2
takker
Avatar billede montymus Nybegynder
14. februar 2004 - 13:44 #3
Sig mig engang. Skal der ikke ske noget når jeg trykker på accepter svar????
Avatar billede arne_v Ekspert
14. februar 2004 - 14:19 #4
Ved jeg ikke - jeg prøver lige at ligge et svar igen.
Avatar billede montymus Nybegynder
14. februar 2004 - 14:28 #5
fatter hat.. Jeg trykker og trykker men der sker intet
Avatar billede montymus Nybegynder
14. februar 2004 - 14:31 #6
der var den
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester