0

私のコードにはいくつかの問題があり、もしよろしければ助けが必要です(そして、将来理解できるように少し説明してください:))、これが私のコードであり、必要なのは私のJButtonがshutdown コマンドと shutdown コマンドは、JTextfield に入力した秒数から遅延します。したがって、これまでの私のコードは次のとおりです。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;


public class Shutdown extends JFrame{
    InputStream text1;
    JButton start;
    String shutdownCmd;

        public Shutdown() {

        this.setTitle("Shutdown When you want");
        setSize(300, 150);
        setResizable(false);
        setLocation(370, 150);
        setLayout(null);

        JLabel desc1 = new JLabel("Time until shutdown : ");
        desc1.setBounds(95, 25, 125, 25);
        add(desc1);

        JTextField text1 = new JTextField();
        text1.setBounds(95, 45, 120, 25);
        text1.setForeground(Color.BLACK);
        text1.setToolTipText("Introdu textu aici");
        add(text1);

        JButton start = new JButton("Start Shudown");
        start.setBounds(95, 75, 120, 25);
        add(start);



        ActionListener eventstart = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO auto- generated method
                String actionstart = arg0.getActionCommand();
                if(actionstart.equals("Start Shudown")){
                    try {
                        ShutdownCmd();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

                }

        }; 
        start.addActionListener(eventstart);
}       
        public void ShutdownCmd() throws IOException{
     Runtime runtime = Runtime.getRuntime();
     BufferedReader br=new BufferedReader(new InputStreamReader(text1));
     long a=Long.parseLong(br.readLine());
     Process proc = runtime.exec("shutdown -s -t "+a);
     System.exit(0);
}
}

ありがとう、または高度なヘルプ!!! :D

4

2 に答える 2

0

JTextField をフィールドにするだけです。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;


public class Shutdown extends JFrame{
    JTextField text1;
    JButton start;
    String shutdownCmd;

        public Shutdown() {

        this.setTitle("Shutdown When you want");
        setSize(300, 150);
        setResizable(false);
        setLocation(370, 150);
        setLayout(null);

        JLabel desc1 = new JLabel("Time until shutdown : ");
        desc1.setBounds(95, 25, 125, 25);
        add(desc1);

        text1 = new JTextField();
        text1.setBounds(95, 45, 120, 25);
        text1.setForeground(Color.BLACK);
        text1.setToolTipText("Introdu textu aici");
        add(text1);

        JButton start = new JButton("Start Shudown");
        start.setBounds(95, 75, 120, 25);
        add(start);



        ActionListener eventstart = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO auto- generated method
                String actionstart = arg0.getActionCommand();
                if(actionstart.equals("Start Shudown")){
                    try {
                        ShutdownCmd();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

                }

        }; 
        start.addActionListener(eventstart);
}       
        public void ShutdownCmd() throws IOException{
            Runtime runtime = Runtime.getRuntime();

            long a=Long.parseLong(text1.getText());
            Process proc = runtime.exec("shutdown -s -t "+a);
            System.exit(0);
        }
}

グローバルの場合、このオブジェクトの任意の関数で使用できるため、JFrame オブジェクト内の任意の場所から textField からテキストを取得できます。

これがあなたのやりたいことであることを願っています。十分に説明されていない場合は、教えてください。;)

于 2013-07-05T10:24:51.923 に答える