Avatar billede foo_baa Nybegynder
08. juni 2002 - 11:05 Der er 9 kommentarer og
1 løsning

opdatter ift. database

HEj - jeg har lavet en brugerflade i swing - hveri jeg henter nogle værdier ind fra en database. Det kører fint nok det jeg så vil høre er:
1. De værdier jeg henter ind og skriver ud på min brugerflade gennemen metode hentVaerdier() er det muligt at lave en eller anden metode der siger - hent disse værdier hver 2 min. Så at den hver 2 minut opdatterer den værdi der står på brugerfladen ift. den værdi der er i databasen.
2. Næsten det samme som ovenfor - men den hver opdatterer den hun hvis værdien i databasen har ændret sig.
Er dette muligt ???
Foo_baa
Avatar billede soreno Praktikant
08. juni 2002 - 11:09 #1
1) du kan eks. bruge en tråd - tag evt. udgangspunkt i dette lille eks:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TestKlasseSwing extends JFrame implements WindowListener, Runnable
{
    private int frameWidth = 640;
    private int frameHeight = 480;
    private JScrollPane jsp;
    private JTextArea jta;
    private Thread thread;
    private int counter;
   
    public TestKlasseSwing()
    {
        createFrame();
        thread = new Thread(this);
        thread.start();
    }

    private void createFrame()
    {
        setTitle("TestKlasseSwing");
        setResizable(false);
        addWindowListener(this);           

        //components
        jta = new JTextArea();
        jsp = new JScrollPane(jta);       
        this.getContentPane().add(jsp);
       
        //Center Frame
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setSize(new java.awt.Dimension(frameWidth, frameHeight));
        setLocation( (screenSize.width-this.getWidth()) / 2, (screenSize.height - this.getHeight()) / 2);
    }

    public void run()
    {
        while(true)
        {
            jta.append("Nu opdaterer jeg databasen\n");
            try
            {
                thread.sleep(1000); //millisek.
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
    }

    public void windowOpened(WindowEvent e){}
    public void windowClosing(WindowEvent e){ dispose(); System.exit(0);}
    public void windowClosed(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}
    public void windowActivated(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
}

class Main
{
    public static void main(String args[])
    {
          new TestKlasseSwing().show();
    }
}
Avatar billede foo_baa Nybegynder
09. juni 2002 - 11:28 #2
Hvis man umiddelbart bare prøver at køre denne fil så kommer der en Exception in thread "main" java.lang.NoSuchMethodError: main
Avatar billede soreno Praktikant
09. juni 2002 - 12:39 #3
hvordan kører du programmet / hvordan starter du det op ?
jeg starter det op med:
java Main
Avatar billede foo_baa Nybegynder
09. juni 2002 - 16:10 #4
også her
Avatar billede foo_baa Nybegynder
09. juni 2002 - 16:15 #5
ok nu virker det ????? Nå men hva - det ser ud til at være det jeg har brug for så takker
Avatar billede foo_baa Nybegynder
09. juni 2002 - 18:05 #6
Lige en sidste ting hvis du når at se det.
Istedet for den append du bruger - er der så ikke en update - der opdatterer det text man har sat ind istedetfor at skrive noget nyt bagefter
Avatar billede soreno Praktikant
09. juni 2002 - 18:28 #7
hvis jeg har forstået det korrekt:
jta.setText("Min tekst");
Avatar billede foo_baa Nybegynder
09. juni 2002 - 19:55 #8
ok - kanon- så overskriver den bare den gamle tekst hver gang ??
Avatar billede soreno Praktikant
09. juni 2002 - 20:02 #9
jeps
Avatar billede foo_baa Nybegynder
09. juni 2002 - 20:12 #10
kanon - takker for hjælpen
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