Avatar billede funkyloonie Nybegynder
19. januar 2003 - 15:53 Der er 6 kommentarer og
1 løsning

Oprette ny objekt ved klik på knap

Jeg savner et simpelt eksempel på hvordan man ved klik på en knap kan oprette et nyt objekt på grænsefladen, f.eks. en knap til ved siden af. Min pointe er at objekt først instantieres ved klik på knappen, og visible derfor ikke er sat til false.
Avatar billede olly Nybegynder
19. januar 2003 - 17:32 #1
Er det ikke bare et spørgsmål om at lave en repaint på den frame du tilføjer til?

Jeg kan prøve at lave et eksempel i aften hvis du har interesse i det?
Avatar billede olly Nybegynder
19. januar 2003 - 18:43 #2
Her er et eksempel på hvordan det kan gøres...

------------------------------------
import javax.swing.*;
import java.awt.event.*;

public class GUI extends JFrame implements ActionListener {

    JButton knap1, knap2;

    public GUI()
    {
        this.getContentPane().setLayout(null);
        knap1 = new JButton("Tryk");
        knap1.setBounds(0,0,100,50);
        this.getContentPane().add(knap1);
        knap1.addActionListener(this);
        this.setSize(300,300);
        show();
    }

    public void actionPerformed(ActionEvent e)
    {
        if (e.getSource() == knap1)
        {
            knap2 = new JButton("Her er jeg");
            knap2.setBounds(110,50,100,50);
            this.getContentPane().add(knap2);
            knap2.addActionListener(this);
            this.getContentPane().repaint();
        }
    }

    public static void main(String args[])
    {
        GUI gui = new GUI();
    }
}
---------------------------------------------------

Som du kan se er det vigtige faktisk bare at huske at repainte panelet...
Det er denne linie der gør forskelden:

            this.getContentPane().repaint();
Avatar billede olly Nybegynder
19. januar 2003 - 18:45 #3
Ups... Svar :)
Avatar billede funkyloonie Nybegynder
19. januar 2003 - 19:21 #4
jeg har ikke testet om din løsning virker da jeg selv fandt ud af det. anyway jeg har givet dig points for ulejligheden. Tak!
Avatar billede olly Nybegynder
19. januar 2003 - 19:35 #5
Jamen tak... Men det havde du da ikke behøvet... Men rigtig mange tak... Det er ikke så svært :)
Avatar billede funkyloonie Nybegynder
19. januar 2003 - 19:40 #6
Det fandt jeg ud af, men nogle gange kan man sidde længe og kvaje sig. Nu har jeg fået den lille detalje til at virke og kan komme videre med grænsefladen. Selvom jeg selv fandt løsningen så skal du have points for at følge spørgsmålet til dørs, når jeg nu ikke lige fik lukket det.
Avatar billede olly Nybegynder
19. januar 2003 - 19:44 #7
Tak... Og ja man kan sidde længe og prøve sig frem selv om tingene er nok så ligetil...
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