Anfängerfrage

Afixl

Mitglied
Hallo zusammen,


ich bin noch totaler Anfänger und ich hätte ein paar Fragen. Ich möchte ein Programm programmieren, welches die Zeit, die man pro Tag am Computer verbringt, misst und in "Tageseinträgen" speichert und bestenfalls visualisiert. Das Programm soll außerdem eine Autostart Funktion haben.


Nun zu meiner Frage:

Welche Bereiche in Java muss man beherrschen, um solch ein Programm zu programmieren oder kommt solch ein Programm für einen Anfänger erstmals gar nicht erst in Frage? Bisher kenn ich nämlich nur die ersten Grundlagen (Datentypen, Variablen, Operatoren). Oder eigenet sich mögicherweise Java nicht für solch ein Programm?

Vielen Dank im Vorraus,

Afixl
 

BrknDEV

Mitglied
Hey :)
Ich bin grundsätzlich immer der Meinung, dass man sich so früh wie möglich beim Programmieren an eine relativ große Herausforderung trauen sollte, denn dabei lernt man häufig äußerst viel, besonders am Anfang!
Versuch es auf jeden Fall mal!

Um das ganze umzusetzen, musst du dich etwas mit der Erfassung der Zeit beschäftigen (Timestamp, long, etc.).
Da du die Tageseinträge ja speichern willst, musst du dich also entscheiden, ob du sie als Datei speicherst (Dann musst du dich ein bisschen mit java.io (FileReader, FileWriter, die Buffered Versionen der beiden, File, etc.) auseinandersetzen) oder in einer Datenbank (In dem Fall müsstest du dich mit Datenbanken(ich würde MySQL oder MongoDB empfehlen) beschäftigen).
Wenn du das alles also noch grafisch darstellen willst, musst du noch Swing, bzw. besser(weil es neuer ist und es so aussieht, als ob Oracle Swing sich selbst überlässt): JavaFX beherrschen.
Viel Glück :)
MfG MagicZerda
 

Neumi5694

Top Contributor
Autostart hat nichts mit dem Programm selbst zu tun, das Betriebssystem kümmert sich darum.
Du musst also dem Betriebssystem mitteilen, dein Programm in die Autostart-Liste mit aufzunehmen oder es daraus zu entfernen.
Als DB hab ich mittlerweile auch Firebird zu schätzen gelernt, aber das ist natürlich Geschmackssache.
 
X

Xyz1

Gast
welches die Zeit, die man pro Tag am Computer verbringt, misst
Oh, Du musst die Logdateien lesen (winlogon + winlogout) das ist nicht trivial.
Dann musst Du die Differenz bilden und den Startpunkt das ist trivial.
Dann musst Du alles in einer "Struktur" festhalten das ist semi-trivial.

Alternativ dazu wenn dein Progarmm eh automatisch starten soll
dann nicht per Logdateien sondern per den Startpunkt.... das ist trivial.

Ich überlege gerade das kann ich eigentlich nachher mal tun wenn noch bissel Zeit ist....

In der Summe: Ja das ist machbar
 
X

Xyz1

Gast
Falls gewünscht, kannst du damit weiter machen (zum Beispiel die Uhrzeit formatieren):
Java:
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.awt.event.WindowListener;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JTextArea;

/**
 *
 */
public class OnlTime {
    
    public static void main(String[] args) {
        OnlTime ot = new OnlTime();
    }
    
    long[] now = null;
    ArrayList<long[]> times = new ArrayList<>();
    JFrame frame = new JFrame();
    JTextArea area = new JTextArea();
    
    public OnlTime() {
        frame.addWindowListener(new WindowListener() {
            @Override
            public void windowActivated(WindowEvent e) {
                now = new long[]{System.currentTimeMillis(), 0};
            }
            
            @Override
            public void windowClosed(WindowEvent e) {
                
            }
            
            @Override
            public void windowClosing(WindowEvent e) {
            }
            
            @Override
            public void windowDeactivated(WindowEvent e) {
            }
            
            @Override
            public void windowDeiconified(WindowEvent e) {
            }
            
            @Override
            public void windowIconified(WindowEvent e) {
            }
            
            @Override
            public void windowOpened(WindowEvent e) {
            }
        });
        frame.addWindowFocusListener(new WindowFocusListener() {
            @Override
            public void windowGainedFocus(WindowEvent e) {
                now[1] = System.currentTimeMillis();
                times.add(now);
                now = new long[]{System.currentTimeMillis(), 0};
                
                setTextToSth();
            }
            
            @Override
            public void windowLostFocus(WindowEvent e) {
            }
        });
        
        frame.add(area);
        frame.setSize(444, 444);
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
    }
    
