2013-04-11, 14:21
  #1
Medlem
Tjena! Jag har ett problem med min kod som jag ej kan lsa. Jag vill att programmet ska visa "minuter : sekunder : hundradelar" men jag fr den aldrig att visa just det. Tacksam fr all hjlp !

**Koden:


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

public class TimerAdam extends JFrame implements ActionListener {


// Variabler
JPanel panelUp, panelDown;
JLabel labelTime;
JButton buttonPlay, buttonPaus, buttonStop;
Timer timerTime;
int time = 0;
int min;
int sec;
int hund;


// Konstruktr
public TimerAdam(){
setSize(300,200);
setLocation(300,300);
setTitle("Timer");

panelUp = new JPanel(); // Skapar element
panelDown = new JPanel();
labelTime = new JLabel(min + " : " + sec + " : " + hund);
buttonPlay = new JButton("Play");
buttonPaus = new JButton("Paus");
buttonStop = new JButton("Stop");
timerTime = new Timer(1000, this);

setLayout(new GridLayout(2,1));
panelUp.setLayout(new GridLayout(1,1));
panelDown.setLayout(new GridLayout(1,3));
panelUp.setBackground(Color.cyan);
labelTime.setHorizontalAlignment(SwingConstants.CE NTER);
labelTime.setFont(new Font("Arial", Font.BOLD, 25));

buttonPlay.addActionListener(this);
buttonPaus.addActionListener(this);
buttonStop.addActionListener(this);



panelUp.add(labelTime);
panelDown.add(buttonPlay);
panelDown.add(buttonPaus);
panelDown.add(buttonStop);

this.add(panelUp);
this.add(panelDown);


setDefaultCloseOperation(TimerAdam.EXIT_ON_CLOSE);

setVisible(true);
}


// Metoder

public static void main(String[] args){

new TimerAdam();

}


@Override
public void actionPerformed(ActionEvent e) {

int sec = time;
int min = time%60;
int hund = time%100;

if(time == 60){
min = time%60;
sec = 0;
time = 0;
}

if(e.getSource() == buttonPlay){
timerTime.start();

labelTime.setText((Integer.toString(min) + " : " + Integer.toString(sec) + " : " + Integer.toString(hund)));

}

if(e.getSource() == buttonPaus){
timerTime.stop();
}

if(e.getSource() == buttonStop){
timerTime.stop();
time = 0;
labelTime.setText(Integer.toString(time));
}

if(e.getSource() == timerTime){
labelTime.setText((Integer.toString(min) + " : " + Integer.toString(sec) + " : " + Integer.toString(hund)));
time++;
}
}
}
Citera
2013-04-11, 17:07
  #2
Medlem
Vad visar den d? Vad r problemet mer exakt?
Citera
2013-04-12, 10:37
  #3
Medlem
Citat:
Ursprungligen postat av oxpytt
Vad visar den d? Vad r problemet mer exakt?

Den visar endast sekunder, och utesluter minuter samt hundradelar helt. Jag hittar inget fel...
Citera
2013-04-20, 16:57
  #4
Medlem
dethalvabarnets avatar
Citat:
Ursprungligen postat av addetre3
Problem = Den visar endast sekunder, och utesluter minuter samt hundradelar helt. Jag hittar inget fel...
Kod:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class 
TimerAdam extends JFrame implements ActionListener {

    
    
// Variabler
    
JPanel panelUppanelDown;
    
JLabel labelTime;
    
JButton buttonPlaybuttonPausbuttonStop;
    
Timer timerTime;
    
int time 0;
    
int min;
    
int sec;
    
int hund;
    
    
    
// Konstruktr
    
public TimerAdam(){
        
setSize(300,200);
        
setLocation(300,300);
        
setTitle("Timer");
        
        
panelUp = new JPanel();            // Skapar element
        
panelDown = new JPanel();
        
labelTime = new JLabel(min " : " sec " : " hund);
        
buttonPlay = new JButton("Play");
        
buttonPaus = new JButton("Paus");
        
buttonStop = new JButton("Stop");
        
timerTime = new Timer(1000this);
        
        
setLayout(new GridLayout(2,1));
        
panelUp.setLayout(new GridLayout(1,1));
        
panelDown.setLayout(new GridLayout(1,3));
        
panelUp.setBackground(Color.cyan);
        
labelTime.setHorizontalAlignment(SwingConstants.CENTER);
        
labelTime.setFont(new Font("Arial"Font.BOLD25));
        
        
buttonPlay.addActionListener(this);
        
buttonPaus.addActionListener(this);
        
buttonStop.addActionListener(this);
        
        
        
        
panelUp.add(labelTime);
        
panelDown.add(buttonPlay);
        
panelDown.add(buttonPaus);
        
panelDown.add(buttonStop);
        
        
this.add(panelUp);
        
this.add(panelDown);
        
        
        
setDefaultCloseOperation(TimerAdam.EXIT_ON_CLOSE);
        
        
setVisible(true);
    }
    
    
    
// Metoder
    
    
public static void main(String[] args){
    
        new 
TimerAdam();
        
    }


    @
Override
    
public void actionPerformed(ActionEvent e) {
            
            
int sec time;
            
int min time%60;
            
int hund time%100;
            
        if(
time == 60){
            
min time%60;
            
sec 0;
            
time 0;
        }
        
        if(
e.getSource() == buttonPlay){
            
timerTime.start();
                
            
labelTime.setText((Integer.toString(min) + " : " Integer.toString(sec) + " : " Integer.toString(hund)));
        
        }
        
        if(
e.getSource() == buttonPaus){
            
timerTime.stop();
        }
        
        if(
e.getSource() == buttonStop){
            
timerTime.stop();
            
time 0;
            
labelTime.setText(Integer.toString(time));
        }
        
        if(
e.getSource() == timerTime){
            
labelTime.setText((Integer.toString(min) + " : " Integer.toString(sec) + " : " Integer.toString(hund)));
            
time++;
        }
    }    


Formaterade ditt inlgg innan jag orkar kolla p det.
Citera
2013-04-20, 17:12
  #5
Medlem
dethalvabarnets avatar
Finns en hel del fel, brja med att gra lite pseudokod.
Sedan kan du brja med att kolla att delar av koden gr det du verkligen vill att den ska gra.
Sen kan du ndra strukturen s den r mer systematisk men inte ett mste.

+1
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in