【发布时间】:2012-03-15 13:53:46
【问题描述】:
当我单击小程序上的按钮时,我没有得到任何响应。 我之前得到了输出 - 然后我评论这部分做了一些其他的事情。 现在当我再次回到它时,无论我做什么它都不起作用。
public class main extends Applet {
TextArea display = new TextArea();
TextField input = new TextField();
Button send;
Button connect;
String message;
Socket cli = null;
Socket client = null;
time updatetime;
Start_server start_server=null;
public void init() {
send = new Button("send");
connect = new Button("Start");
Panel keys = new Panel();
keys.setLayout(new GridLayout(1, 1));
keys.add(connect);
Panel south = new Panel();
south.setLayout(new BorderLayout());
south.add("West", keys);
south.add("Center", input);
south.add("East", send);
Label title = new Label("Lamport", Label.CENTER);
title.setFont(new Font("Helvetica", Font.BOLD, 14));
setLayout(new BorderLayout());
add("North", title);
add("Center", display);
add("South", south);
}
public boolean action(Event e, Object o) {
if (e.target == connect) {
display.append("connected");
}
else if(e.target == send) {
display.append("sent");
}
return true;
}
}
【问题讨论】:
-
1)
public class main ..a) 'main' 对于小程序类来说是一个糟糕的名字。 b) 请学习常见的Java naming conventions(特别是用于名称的大小写)用于类、方法和属性名称,并始终如一地使用它们。 2).. extends Applet {在这个千年不要使用 AWT 组件。使用摇摆。 3)不要使用过时的方法。检查 JavaDocs 以获取替换。 4) 为了尽快获得更好的帮助,请发帖SSCCE。 -
我写的所有代码都是为了一个目的......所以你有什么具体的答案吗?
-
“我写的所有代码都是为了一个目的......” 很好,很好......该评论应该解决我提出的 4 点中的任何一个吗?如果是这样,是哪一个,以及如何? “那么您有什么具体的答案吗?” 那么您是否注意到我们的 cmets 下方以“3 个答案”开头的区域?那么你注意到最上面的答案了吗?那么你注意到是谁在 23 小时前发布的吗?所以你现在开始觉得愚蠢了吗? ;)
-
感谢您对我的代码的所有兴趣和这么多宝贵的建议......现在也许您甚至可以教我如何“使用 Swing”,这将是一个很好的帮助顾问!跨度>
-
“最后我重写了整个代码,它神奇地工作了” 这没有什么神奇之处。在您了解发生的情况并加以纠正之前,每次更改小程序代码时,此问题都会继续显现。 “现在也许你甚至可以教我如何“使用 Swing” 当然,here you go。