• 締切済み

どのメソッドだっけ?

javaのプログラム内でコマンドを実行するメソッドってなんでしたっけ? C言語でいうところの、systemみたいなやつです。 system(cat hoge.txt)とかってやるとcat hoge.txtガ実行されるじゃないですか(こまかい文法はぬき)これをjavaで実行するにはどうすればいいの?

みんなの回答

回答No.2

>こうすると、"serch"と書かれたボタンが表示されますよね。 いえ。表示できませんでしたよ。 ちゃんと確認してから貼り付けましょう。 >これをクリックすると同じディレクトリにあるhoge.txtにcatがかかって、その内容が表示されるとします。 >この内容をttに格納するにはどうすればいいのかがわかりません。 ProcessクラスのgetOutputStreamメソッドで「cat hoge.txt」の標準出力ストリームが取得できます。 あとはこの標準出力ストリームから文字列を取り出して、ttに格納するだけです。 >あと、ボタンを押したときに、新しいwindowが開くようにしたいです。 >例えばパネル2をもったwindowが開くようにしたいです。どのようなメソッドでそれが実現するんですか?教えてください 予め(ボタンを押してからでも良いけど)パネル2を持ったWindowオブジェクトのインスタンスを生成しておき、 初期表示は非表示(setVisivle(false))に設定して、ボタンを押したら表示(setVisible(ture))すれば良いでしょう。

i_am_neko
質問者

お礼

ごめん、表示されませんでした。でもちゃんとできました!! ありがとう!!またわかんない子と聞きます

回答No.1

java.lang.Runtimeクラス。

i_am_neko
質問者

補足

そうだ、Runtimeだ。ついでに聞いていい。細くだと2000文字も入力できるからちょっと聞きたい。 import javax.swing.*; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.*; import java.util.Vector; import java.awt.event.* ; public class f_sotu3 extends JFrame{ JPanel p; JButton btn1; JTextField tx1; String tt; public f_sotu3(){ tt = new String("new"); p = new JPanel(); p.setLayout(null); btn1 = new JButton("serch"); setTitle("実験"); setBounds( 10, 10, 1000, 1000); btn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event){ Runtime runtime = Runtime.getRuntime(); try { runtime.exec("cat hoge.txt"); } catch(Exception e) { e.printStackTrace(); } } } ); p.add(btn1); getContentPane().add(p); } public static void main(String[] args){ f_sotu3 test = new f_sotu3(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); /* 実際に表示する */ } } こうすると、"serch"と書かれたボタンが表示されますよね。これをクリックすると同じディレクトリにあるhoge.txtにcatがかかって、その内容が表示されるとします。この内容をttに格納するにはどうすればいいのかがわかりません。あと、ボタンを押したときに、新しいwindowが開くようにしたいです。例えばパネル2をもったwindowが開くようにしたいです。どのようなメソッドでそれが実現するんですか?教えてください

関連するQ&A

専門家に質問してみよう