这是我的代码:
import java.io.*;
import javax.swing.*;
import java.awt.event.* ;
class plugin extends JFrame implements ActionListener {
JPanel pnl = new JPanel();
public static void main(String args[]) {
plugin gui = new plugin();
}
JTextField progname = new JTextField("Program Name");
JButton pnameok = new JButton("Ok");
JTextField endtxt = new JTextField("Type of file");
JButton endok = new JButton("Ok");
JButton stop = new JButton("Stop the Server");
public plugin() {
super();
add(pnl);
pnl.add(stop);
pnl.add(progname);
pnl.add(pnameok);
pnl.add(endtxt);
pnl.add(endok);
pnameok.addActionListener(this);
endok.addActionListener(this);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed( ActionEvent event ) {
if(event.getSource() == endok) {
try {
String end = endtxt.getText();
FileWriter endfile = new FileWriter( end + ".txt" );
}
catch( IOException e ) {
boolean uselessend = true;
}
if(event.getSource() == pnameok) {
try {
String pname = progname.getText();
FileWriter pnamefile = new FileWriter( pname + ".txt" );
}
catch( IOException e1 ) {
boolean uselesspname = true;
try {
FileWriter pnamefileuse = new FileWriter( "error" );
}
catch( IOException e2 ) {
boolean completeandutterfail = true;
}
}
}
}
}
}
当我运行它时,在程序名称中输入yay
,在文件类型中输入exe
,然后单击两个确定按钮,我会得到一个名为exe.txt
的新文件但没有调用文件yay.txt
。这是为什么?
答案 0 :(得分:2)
是。你肯定做了些蠢事。那就是到处都是乱七八糟的大括号。从末尾删除末端括号(}
)并在此代码后立即添加:
catch( IOException e ) {
boolean uselessend = true;
}
所以它变成了这个:
catch( IOException e ) {
boolean uselessend = true;
}
}
那应该解决它。
另外作为旁注:
1.给你的班级名字首字母。 (例如Plugin
)。
2.缩进代码以提高可读性。
3.您可能希望在e.printStackTrace()
部分例外中添加catch
进行调试。