    private void setTextToSth() {
        long l = 0;
        for (int i = 0; i < times.size(); i++) {
            long[] time = times.get(i);
            area.append(time[0] + " " + time[1]);
            area.append("\n");
            if (i < times.size() - 1) {
                l += times.get(i + 1)[0] - times.get(i)[0];
            }
        }
        area.append("Zeit insg. " + (l / 1000) + " Sekunden\n");
        area.append("\n");
    }
}[

jf-1.PNG
 

Afixl

Mitglied
Vielen Dank für großartigen Hilfe und Mühe!:) Tut mir leid, dass ich mich jetzt erst melde, hätte nicht mit mehr Antworten gerchnet! Werde den Code auf jeden Fall mit meinem vergleichen, sobald er fertig ist (Muss mich noch in die Basics rein arbeiten).
 
X

Xyz1

Gast
Ok mache das, dafür ist ein Beispiel ja da, damit man davon etwas absehen/vergleichen kann! :)
Es dauert etwas bis du zum Profi wirst. :rolleyes:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
V Anfängerfrage: HelloWorld läuft nicht Java Basics - Anfänger-Themen 3
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
P Anfängerfrage, Primitiv,komplex Java Basics - Anfänger-Themen 1
pkm Erste Schritte Anfängerfrage zu ::new Java Basics - Anfänger-Themen 4
M Erstellung Interfaces....totale Anfängerfrage Java Basics - Anfänger-Themen 16
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
R Anfängerfrage zu Methoden in Vererbte Klassen Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
DeVolt Anfängerfrage zu util.scanner Java Basics - Anfänger-Themen 2
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
B Collections ArrayList füllen - Anfängerfrage Java Basics - Anfänger-Themen 1
Shams Anfängerfrage zu jnlp Java Basics - Anfänger-Themen 0
T Kleine Anfängerfrage :) Java Basics - Anfänger-Themen 4
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
A Anfängerfrage: Zahlformat prüfen Java Basics - Anfänger-Themen 4
I Anfängerfrage: Fehlersuche Java Basics - Anfänger-Themen 2
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
L Anfängerfrage zu TileMap Java Basics - Anfänger-Themen 4
J anfängerfrage Java Basics - Anfänger-Themen 10
J Anfängerfrage HelloWorld? cmd-Problem Java Basics - Anfänger-Themen 35
J Anfängerfrage zu Grundlagen von Packages Java Basics - Anfänger-Themen 7
J Anfängerfrage zur Variablen Java Basics - Anfänger-Themen 11
J Anfängerfrage :-) Java Basics - Anfänger-Themen 5
M Banale Anfängerfrage Java Basics - Anfänger-Themen 3
Y Anfängerfrage zu array(-Syntax) Java Basics - Anfänger-Themen 6
J Leichte Java Anfängerfrage. Bitte schnelle Antwort. :) Java Basics - Anfänger-Themen 10
U Anfängerfrage - Multithreading Java Basics - Anfänger-Themen 8
T Aufrufen von get-Methode aus anderer Klasse (absolute Anfängerfrage) Java Basics - Anfänger-Themen 2
G Anfängerfrage zu "@Override" Java Basics - Anfänger-Themen 5
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
M Kleine Anfängerfrage Java Basics - Anfänger-Themen 10
S Anfängerfrage zu Array Java Basics - Anfänger-Themen 8
K Anfängerfrage: Fehlermeldung Java Basics - Anfänger-Themen 6
D Anfängerfrage N. Office Access NOA: setHidden und dann . Java Basics - Anfänger-Themen 2
N Anfängerfrage Java Basics - Anfänger-Themen 14
N anfängerfrage. returnwerte Java Basics - Anfänger-Themen 3
Gama Importieren von Klassen [Anfängerfrage] Java Basics - Anfänger-Themen 3
G Anfängerfrage Java Basics - Anfänger-Themen 11
B Anfängerfrage zu Swing "Reload" Java Basics - Anfänger-Themen 2
N Anfängerfrage bezüglich Speicherverwaltung Java Basics - Anfänger-Themen 3
G Anfängerfrage zu Threads Java Basics - Anfänger-Themen 14
Q Anfängerfrage Java Basics - Anfänger-Themen 6
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
S Anfängerfrage Java Basics - Anfänger-Themen 7
G Anfängerfrage zu Vererbung Java Basics - Anfänger-Themen 6
B Anfängerfrage zu 'NoClassDefFoundError' Java Basics - Anfänger-Themen 2
J IO Frage Hex-Output - Anfängerfrage Java Basics - Anfänger-Themen 5
T Anfängerfrage -> Projekt Java Basics - Anfänger-Themen 2
C Anfängerfrage ->Objekte und Arrays Java Basics - Anfänger-Themen 4
V Anfängerfrage Java Basics - Anfänger-Themen 8
E RMI Anfängerfrage Java Basics - Anfänger-Themen 10
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6
G Anfängerfrage Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben