如何在一個自定義視窗中顯示(文字區域)顯示在DOS下執行JAVAC\JAVA時所觸發的異常?

SUNBOYJAVA發表於2003-04-01
如:

//Jtoc.java

import java.awt.event.*;
import javax.swing.*;

public class Jtoc extends JFrame implements ActionListener
{
JTextField javaname = new JTextField(15);
JButton javabutton = new JButton("編譯");
JTextField classname = new JTextField(15);
JButton classbutton = new JButton("執行");

JTextArea messagetext = new JTextAea(5,20);

String javastring; boolean jtoc = false;

public Jtoc()
{
super("JavaToClass");
setSize(250,210);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

classbutton.setEnabled(false);

JPanel pane = new JPanel();
javabutton.addActionListener(this);
classbutton.addActionListener(this);
pane.add(javaname); pane.add(javabutton);
pane.add(classname); pane.add(classbutton);
pane.add(messagetext);
setContentPane(pane);
}
public static void main(String[] args)
{
Jtoc jtc = new Jtoc();
jtc.show();
}
public void actionPerformed(ActionEvent evt)
{
Object src = evt.getSource();
javastring =javaname.getText();
Runtime r = Runtime.getRuntime();
Process p = null;

if (src==javabutton && !(javastring.equals("")))
{ String getjavastra ="javac "+javastring+"java";
try{
p=r.exec(getjavastra);
p.waitFor();
classbutton.setEnabled(true);
classname.setText(javastring);
jtoc = true;
}catch(Exception e)
{messagetext.setText
("Error:"+e.getMessage());
}
}
else if (src==classbutton && jtoc==true)
{
String getjavastrb="java "+javastring;
try{
p=r.exec(getjavastrb)
p.waitFor();
}catch(Exception e)
{messagetext.setText("Error:"+e.getMessage());
}
}
}
}





資訊框中不能顯示出錯時有關異常返回資訊 該如何解決啊?
我如何能讓資訊框中顯示出錯時在DOS下返回的異常資訊?

謝謝











相關文章