Avatar billede cen Nybegynder
03. maj 2007 - 13:12 Der er 5 kommentarer og
1 løsning

Timer på JButtom

Hej
Jeg er forholdsvis ny til Java, og ville gerne høre om i kan forklare mig hvordan jeg laver en timer, der registrerer hvor langt tid man har trykket på en JButtom.
Noget ala.:

if(timer < 1 sek) { do: blabla }
else { do: blabla2 }
Avatar billede _carsten Nybegynder
03. maj 2007 - 20:10 #1
Du skal ikke bruge en timer, men bare registrere hvornår der trykkes på knappen og hvornår knappen slippes.


Eks.:


import java.text.DecimalFormat;

public class TimerButton extends javax.swing.JFrame {
   
    public TimerButton() {
        initComponents();
    }
   
                       
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        getContentPane().setLayout(new java.awt.GridLayout(2, 0));

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setText("Tryk med musen");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                start = System.currentTimeMillis();
            }

            public void mouseReleased(java.awt.event.MouseEvent evt) {
                double d = new Long((System.currentTimeMillis() - start)).doubleValue();
                String tid = df.format(d / 1000);
                jLabel1.setText("Du holdt musen nede i " + tid + " sek.");
            }
        });

        getContentPane().add(jButton1);

        jLabel1.setPreferredSize(new java.awt.Dimension(200, 14));
        getContentPane().add(jLabel1);

        pack();
    }

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

    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    DecimalFormat df = new DecimalFormat("0.000");
    private long start;
}
Avatar billede _carsten Nybegynder
05. maj 2007 - 19:33 #2
Er du kommet videre ?
Avatar billede cen Nybegynder
05. maj 2007 - 21:16 #3
Sorry, ja det er jeg.
Jeg har lavet en timer, der starter når man trykker på knappen, og stopper når man slipper.
Den løber på så på 1 sek., hvorved jeg så kan få kørt min funktion :)
Måske lidt fusk, men det virker helt som det skal.

Mvh. og tak for hjælpen.
Christian

p.s. du må gerne ligge et svar
Avatar billede _carsten Nybegynder
05. maj 2007 - 21:32 #4
Det gør jeg :)
Avatar billede _carsten Nybegynder
18. maj 2007 - 07:48 #5
Lukketid ?
Avatar billede cen Nybegynder
18. maj 2007 - 21:34 #6
sorry :)
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