PK,;META-INF/MANIFEST.MFMLK-. K-*ϳR03MuI,.RpL,I)(PK@)31PK y,;*vRDigitaluhr$1.class1< Digitaluhr$1java/lang/Objectjava/awt/event/ActionListenerthis$0 LDigitaluhr;(LDigitaluhr;)VCode    ()VLineNumberTableLocalVariableTablethisLDigitaluhr$1;actionPerformed(Ljava/awt/event/ActionEvent;)V  Digitaluhr access$0$(LDigitaluhr;)LDigitaluhr$UhrThread;   access$1)(LDigitaluhr;)Ljavax/swing/JToggleButton; "$#javax/swing/JToggleButton %& isSelected()Z (*)Digitaluhr$UhrThread +, setUhrLaeuft(Z)V.Stop "0 12setText(Ljava/lang/String;)V4StartaeLjava/awt/event/ActionEvent; SourceFileDigitaluhr.javaEnclosingMethod InnerClasses UhrThread0  8 *+ * 7   }=* * !'* !* -/* 3/9:0;<<==56789:(;PK y,;b-33Digitaluhr$2.class11 Digitaluhr$2java/lang/Objectjava/awt/event/ActionListenerthis$0 LDigitaluhr;(LDigitaluhr;)VCode    ()VLineNumberTableLocalVariableTablethisLDigitaluhr$2;actionPerformed(Ljava/awt/event/ActionEvent;)V  Digitaluhr access$2"(LDigitaluhr;)Ljavax/swing/JLabel;00 "!javax/swing/JLabel #$setText(Ljava/lang/String;)V & 'access$3 ) *access$4aeLjava/awt/event/ActionEvent; SourceFileDigitaluhr.javaEnclosingMethod InnerClasses0  8 *+ * @   e%* * %* (B CD$E%%+,-./0 PK y,;nXDigitaluhr$UhrThread.class1:Digitaluhr$UhrThreadjava/lang/ThreadlaeuftZ systemzeitJthis$0 LDigitaluhr;(LDigitaluhr;)VCode   ()V    LineNumberTableLocalVariableTablethisLDigitaluhr$UhrThread;run ! java/lang/System "#currentTimeMillis()J ')( Digitaluhr * hochzaehlend . /0sleep(J)V2java/lang/InterruptedExceptionnoetig setUhrLaeuft(Z)V SourceFileDigitaluhr.java InnerClasses UhrThread    L*+***wt uv  @*e$<**Y$a*&+-M39<1z{ |,}3<=y@(345 Y* ** 678 '9PK y,;;Digitaluhr.class1 Digitaluhrjavax/swing/JFrameserialVersionUIDJ ConstantValue2sekundenLjavax/swing/JLabel;minutenstunden doppelpunkt1 doppelpunkt2startLjavax/swing/JToggleButton;resetLjavax/swing/JButton;timerLDigitaluhr$UhrThread;()VCode  Digitaluhr$UhrThread  (LDigitaluhr;)V !  # %Stoppuhr ' ()setTitle(Ljava/lang/String;)V+java/awt/BorderLayout * . /0 setLayout(Ljava/awt/LayoutManager;)V 2 34setDefaultCloseOperation(I)V6javax/swing/JPanel 59javax/swing/BoxLayout 8; <(Ljava/awt/Container;I)V 5.?javax/swing/JLabelA00 >C ) E 5G HIadd*(Ljava/awt/Component;)Ljava/awt/Component;K: M  O Q  S UCenter W HX)(Ljava/awt/Component;Ljava/lang/Object;)VZjava/awt/GridLayout Y\ ](II)V_javax/swing/JToggleButtonaStart ^C d f Digitaluhr$1 e ^i jkaddActionListener"(Ljava/awt/event/ActionListener;)Vmjavax/swing/JButtonoReset lC r t Digitaluhr$2 s lixSouth z|{java/awt/Toolkit }~getDefaultToolkit()Ljava/awt/Toolkit; z  getScreenSize()Ljava/awt/Dimension; java/awt/Dimension widthI  ]setSize   fontsAnpassen   setResizable(Z)VLineNumberTableLocalVariableTablethis LDigitaluhr; zeitPanelLjavax/swing/JPanel; buttonPanel  getWidth()I java/awt/Font MONOSPACED (Ljava/lang/String;II)V getSize Sans Serif?333333 > setFont(Ljava/awt/Font;)V  pack zahlenFontLjava/awt/Font; punktFont hochzaehlen > getText()Ljava/lang/String; java/lang/Integer parseInt(Ljava/lang/String;)Ijava/lang/StringBuilder0 java/lang/String valueOf&(Ljava/lang/Object;)Ljava/lang/String; C append(I)Ljava/lang/StringBuilder; toString > )setTextsekminstdmain([Ljava/lang/String;)V    setVisibleargs[Ljava/lang/String;duaccess$0$(LDigitaluhr;)LDigitaluhr$UhrThread;access$1)(LDigitaluhr;)Ljavax/swing/JToggleButton;access$2"(LDigitaluhr;)Ljavax/swing/JLabel;access$3access$4 SourceFileDigitaluhr.java InnerClasses UhrThread!       6**Y* * "*$&**Y,-*15Y7L+8Y+:=*>Y@BD+*DFW*>YJBL+*LFW*>Y@BN+*NFW*>YJBP+*PFW*>Y@BR+*RFW*+TV5Y7M,YY[=*^Y`bc*ceY*gh,*cFW*lYnpq*qsY*uv,*qFW*,wV*yd**  "#($-&5'B(O)X*e+n,{-./0124567>?@ GHI,J0K5L 65wn*<Y MY,dMY,kN*D,*L-*N,*P-*R,**2 OPR$S9TAUIVQWYXaYeZm[*ni[9,,*R<*N=*D>; <; =*RY çŸǷζҶ*NY çŸǷζҶ*DY çŸǷζҶձ:^ _`!a'b-d/e5f;h=i@lemno* ! JYL+ޱ %* %*c%*D%*N%*ResPK y,;:w~ߗDigitaluhr.javaimport java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JToggleButton; public class Digitaluhr extends JFrame { private static final long serialVersionUID = 20090803L; private JLabel sekunden; private JLabel minuten; private JLabel stunden; private JLabel doppelpunkt1; private JLabel doppelpunkt2; private JToggleButton start; private JButton reset; private UhrThread timer; public Digitaluhr() { timer = new UhrThread(); timer.start(); setTitle("Stoppuhr"); setLayout(new BorderLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel zeitPanel = new JPanel(); zeitPanel.setLayout(new BoxLayout(zeitPanel,BoxLayout.LINE_AXIS)); stunden = new JLabel("00"); zeitPanel.add(stunden); doppelpunkt1 = new JLabel(":"); zeitPanel.add(doppelpunkt1); minuten = new JLabel("00"); zeitPanel.add(minuten); doppelpunkt2 = new JLabel(":"); zeitPanel.add(doppelpunkt2); sekunden = new JLabel("00"); zeitPanel.add(sekunden); add(zeitPanel, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout(1,2)); start = new JToggleButton("Start"); start.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { timer.setUhrLaeuft(start.isSelected()); if (start.isSelected()) start.setText("Stop"); else start.setText("Start"); } }); buttonPanel.add(start); reset = new JButton("Reset"); reset.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { stunden.setText("00"); minuten.setText("00"); sekunden.setText("00"); } }); buttonPanel.add(reset); add(buttonPanel, BorderLayout.SOUTH); setSize(Toolkit.getDefaultToolkit().getScreenSize().width,100); fontsAnpassen(); setResizable(false); } private void fontsAnpassen() { int width = getWidth(); Font zahlenFont = new Font("MONOSPACED", Font.PLAIN, 800); do { zahlenFont = new Font("MONOSPACED", Font.PLAIN, zahlenFont.getSize()-1); Font punktFont = new Font("Sans Serif", Font.PLAIN, (int)(zahlenFont.getSize()*0.6)); stunden.setFont(zahlenFont); doppelpunkt1.setFont(punktFont); minuten.setFont(zahlenFont); doppelpunkt2.setFont(punktFont); sekunden.setFont(zahlenFont); pack(); } while (this.getWidth()>width); } public void hochzaehlen() { int sek = Integer.parseInt(sekunden.getText()); int min = Integer.parseInt(minuten.getText()); int std = Integer.parseInt(stunden.getText()); if (sek<59) { sek++; } else { sek = 0; if (min<59) { min++; } else { min = 0; std++; } } sekunden.setText((sek<10?"0":"")+sek); minuten.setText((min<10?"0":"")+min); stunden.setText((std<10?"0":"")+std); } class UhrThread extends Thread { private boolean laeuft; private long systemzeit; public UhrThread() { laeuft = false; systemzeit = -1; } public void run() { while (true) { boolean noetig = (System.currentTimeMillis() - systemzeit) > 1000; if (laeuft && noetig) { systemzeit += 1000; hochzaehlen(); } try { sleep(100); } catch (InterruptedException ie) {} } } public void setUhrLaeuft(boolean laeuft) { if ((laeuft == true) && (laeuft != this.laeuft)) { systemzeit = System.currentTimeMillis(); } this.laeuft = laeuft; } } public static void main(String[] args) { Digitaluhr du = new Digitaluhr(); du.setVisible(true); } } PK :; .classpath PK :;"qq.project Digitaluhr org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature PK,;@)31META-INF/MANIFEST.MFPK y,;*vRyDigitaluhr$1.classPK y,;b-33Digitaluhr$2.classPK y,;nXDigitaluhr$UhrThread.classPK y,;; Digitaluhr.classPK y,;:w~ߗDigitaluhr.javaPK :; *.classpathPK :;"qq+.projectPK'-