Uhrzeit umstellen

J

jakomadred

Mitglied
Hallo Leute, ich versuche Digitale Uhr zu erstellen zuerst habe ich ein Programm für die Uhr geschrieben und hat geklappt aber ich konnte mein Programm nicht erweitern ( ich muss mit Button die Uhr umstellen )
ich habe im Internet dieses Programm gefunden aber das ist leider kein Digitale Uhr . ich habe versucht dieses Programm zu bearbeiten aber konnte nicht schaffen es gibt immer fehlermeldung
kann jemand mir helfen, ich will dieses Program als Digitale Uhr erstellen
ich werde mein Programm in einem Komenntare schreiben
Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;

public class ClockGUI {
    public static void main(String[] args) {
        ClockDrawingFrame frame = new ClockDrawingFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

/**
 * A frame with two text fields to set a clock.
 */
class ClockDrawingFrame extends JFrame {
    private JTextField hourField;
    private JTextField minuteField;
    private ClockPanel clock;

    public ClockDrawingFrame() {
        setTitle("Clock GUI");

        DocumentListener listener = new ClockFieldListener();

        // add a panel with text fields (label)

        JPanel panel = new JPanel();

        panel.add(new JLabel("Hours:"));
        hourField = new JTextField("12", 3);
        panel.add(hourField);
        hourField.getDocument().addDocumentListener(listener);

        panel.add(new JLabel("Minutes:"));
        minuteField = new JTextField("00", 3);
        panel.add(minuteField);
        minuteField.getDocument().addDocumentListener(listener);

        add(panel, BorderLayout.SOUTH);

        // add the clock

        clock = new ClockPanel();
        add(clock, BorderLayout.CENTER);
        pack();
    }

    /**
     * Set the clock to the values stored in the text fields.
     */
    public void setClock() {
        try {
            int hours = Integer.parseInt(hourField.getText().trim());
            int minutes = Integer.parseInt(minuteField.getText().trim());
            clock.setTime(hours, minutes);
        } catch (NumberFormatException e) {
        }
        // don't set the clock if the input can't be parsed
    }

    private class ClockFieldListener implements DocumentListener {
        public void insertUpdate(DocumentEvent event) {
            setClock();
        }

        public void removeUpdate(DocumentEvent event) {
            setClock();
        }

        public void changedUpdate(DocumentEvent event) {
        }
    }
}

/**
 * A panel that draws a clock.
 */
class ClockPanel extends JPanel {
    private double minutes = 0;
    private int RADIUS = 100;
    private double MINUTE_HAND_LENGTH = 0.8 * RADIUS;
    private double HOUR_HAND_LENGTH = 0.6 * RADIUS;
    
    public ClockPanel() {
        setPreferredSize(new Dimension(2 * RADIUS + 1, 2 * RADIUS + 1));
    }

    public void paintComponent(Graphics g) {
        // draw the circular boundary

        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        Ellipse2D circle = new Ellipse2D.Double(0, 0, 2 * RADIUS, 2 * RADIUS);
        g2.draw(circle);

        // draw the hour hand

        double hourAngle = Math.toRadians(90 - 360 * minutes / (12 * 60));
        drawHand(g2, hourAngle, HOUR_HAND_LENGTH);

        // draw the minute hand

        double minuteAngle = Math.toRadians(90 - 360 * minutes / 60);
        drawHand(g2, minuteAngle, MINUTE_HAND_LENGTH);
    }

    public void drawHand(Graphics2D g2, double angle, double handLength) {
        Point2D end = new Point2D.Double(RADIUS + handLength * Math.cos(angle),
                RADIUS - handLength * Math.sin(angle));
        Point2D center = new Point2D.Double(RADIUS, RADIUS);
        g2.draw(new Line2D.Double(center, end));
    }

    /**
     * Set the time to be displayed on the clock
     *
     * @param h hours
     * @param m minutes
     */
    public void setTime(int h, int m) {
        minutes = h * 60 + m;
        repaint();
    }


}
 
J

jakomadred

Mitglied
Java:
package com.company;
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class myfarme extends JFrame{
    Calendar calendar;
    SimpleDateFormat timeFormat;
    JLabel timeLabel;
    String time;
    myfarme()
    {
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("Clock Program");
        this.setLayout(new FlowLayout());
        this.setSize(350,200);
        this.setResizable(false);

        timeFormat = new SimpleDateFormat("hh:mm a");
        timeLabel = new JLabel();
        timeLabel.setFont(new Font("Verdana",Font.PLAIN,50));
        timeLabel.setForeground(new Color(0x00FF00));
        timeLabel.setBackground(Color.black);
        timeLabel.setOpaque(true);
        this.add(timeLabel);
        this.setVisible(true);
        setTime();
    }

    public void setTime() {
        while(true) {
            time = timeFormat.format(Calendar.getInstance().getTime());
            timeLabel.setText(time);

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
 
kneitzel

kneitzel

Top Contributor
Also erst einmal ist das, was Du da gefunden hast, nichts, das Dir bei Deinem Programm helfen könnte, denn da geht es ja nur um eine Applikation, die eine analoge Uhr zeichnet (was Du explizit nicht willst).

Bei deiner Applikation ist das Problem, dass Du den Thread, der auch das Fenster zeichnen soll, blockierst. Hier würde ich Dir raten, Dich erst einmal mit den Grundlagen vertraut zu machen, die Du z.B. unter https://openbook.rheinwerk-verlag.de/javainsel9/javainsel_19_026.htm finden kannst.

Das regelmäßige Ausführen von Aktionen findet sich dann auch zwei Abschnitte weiter:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2
J Uhrzeit Allgemeine Java-Themen 7
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
2 If-Abfrage um Uhrzeit einzuordnen Allgemeine Java-Themen 2
R Uhrzeit aus Timestamp Allgemeine Java-Themen 3
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
S Uhrzeit Algorithmus sale Allgemeine Java-Themen 11
F Uhrzeit vervollständigen Allgemeine Java-Themen 14
J Autofill Funktion Uhrzeit Allgemeine Java-Themen 19
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
Z new Date() liefert falsche Uhrzeit Allgemeine Java-Themen 12
Quaxli Uhrzeit von extern Allgemeine Java-Themen 2
F Die aktuelle Uhrzeit zurückgeben lassen Allgemeine Java-Themen 4
DEvent Aktuelle Uhrzeit per Anwendung Allgemeine Java-Themen 4
L Programm um eine bestimmte Uhrzeit ausführen Allgemeine Java-Themen 4
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
D Ereigniss zur bestimmten Uhrzeit Allgemeine Java-Themen 3
B Jfree Chart mit Datum und Uhrzeit Allgemeine Java-Themen 6
N regexp für uhrzeit Allgemeine Java-Themen 4
A Regulärer Ausdruck für die Uhrzeit Allgemeine Java-Themen 3
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
I Uhrzeit vergleichen Allgemeine Java-Themen 7
M Uhrzeit im PC stellen Allgemeine Java-Themen 2
G eigene uhrzeit in einer java applikation führen Allgemeine Java-Themen 19
R Uhrzeit aktualisiert sich nicht Allgemeine Java-Themen 7
J Uhrzeit vom System auslesen Allgemeine Java-Themen 2
G akuelle Uhrzeit ausgeben? Allgemeine Java-Themen 8
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
S Umstellen Java-Projekt zum Web-Projekt Allgemeine Java-Themen 3
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
S Umstellen von jre 1.5 auf 1.4 Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben