Mit Programm PC herunterfahren

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich hab dir mal schnell was zusammen geschrieben (für alle Schlaumeister: NEIN, ich will mit dem Code keinen Schönheitspreis gewinnen!)

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class Main extends JFrame {

static JTextField time = new JTextField();
static JButton but1 = new JButton("Herunterfahren");
static JButton but2 = new JButton("Stop");
static int countdown;
static int countdownReset;
static boolean stopp = false;

public static void main(String[] args) throws IOException {
    Main main = new Main();
}

public Main() {
    super("Shutdown");

    time.setFont(new Font("SansSerif", Font.BOLD, 20));
    time.setMargin(new Insets(5, 2, 5, 2));
    time.setPreferredSize(new Dimension(65, 30));
    time.setText(String.valueOf(10000));
    but2.setEnabled(false);
    setResizable(false);

    but1.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            starten();
        }
    });

    but2.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            stopp();
        }
    });

    setLayout(new FlowLayout());

    add(time);
    add(but1);
    add(but2);

    setSize(300, 80);
    centreWindow(Main.this);
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

    addWindowListener(
            new WindowAdapter() {

                @Override
                public void windowClosing(WindowEvent we) {
                    if (!stopp) {
                        stopp();
                    }
                    System.exit(0);
                }
            });

    setVisible(true);

}

public static int testNumber(String str) {
    try {
        return Integer.parseInt(str);
    } catch (NumberFormatException e) {
        return -1;
    }
}

public static void centreWindow(Window frame) {
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
    int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
    frame.setLocation(x, y);
}

public static void starten() {
    countdown = testNumber(time.getText());
    countdownReset = countdown;
    if (countdown >= 0) {
        try {
            Runtime.getRuntime().exec("shutdown /s /t " + countdown + " /c \"Shutdown in " + countdown + " Sekunden\"");
            time.setEnabled(false);
            but1.setEnabled(false);
            but2.setEnabled(true);
            Thread th = new Thread() {

                @Override
                public void run() {
                    long millicount = countdown * 1000;
                    for (long i = millicount; i >= 0 && !stopp; i -= 1) {
                        try {
                            Thread.sleep(1000);
                            countdown--;
                            time.setText(String.valueOf(countdown));
                        } catch (InterruptedException e) {
                        }
                    }
                    stopp = false;
                    time.setText(String.valueOf(countdownReset));
                }
            };
            th.start();

        } catch (IOException ex) {
        }
    } else {
        String zahl = "";
        for (int i = 0; i < time.getText().length(); i++) {
            if (Character.isDigit(time.getText().charAt(i))) {
                zahl += time.getText().charAt(i);
            }
        }
        time.setText(zahl);
    }
}

public static void stopp() {
    try {
        Runtime.getRuntime().exec("shutdown /a");
        stopp = true;
        time.setEnabled(true);
        but1.setEnabled(true);
        but2.setEnabled(false);
    } catch (IOException ex) {
    }
}
}

Und hier für alle die zu faul zum Kompilieren: http://netload.in/datei8R5iocApt5/JavaShutdown.jar.htm

Es gibt einen Betriebssystemaufruf zum Runterfahren, und den kannst du wohl auch aus java absetzen (Details findest du mit Sicherheit durch Google, such nach "shutdown dll"). Fertige Sleeptimer gibt's auch wie sand am meer.

Ja selber programmieren oder für Windows das kostenlose Programm Poweroff holen.

Was kann man alles mit Java / C Programmieren?

Wie in der Frage steht würde mich gerne mal Interessieren was man alles mit Java oder C programmieren kann, also Programme oder Websiten oder was was mir nicht einfällt?

...zur Frage

App/Programm am Computer programmieren?

Wie kann ich eine App/Programm am Computer programmieren. Also mit was programmiere ich das und oder oder habt ihr eine gute Website/Buch auf/in der/dem das erklärt wird?

...zur Frage

Wie schaffe ich es mir die Programiersprache Java selbst beizubringen?

Ich habe mir vor 2 Wochen Eclipse herruntergeladen nebenbei schaue ich mir Youtube Videos an wie man mit Java programmiert aber irgendwie bekomm ich es nicht hin

Habt ihr Tipps ? Ich will endlich mit Java 100% programmieren können

...zur Frage

Programm zur Computer Temparatur Anzeige?

Hallo wie heißt ein Programm wo man schauen kann wie viel Grad es im Computer Gehäuse hat

...zur Frage

Mal-Programm für Windows 7?

Ich möchte etwas zeichnen und dann auf dem Computer nachzeichnen also mit so schichten und vorlagen und ich habe auf YouTube gesehen das manche so etwas benutzen. Ich wollte das auch gerne haben aber weiß nicht wie das Programm heißt.

...zur Frage

Wie Tic Tac Toe mit Java Hamster programmieren ( imperatives Programm )?

Hi, ich würde gerne Programmieren lernen und habe mir dazu den Java Hamster Simulator runtergeladen. Ich habe auch schon viel gelernt ( Variablen, Befehle, usw. ), aber ich weiss nicht, wie ich das Wissen einsetzen kann, um ein Tic Tac Toe - Spiel zu programmieren?

Ich würde am liebsten gegen einen Computer spielen, aber zu zweit wäre es auch toll.

Hat jemand ein paar Lösungsvorschläge oder - ansätze, damit ich mir so ein Spiel programmieren kann?

Mein Problem: Ich weiss schon sehr viel über Java Hamster, aber weiss nicht, wie ich mein Wissen in ein Tic Tac Toe Spiel vereinen kann...

Danke

...zur Frage

Was möchtest Du wissen?