Selior programme de commande d'ordinateur(eteindre redemarrer deconnecter)

Soyez le premier à donner votre avis sur cette source.

Vue 5 125 fois - Téléchargée 1 001 fois

Description

ce programme vous permet de commander votre ordinateur pour l'éteindre le redémarrer ou tout simplement se déconnecter.J'espère qu'il donnera des idées à quelques uns.

Conclusion :


goood luck

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
16120
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
27 novembre 2020
103
Puisque cette source remonte à la surface j'en profites pour mettre mon évaluation : 2/5

Certes c'est intéressant (un point) et ça fonctionne (deuxième point) mais vu que c'est très mal codé je vois difficilement comment mettre plus !

Entre les lignes de codes totalement inutiles (à commencer par les import), la redondance de code ou des horreurs comme la déclaration d'un objet JFrame dans le constructeur de la fenêtre au lieu d'utiliser la super classe !

Bref, je déconseilles fortement de prendre exemple sur le code source en l'état.
En voici une version corrigée pour ceux qui voudraient s'en inspirer :

import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;

public class Selior extends JFrame
{
    private static final long serialVersionUID = 1;
    
    private static final String TXT_TITLE = "Selior v2.0 - originally by DahouDo";
    private static final String TXT_SHUTDOWN = "Eteindre l'ordinateur";
    private static final String TXT_RESTART = "Redémarrer l'ordinateur";
    private static final String TXT_LOGOUT = "Fermer la session";
    
    private static final String CMD_SHUTDOWN = "shutdown -s";
    private static final String CMD_RESTART = "shutdown -r";
    private static final String CMD_LOGOUT = "shutdown -l";
    
    private static final Toolkit TOOLKIT = Toolkit.getDefaultToolkit();
    private static final Image IMG_ICON = TOOLKIT.getImage("france.png");
    private static final Image IMG_BACK = TOOLKIT.getImage("lb.png");
    
    private static final Runtime RUNTIME = Runtime.getRuntime();
    
    public static void main(String[] args)
    {
        try
        {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch (Exception e)
        {
        }
        
        new Selior().setVisible(true);
    }
    
    public Selior()
    {
        setTitle(TXT_TITLE);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 400);
        setIconImage(IMG_ICON);
        setLayout(new GridLayout(4, 1));
        setLocationRelativeTo(null);
        
        add(new JLabel(new ImageIcon(IMG_BACK)));
        
        JButton shutdown = new JButton(TXT_SHUTDOWN);
        shutdown.addActionListener(action(CMD_SHUTDOWN));
        add(shutdown);
        
        JButton restart = new JButton(TXT_RESTART);
        restart.addActionListener(action(CMD_RESTART));
        add(restart);
        
        JButton logout = new JButton(TXT_LOGOUT);
        logout.addActionListener(action(CMD_LOGOUT));
        add(logout);
    }
    
    private static ActionListener action(final String cmd)
    {
        return new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                exec(cmd);
            }
        };
    }
    
    private static void exec(String cmd)
    {
        Process process = null;
        
        try
        {
            process = RUNTIME.exec(cmd);
            Thread out = flush(process.getInputStream(), System.out);
            Thread err = flush(process.getErrorStream(), System.err);
            out.join();
            err.join();
            process.destroy();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
        System.exit(process == null ? -1 : process.exitValue());
    }
    
    private static Thread flush(final InputStream in, final PrintStream out)
    {
        Thread thread = new Thread()
        {
            @Override
            public void run()
            {
                Scanner sc = new Scanner(in);
                while (sc.hasNextLine())
                    out.println(sc.nextLine());
                sc.close();
            }
        };
        
        thread.start();
        
        return thread;
    }
}
Messages postés
5
Date d'inscription
samedi 28 septembre 2013
Statut
Membre
Dernière intervention
15 novembre 2013

slt tout le monde (cs_julien39) je n'arrive pas à executer ton programme .Need help je suis debutant en java .merci à l'avance
Messages postés
16120
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
27 novembre 2020
103 >
Messages postés
5
Date d'inscription
samedi 28 septembre 2013
Statut
Membre
Dernière intervention
15 novembre 2013

En supposant que tu ais correctement installé Java, et que tu ais placé le fichier PROG.java et les deux images dans un dossier "C:\Workspace\CCM" par exemple.
Alors il te suffit d'ouvrir une ligne de commande et d'entre ces trois commandes :

cd C:\WorkspaceCCM
javac PROG.java
java PROG
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
315
Je viens de relire mon commentaire et de regarder à nouveau ton programme, et tu as raison, un seul fichier ca passe bien pour des petits programme.

a+
Messages postés
32
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
6 août 2020

pour le seul fichier nrmalement c'est plus facile à lire et à assimiler sinon jai pas trop travailler la dessus c'etait juste un loisir ;-)
thanks pour le compliment!
n'hesite pas si tas besoin d'aide.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.