import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Lab2Part2 extends JFrame implements ActionListener
{
private JFrame frame;
private JButton button;
private JPanel panel;
public Lab2Part2()
{
setLayout(new GridLayout());
frame = new JFrame();
button = new JButton("Let's start this show");
panel = new JPanel();
panel.add(button);
InnerProgress prog1 = new InnerProgress("Progress 1: ");
InnerProgress prog2 = new InnerProgress("Progress 2: ");
button.addActionListener(new ActionListener());
//this is where it throws errors
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if(source == button)
{
Thread th1 = new Thread(prog1);
Thread th2 = new Thread(prog2);
th1.start();
th2.start();
}
}
add(panel);
add(prog1);
add(prog2);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
pack();
}
public static void main(String [] args)
{
new Lab2Part2();
}
class InnerProgress extends JPanel implements Runnable
{
private String progress;
private JProgressBar bar;
public InnerProgress(String _progress)
{
progress = _progress;
add(bar);
}
public void run()
{
System.out.println("We are running: " + progress);
}
}
}
你把你的代码搞混了,结果是方法里面有方法。
button.addActionListener(new ActionListener());
//this is where it throws errors
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if(source == button)
{
Thread th1 = new Thread(prog1);
Thread th2 = new Thread(prog2);
th1.start();
th2.start();
}
}
整个actionperformed
方法实际上应该在一个匿名的内部类中,但事实并非如此。
button.addActionListener(new ActionListener(){
//this is where it throws errors
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if(source == button)
{
Thread th1 = new Thread(prog1);
Thread th2 = new Thread(prog2);
th1.start();
th2.start();
}
});
将方法保留在匿名实现中。
问题内容: 请看下面的代码: 在上面的代码中,在方法ModifyList()中声明的匿名内部类的实例能够访问传递给该方法的参数。AFAIK Java为内部类创建一个单独的字节码文件。 谁能解释一下Java在字节码级别上如何处理这些局部变量绑定?我的意思是,Java如何精确跟踪对作为参数传递给该方法的对象的引用? 任何帮助将不胜感激! [抱歉我的英语不好! 如果您理解我的问题,请编辑这篇文章,并删除
为什么我会得到:非法的表达式开始-公共静态int noOfLetters(String str){error?我如何修复它?
在以下片段中: 有没有办法从内部匿名类引用匿名类的外部实例? 第二个错误是在解决方案上,我在这里找到了一个匿名内部类的外部类的关键字。这些问题似乎共享一些概念和问题空间,但性质不同。
问题内容: 在我的某些项目和某些书中,据说最好 不要 使用内部类(不管是匿名与否,静态还是非静态),除非在某些受限制的条件下(例如s或s)。在我的第一个行业项目中,他们甚至被“禁止”。 这真的是最佳做法吗?为什么? (我不得不说我经常使用它们…) -编辑— 在所有这些答复中我都找不到一个正确的答案:大多数答复中都包含正确的部分:我仍将使用内部类,但我将尽量少使用它们! 问题答案: 在我看来,Jav
问题内容: 我正在编写C#Wicket实现,以加深对C#和Wicket的理解。我们遇到的问题之一是Wicket大量使用匿名内部类,而C#没有匿名内部类。 因此,例如,在Wicket中,您可以这样定义一个链接: 由于Link是一个抽象类,因此它强制实现者实现onClick方法。 但是,在C#中,由于没有匿名内部类,因此无法做到这一点。另外,您可以使用如下事件: 当然,这样做有两个缺点。首先,可以有多
本文向大家介绍Java匿名类,匿名内部类实例分析,包括了Java匿名类,匿名内部类实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java匿名类,匿名内部类。分享给大家供大家参考,具体如下: 内部类 匿名类 首发日期 :2018-03-25 内部类: 在一个类中定义另一个类,这样定义的类称为内部类。【包含内部类的类可以称为内部类的外部类】 如果想要通过一个类来使用另一个类,可以定