Hallo zusammen,
Ich bin noch recht neu in Java und habe nun ein Programm geschrieben, das ich gerne als eine .jar datei speichern. Ich benutze BlueJ, und wenn ich das Programm in BlueJ selbst ausführe funktioniert alles. Exportiere ich dies nun als .jar Datei (mit "create jar File...), so bekomme ich beim ausführen des Programms die Fehlermeldung "Fatal exception Error. Porgram will Exit".
in der Konsole erhalte ich die Meldung "Exception in thread "main" java.lang.NoSuchMethodError: main"
Hier mein Quelltext:
Klasse "Interface"
Klasse "Shutdown":
Ich bedanke mich schonmal für jede Hilfe.
Gruß,
Woggle
Ich bin noch recht neu in Java und habe nun ein Programm geschrieben, das ich gerne als eine .jar datei speichern. Ich benutze BlueJ, und wenn ich das Programm in BlueJ selbst ausführe funktioniert alles. Exportiere ich dies nun als .jar Datei (mit "create jar File...), so bekomme ich beim ausführen des Programms die Fehlermeldung "Fatal exception Error. Porgram will Exit".
in der Konsole erhalte ich die Meldung "Exception in thread "main" java.lang.NoSuchMethodError: main"
Hier mein Quelltext:
Klasse "Interface"
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Interface implements ActionListener
{
private JFrame fenster;
private Container cp;
private JLabel text;
private JTextField zeitFLD;
private JButton start;
private JButton stop;
private JButton exit;
private Panel centerPanel;
private Panel southPanel;
private Shutdown herunterfahren;
/**
* Constructor for objects of class Interface
*/
public Interface()
{
centerPanel = new Panel(new GridLayout(2,3,10,5));
fenster = new JFrame("Shutdowner");
fenster.setSize(300,300);
fenster.setLayout(new BorderLayout(1,10));
cp = fenster.getContentPane();
cp.add(centerPanel,BorderLayout.CENTER);
text = new JLabel("Nach wievielen Minuten soll der Computer heruntergefahren werden?");
text.setHorizontalAlignment(SwingConstants.LEFT);
centerPanel.add(text);
zeitFLD = new JTextField(2);
centerPanel.add(zeitFLD);
start = new JButton("Start");
start.addActionListener(this);
centerPanel.add(start);
stop = new JButton("Herunterfahren abbrechen");
stop.addActionListener(this);
centerPanel.add(stop);
exit = new JButton("Beenden");
exit.addActionListener(this);
cp.add(exit,BorderLayout.SOUTH);
fenster.pack();
herunterfahren = new Shutdown();
}
public void actionPerformed(ActionEvent e)
{
Object event = e.getSource();
if(event == start)
{
int zeit = 10000;
try
{
zeit = Integer.parseInt(zeitFLD.getText());
zeit = zeit * 60;
herunterfahren.herunterfahren(zeit);
}
catch (Exception E){
System.out.println("Bitte eine Zahl eingeben!");
herunterfahren.runterfahrenStop();
}
}
if (event == stop)
{
herunterfahren.runterfahrenStop();
}
if ( event == exit)
{
System.exit(0);
}
}
public void visible()
{
fenster.setVisible(true);
}
public void main(String[] args)
{
fenster.setVisible(true);
}
}
Klasse "Shutdown":
Java:
import java.util.concurrent.*;
public class Shutdown
{
public Shutdown()
{
}
/**
* Fährt den Computer mithilfe von shutdown nach bestimmter Zeit herunter
*
* @param zeit: Zeit in Sekunden, bis der PC herunterfährt
*/
public void herunterfahren(int time)
{
String cmd = "cmd /c shutdown -s -t " + time;
try
{
Process p = Runtime.getRuntime().exec(cmd);
}
catch(Exception o)
{
System.out.println(o);
}
}
/**
* Bricht das Herunterfahren ab
*/
public void runterfahrenStop()
{
try
{
Process p = Runtime.getRuntime().exec("cmd /c shutdown -a");
}
catch(Exception o){
System.out.println(o);
}
}
}
Ich bedanke mich schonmal für jede Hilfe.
Gruß,
Woggle