Avatar billede touel Nybegynder
07. september 2008 - 15:48 Der er 12 kommentarer og
1 løsning

Indskyde String i JTextField

jeg har en String funktion, hvis str skal gemmes i en JTextField, nogen som vha. kode eks kan vise det ?
Avatar billede _carsten Nybegynder
07. september 2008 - 15:51 #1
brug setText();

textfield.setText( str );
Avatar billede touel Nybegynder
07. september 2008 - 15:56 #2
Nå ja, en anden ting jeg også gerne vil vide er om man må bruge flere addActionListner metoder i samme klasse. Hvis ja, skal alle "void actionPerformed(ActionEvent e)" hedde det samme, dvs actionPerformed eller skal man tilføje noget ekstra til funktions navnnene, så ActionListner kan se forskel på dem ?
Avatar billede _carsten Nybegynder
07. september 2008 - 16:12 #3
Hmm - du kan adde den samme actionListener til flere komponenter, men ikke den anden model.

Du laver bare en klasse som implementerer en actionListener og adder den listener til komponenten
Avatar billede _carsten Nybegynder
07. september 2008 - 16:16 #4
Jeg er sgu ikke sikker på jeg forstår dit spm.

Hver metode i en klasse skal have entydige navne og parametre

actionPerformed(ActionEvent e) kan kun hedde "actionPerformed(ActionEvent e)"
Avatar billede touel Nybegynder
07. september 2008 - 16:21 #5
så hvis jeg eks. har 4 actionPerformed(ActionEvent e) metoder i en klasse, hvordan ved ActionListener - infacet så, hvilken af disse 4 metoder den skal kalde ?
Avatar billede _carsten Nybegynder
07. september 2008 - 16:31 #6
Det har du heller ikke, med mindre disse 4 metoder ligger i hver sin inner class i den ydre class, eller vil du kunne compile det
Avatar billede _carsten Nybegynder
07. september 2008 - 16:32 #7
ellers vil du ikke kunne compile det :)
Avatar billede touel Nybegynder
07. september 2008 - 16:59 #8
Jeg ønsker at hente et obj fra en anden metode ind til actionPerformed. Jeg kan ikke pille ved (actionvEvent e). Hvad kunne jeg gøre ?
Avatar billede _carsten Nybegynder
07. september 2008 - 20:11 #9
Sorry - var lige i byen.

Du laver bare din egen klasse som implementerer ActionListener.

Her er et eksempel


import javax.swing.JOptionPane;

public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
        jButton1.addActionListener( new MyActionListener(this));
    }


    private void initComponents() {

        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.FlowLayout());

        jButton1.setText("Tryk på knappen");
        getContentPane().add(jButton1);

        pack();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }



    public void kaldesAfMinActionListener(){
        JOptionPane.showMessageDialog(this, "Her er et eksempel.");
    }

    private javax.swing.JButton jButton1;
}







import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MyActionListener implements ActionListener{
    private NewJFrame frame;
   
    public MyActionListener(NewJFrame f){
        this.frame = f;
    }

    public void actionPerformed(ActionEvent e) {
        frame.kaldesAfMinActionListener();
    }
}
Avatar billede _carsten Nybegynder
07. september 2008 - 20:12 #10
Knappen som bruger ActionListeneren ligger i en klasse, og selve ActionListeneren findes i en anden klasse
Avatar billede _carsten Nybegynder
07. september 2008 - 20:19 #11
Du kan selvfølgelig også lade din actionPerformed kalde en anden metode i klassen


import javax.swing.JOptionPane;


public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
    }

    private void initComponents() {

        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.FlowLayout());

        jButton2.setText("Tryk på knappen");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                action(evt);
            }
        });
        getContentPane().add(jButton2);

        pack();
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }


    private void action(java.awt.event.ActionEvent evt) {
          // HER KAN DU ANVENDE OBJECTER SOM FINDES I DENNE KLASSE
    }


    private javax.swing.JButton jButton2;
}
Avatar billede touel Nybegynder
09. september 2008 - 13:54 #12
du må gerne smide svar, og mange tak for hjælpen
Avatar billede _carsten Nybegynder
09. september 2008 - 14:07 #13
Kommer her
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