Avatar billede jp.skibby Nybegynder
25. oktober 2001 - 09:33 Der er 4 kommentarer og
1 løsning

Lukning af en dialogboks (JButton)

Jeg har et program i java hvor jeg bruger swing. I dette program er der forskellige ekstravinduer der bliver brugt til at sende data til en database. Disse operationer eksekveres ved hjælp af en JButton. Hvordan kan jeg lukke dette vindue over knappen, samtidig med at operationen eksekveres, så jeg ikke bagefter skal op og aktivere \"krydset\".
Avatar billede disky Nybegynder
25. oktober 2001 - 09:34 #1
du close()\'er det bare.
Avatar billede ladyhawke Novice
25. oktober 2001 - 10:50 #2
Hvad er der i vejen med disky\'s svar?

vindue1.close();
vindue2.close();
...

Det indsættes blot der hvor du gerne vil lukke vinduerne...

Hvis det ikke er godt nok må du være mere specifik mht. hvad det er du gerne vil opnå...
Avatar billede carstenknudsen Nybegynder
25. oktober 2001 - 11:48 #3
Prøv at benytte dispose() metoden der skulle frigøre
alle resourcer der benyttes af vinduet.  Hvis du vil
kunne bruge vinduet igen senere kan du istedet
benytte setVisible(false) der skjuler vinduet,
og senere udføre setVisible(true).
PS Dette er vist også et svar til ladyhawke idet
der ikke er en close metode (såvidt jeg husker).
Avatar billede jp.skibby Nybegynder
25. oktober 2001 - 11:53 #4
Jeg viser lige koden
Sådan ser programmet ud.
Hvad skal jeg skrive til sidst i innerclassen??

            //BGF for \"Opret Medarbejder\"


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


public class MaoSkema extends JFrame{

    private JPanel pOma = new JPanel();
    private JTextField tml = new JTextField();
    private JTextField tmf = new JTextField();
    private JTextField tme = new JTextField();
    private JTextField tmt = new JTextField();
    private JButton bma = new JButton(\"OPRET\");
    private JLabel l1 = new JLabel(\"  Lønnr.:\");
    private JLabel l2 = new JLabel(\"  Fornavn:\");
    private JLabel l3 = new JLabel(\"Efternavn:\");
    private JLabel l4 = new JLabel(\"    Type:\");
    private Color fc = Color.black;
    private String mineData;

    public MaoSkema(){

        super(\"Opret Medarbejder\");

        pOma.setLayout(null);

        l1.setBounds(20,20,100,20);
        l1.setForeground(fc);
        tml.setBounds(110,20,150,25);
        l2.setBounds(20,55,100,20);
        l2.setForeground(fc);
        tmf.setBounds(110,55,300,25);
        l3.setBounds(20,90,100,20);
        l3.setForeground(fc);
        tme.setBounds(110,90,300,25);
        l4.setBounds(20,125,100,20);
        l4.setForeground(fc);
        tmt.setBounds(110,125,300,25);

        bma.setBounds(240,160,170,30);

        pOma.add(l1);
        pOma.add(tml);
        pOma.add(l2);
        pOma.add(tmf);
        pOma.add(l3);
        pOma.add(tme);
        pOma.add(l4);
        pOma.add(tmt);
        pOma.add(bma);
        getContentPane().add(pOma);

        //innerclass med event for \"Opret Medarbejder\" i MaoSkema
                bma.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent e){
                        //SQL sætning for at lave ny IT.profil
                    mineData=new String(\"Insert into MEDARBEJDER values\"+
                    \" (\"+Integer.parseInt(tml.getText())+\",\'\"+tmf.getText()+\"\',\"+
                    \"\'\"+tme.getText()+\"\',\'today\',null,null,null,\"+
                    \"\'\"+tmt.getText()+\"\')\");
                    DBForbindelse db = new DBForbindelse();
                    db.opDater(mineData);
                   

                }
        });
    }
}

Avatar billede carstenknudsen Nybegynder
25. oktober 2001 - 11:56 #5
MaoSkema.this.dispose();
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