Hallo,
habe einen kleinen Wecker mit Gui (QT) programmiert. Finde aber dass der Code absolut grottig ist nicht optimal.
Ich bitte um Verbesserungsvorschläge jeder Art![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
VWecker.jar:
VWeckerGui.jar
Und falls es wen interssiert, der GUI Code (automatisch generiert):
http://pastie.org/private/0vuge6fcfsjqj1rat0j6a
Evtl. kann mir jemand sagen wie ich den Code einfacher gestalte oder ob logische Fehler vom Aufbau drin sind
.
Vielen Dank schon mal![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
habe einen kleinen Wecker mit Gui (QT) programmiert. Finde aber dass der Code absolut grottig ist nicht optimal.
Ich bitte um Verbesserungsvorschläge jeder Art
VWecker.jar:
Code:
package net.cyb0rk.vwecker;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QMainWindow;
public class VWecker extends QMainWindow {
public static void main(String[] args) {
QApplication.initialize(args);
VWeckerGui mainw = new VWeckerGui();
mainw.show();
QApplication.exec();
}
public void doRest(String time)
{
System.out.println(time);
// Set variables
Date date = null;
long weckTime = 0;
// Create timestamp for the used date
try {
date = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").parse(time);
weckTime = date.getTime();
} catch (ParseException e) {
System.err.println("Can't create Timestamp");
e.printStackTrace();
return;
}
long weckDiff = weckTime - System.currentTimeMillis();
// Check if weckTime is in the past
if (weckDiff < 1)
{
System.err.println("weckTime can't be in the past");
return;
}
// Initialize Wecker and start it
VWecker wecker = new VWecker();
wecker.wakeUp(weckDiff);
}
// Wakeup function
private void wakeUp(long sleepDuration) {
try {
Thread.sleep(sleepDuration);
// TODO: What to do ;)?
System.out.println("WECK");
} catch (InterruptedException e) {
System.err.println("Break");
e.printStackTrace();
}
}
}
VWeckerGui.jar
Code:
package net.cyb0rk.vwecker;
import com.trolltech.qt.core.QDateTime;
import com.trolltech.qt.gui.QWidget;
public class VWeckerGui extends QWidget {
Ui_VWeckerGui ui = new Ui_VWeckerGui();
public VWeckerGui() {
ui.setupUi(this);
ui.dateTimeEdit.setDateTime(QDateTime.currentDateTime());
}
public VWeckerGui(QWidget parent) {
super(parent);
ui.setupUi(this);
}
public void on_buttonsOkRe_rejected() {
this.close();
}
public void on_buttonsOkRe_accepted() {
VWecker wecker = new VWecker();
wecker.doRest(ui.dateTimeEdit.dateTime().toString("dd.MM.yyyy HH:mm:ss"));
}
}
Und falls es wen interssiert, der GUI Code (automatisch generiert):
http://pastie.org/private/0vuge6fcfsjqj1rat0j6a
Evtl. kann mir jemand sagen wie ich den Code einfacher gestalte oder ob logische Fehler vom Aufbau drin sind
Vielen Dank schon mal