Ich wieder .. Verzweiflung macht sich breit xD
Das Programm tut was es soll, allerdings zur Zeit nur in der Konsole.
Der Text soll jetzt in meine GUI.
Frame ist erstellt und wird angezeigt... wie bekomme ich den Text der einzelnen "case" jetzt in der GUI angezeigt?
[CODE lang="java" title="Applikation"]import javax.sound.midi.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.swing.*;
public class Application {
public static void main(String[] args) {
JFrame jf = new Frame();
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(
new Runnable() {
@Override
public void run() {
try {
output();
} catch (MidiUnavailableException e) {
e.printStackTrace();
} catch (InvalidMidiDataException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
},
1 /* Startverzögerung */,
1 /* Dauer */,
TimeUnit.SECONDS);
}
private static void output() throws MidiUnavailableException, InvalidMidiDataException, InterruptedException {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String timeNow = format.format(new Date());
switch (timeNow) {
case "00:15:00", "03:15:00", "06:15:00", "09:15:00", "12:15:00", "15:15:00", "18:15:00", "21:15:00":
System.out.println("[&BLEAAAA=] Modniir Ulgoth startet in 15 Minuten");
synth();
break;
case "23:45:00", "02:45:00", "05:45:00", "08:45:00", "11:45:00", "14:45:00", "17:45:00", "20:45:00":
System.out.println("[&BE4DAAA=] Der Zerschmetterer startet in 15 Minuten");
synth();
break;
case "02:45:01", "05:45:01", "09:45:00", "14:15:00", "18:45:00", "21:45:00":
System.out.println("[&BKoBAAA=] Dreifacher Wurm startet in 15 Minuten");
synth();
break;
case "01:00:00", "03:00:00", "05:00:00", "07:00:00", "09:00:00", "11:00:00", "13:00:00", "15:00:00",
"17:00:00", "19:00:00", "21:00:00", "23:00:00":
System.out.println("[&BEEFAAA=] Großer Jungle Wurm startet in 15 Minuten");
synth();
break;
case "00:30:00", "02:30:00", "04:30:00", "06:30:00", "08:30:00", "10:30:00", "12:30:00", "14:30:00",
"16:30:00", "18:30:00", "20:30:00", "22:30:00":
System.out.println("[&BEcAAAA=] Feuer Elementar startet in 15 Minuten");
synth();
break;
case "02:15:00", "05:15:00", "08:15:00", "11:15:00", "14:15:01", "17:15:00", "20:15:00", "23:15:00":
System.out.println("[&BM0CAAA=] Megazerstörer startet in 15 Minnuten");
synth();
break;
case "00:00:00", "02:00:00", "04:00:00", "06:00:00", "08:00:00", "10:00:00", "12:00:00", "14:00:00",
"16:00:00", "18:00:00", "20:00:00", "22:00:00":
System.out.println("[&BMIDAAA=] Svanir Schamane startet in 15 Minuten");
synth();
break;
case "01:45:00", "04:45:00", "08:45:01", "13:15:00", "17:45:01", "20:45:01":
System.out.println("[&BNABAAA=] Tequatl startet in 15 Minuten");
synth();
break;
case "01:45:01", "04:45:01", "07:45:00", "10:45:00", "13:45:00", "16:45:00", "19:45:00", "22:45:00":
System.out.println("[&BKgBAAA=] Taidha Covington startet in 15 Minuten");
synth();
break;
case "01:30:00", "03:30:00", "05:30:00", "07:30:00", "09:30:00", "11:30:00", "13:30:00", "15:30:00",
"17:30:00", "19:30:00", "21:30:00", "23:30:00":
System.out.println("[&BPcAAAA=] Schatten Behemoth startet in 15 Minuten");
synth();
break;
case "01:15:00", "04:15:00", "07:15:00", "10:15:00", "13:15:01", "16:15:00", "19:15:00", "22:15:00":
System.out.println("[&BHoCAAA=] Klaue von Jormag startet in 15 Minuten");
synth();
break;
case "00:45:00", "03:45:00", "07:45:01", "12:15:01", "16:45:01", "19:45:01":
System.out.println("[&BNcGAAA=] Karka Königin startet in 15 Minuten");
synth();
break;
case "00:45:01", "03:45:01", "06:45:00", "09:45:01", "12:45:00", "15:45:00", "18:45:01", "21:45:01":
System.out.println("[&BNQCAAA=] Inquestur Golem Mark II startet in 15 Minuten");
synth();
break;
case "22:05:00":
}
}
private static void synth() throws MidiUnavailableException, InvalidMidiDataException, InterruptedException {
Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
Receiver rcvr = synth.getReceiver();
ShortMessage msg = new ShortMessage();
msg.setMessage(ShortMessage.NOTE_ON, 0, 30, 30);
rcvr.send(msg, -1);
Thread.sleep(100);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
msg.setMessage(ShortMessage.NOTE_ON, 0, 40, 40);
rcvr.send(msg, -1);
Thread.sleep(200);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
msg.setMessage(ShortMessage.NOTE_ON, 0, 50, 50);
rcvr.send(msg, -1);
Thread.sleep(300);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
msg.setMessage(ShortMessage.NOTE_ON, 0, 60, 60);
rcvr.send(msg, -1);
Thread.sleep(400);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
msg.setMessage(ShortMessage.NOTE_ON, 0, 80, 80);
rcvr.send(msg, -1);
Thread.sleep(500);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
msg.setMessage(ShortMessage.NOTE_ON, 0, 90, 90);
rcvr.send(msg, -1);
Thread.sleep(4000);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
rcvr.send(msg, -1);
synth.close();
}
}
[CODE lang="java" title="GUI"]import javax.swing.*;
public class Frame extends JFrame {
JLabel text;
public Frame() {
setVisible(true);
setSize(500,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setTitle("GW2 Boss Timer");
setResizable(false);
setLayout(null);
text = new JLabel ();
text.setBounds(0,0,500,10);
add(text);
}
}
[/CODE]