Hallo,
ich verstehe nicht ganz warum ich bei meinem zeug hier eine "Exception in thread "Timer-0" java.lang.NullPointerException
" erzeuge. Ich hoffe irgend jemand kanns mir mal erklären
Unten ist mein Code. So ich will jetzt einfach aus einer anderen Klasse heraus eine Objekteigenschaft von "labe1A" in der Classe "Test" verändern über "btn1 " welcher einen void in der besagten anderen Klasse anstößt.
ich verstehe nicht ganz warum ich bei meinem zeug hier eine "Exception in thread "Timer-0" java.lang.NullPointerException
" erzeuge. Ich hoffe irgend jemand kanns mir mal erklären
Unten ist mein Code. So ich will jetzt einfach aus einer anderen Klasse heraus eine Objekteigenschaft von "labe1A" in der Classe "Test" verändern über "btn1 " welcher einen void in der besagten anderen Klasse anstößt.
Code:
public class Test extends JFrame {
private JFrame fnst1 = new JFrame("Testfenster"); //Fenster
public JLabel labe1A = new JLabel(); //Label
private SimpleDateFormat df; //Datum/Uhrzeit
private Timer timer = new Timer(); //Timer
private Tasks Zeittask = new Tasks();
private JButton btn1 = new JButton("Hallo1"); //Button
Test() {
tableinhalt();
//Erstellt ein Fenster
fnst1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fnst1.setSize(640,480);
fnst1.setResizable(false);
fnst1.setLayout(null);
//Erstellt Buttons###############################
btn1.setBounds(10, 100, 100, 20); //Positionszuweisung + Abmaße
fnst1.add(btn1); //Hinzufügen zum Container(fnst1)
//Erstellt ein Label mit Datum####################
df = new SimpleDateFormat( "dd.MM.yyyy hh:mm:ss" );
labe1A.setText(df.format(new Date()));
labe1A.setBounds(500,10,130,17);
fnst1.add(labe1A);
System.out.println( df.format(new Date()) );
//###############################
//Actionlistener
btn1.addActionListener( new ActionListener(){public void actionPerformed( ActionEvent e ){
act1(e);
}});
btn1.addActionListener( a1 ) ;
fnst1.setVisible(true); //fertiges Applet/Fenster anzeigen
}
public void act1(ActionEvent e){
//Zeitgesteuerter Taskaufruf aus der Tasks-Klasse
Zeittask.Tasknr = 1;
timer.schedule ( Zeittask, 1000, 1000 );
}
} //end Class Test
public class Tasks extends TimerTask {
public int Tasknr;
private String Uhrzeit;
private SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Test tt;
public Tasks() {
}
public void Taskselect() {
switch ( Tasknr )
{
case 0:
case 1: Timerun();
}
}
public void Timerun() {
Uhrzeit = (df.format(new Date()));
System.out.println("Zeit: " + Uhrzeit);
tt.labe1A.setText(Uhrzeit);
}
public void run() {
Taskselect();
}
}