Java 小程序按钮单击不工作
当我点击小程序上的按钮时,我没有得到任何响应我之前得到了输出-然后我评论这部分做了一些其他事情。现在当我回到它时,无论我做什么,它都不工作Java 小程序按钮单击不工作,java,button,applet,Java,Button,Applet,当我点击小程序上的按钮时,我没有得到任何响应我之前得到了输出-然后我评论这部分做了一些其他事情。现在当我回到它时,无论我做什么,它都不工作 public class main extends Applet { TextArea display = new TextArea(); TextField input = new TextField(); Button send; Button connect; String message; Sock
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;
}
}
按钮无法神奇地执行任何操作,除非您为它们提供代码,让它们执行操作,这是通过向按钮添加ActionListener来实现的。我看不出你在哪里这样做,这当然是解决你问题的办法。在编写此代码之前,您是否已经阅读了有关此方面的教程,因为教程和本论坛以前的帖子中都对其进行了详细描述?另外,我很好奇为什么要编写AWT程序而不使用功能更强大的Swing GUI库?按钮无法神奇地执行任何操作,除非您给它们提供代码让它们执行操作,这是通过向按钮添加ActionListener来完成的。我看不出你在哪里这样做,这当然是解决你问题的办法。在编写此代码之前,您是否已经阅读了有关此方面的教程,因为教程和本论坛以前的帖子中都对其进行了详细描述?另外,我很好奇为什么要编写AWT程序而不使用更强大的Swing GUI库?首先,您的类需要实现ActionListener接口
public class main extends Applet implements ActionListener
这要求您创建已有的操作(事件)函数
然后,您需要告诉您的按钮使用该类作为其操作侦听器
send.addActionListener(this);
这将使单击注册成为可能。首先,您的类需要实现ActionListener接口
public class main extends Applet implements ActionListener
这要求您创建已有的操作(事件)函数
然后,您需要告诉您的按钮使用该类作为其操作侦听器
send.addActionListener(this);
这将使单击注册表。在我添加导入后,注释掉两行多余的行,添加一个小程序标记,编译它并在小程序查看器中运行它,我得到如下输出:
connectedconnectedsentconnectedsent
所以我认为你这边的问题是浏览器使用的是旧版本的类。在开发过程中,最好使用applet查看器(或)启动applet,这两个缓存类都不能
如果小程序需要这些工具不支持的测试内容(例如与JS的交互),请确保已将Java控制台配置为在加载小程序(或JWS应用程序)时打开。有一些命令(请参见起始输出中的列表)用于刷新缓存。有时也可以通过停止并重新启动浏览器来实现,但清除类缓存更可靠。在我添加导入后,注释掉几行多余的行,添加一个小程序标记,编译它并在小程序查看器中运行它,我得到的输出如下
connectedconnectedsentconnectedsent
所以我认为你这边的问题是浏览器使用的是旧版本的类。在开发过程中,最好使用applet查看器(或)启动applet,这两个缓存类都不能
如果小程序需要这些工具不支持的测试内容(例如与JS的交互),请确保已将Java控制台配置为在加载小程序(或JWS应用程序)时打开。有一些命令(请参见起始输出中的列表)用于刷新缓存。有时,也可以通过停止并重新启动浏览器来实现,但清除类缓存更可靠。1)
public class main..
a)“main”对于小程序类来说是一个糟糕的名称。b) 请学习类、方法和属性名称的通用(特别是用于名称的大小写),并一致使用它们。2) 。。扩展小程序{
在这个千年中不要使用AWT组件。使用Swing。3)不要使用不推荐的方法。检查JavaDocs以获得替换。4)为了更快地获得更好的帮助,发布一个。我写的所有代码都是专门为某个目的而写的……那么你有什么具体的答案吗?“我写的所有代码都是专门为某个目的而写的…”好的,好的..那条评论应该是针对我提出的4点中的任何一点吗?如果是,哪一点,以及如何回答?“那么你有什么具体的答案吗?”那么你注意到我们评论下面以“3个答案”开头的区域了吗你注意到最重要的答案了吗?你注意到23小时前是谁发布的吗?那么你现在开始觉得自己很愚蠢了吗?;)谢谢你对我的代码和这么多有价值的建议……现在也许你甚至可以教我如何“使用Swing”,这将是一个非常有用的建议!“最后,我重写了整个代码,它神奇地工作了”这并没有什么神奇之处。在您了解发生了什么并纠正它之前,每次更改小程序代码时,这个问题都会继续出现。“现在,也许您甚至可以教我如何“使用Swing”当然可以,.1)public class main..
a)'main'对于小程序类来说是一个糟糕的名称。b)请学习类、方法和属性名称的通用(特别是用于名称的大小写)并一致使用它们。2)。扩展小程序{
在这个千禧年不要使用AWT组件。使用Swing。3)不要使用不推荐的方法。检查JavaDocs以获得替换。4)为了更快地获得更好的帮助,发布一篇文章。我写的所有代码都是专门为某个目的而写的……那么你有什么具体的答案吗?“我写的所有代码都是专门为某个目的而写的…”好的,好的..那条评论应该是针对我提出的4点中的任何一点吗?如果是,哪一点,以及如何回答?“那么你有什么具体的答案吗?”那么你注意到我们评论下面以“3个答案”开头的区域了吗你注意到最重要的答案了吗?你注意到23小时前是谁发布的吗?那么你现在开始觉得自己很愚蠢了吗?;)谢谢你对我的代码和这么多有价值的建议……现在也许你甚至可以教我如何“使用Swing”,这将是一个非常有用的建议!“最后,我重写了整个代码,它神奇地工作了”这是没有魔力的。直到你明白发生了什么并纠正它,这