62,621
社区成员
发帖
与我相关
我的任务
分享
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Test extends JFrame {
private JButton button;
public Test() {
final int localInt = 8;
final StringBuilder builder = new StringBuilder("builder");
button = new JButton("Test");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Test.this, builder);
JOptionPane.showMessageDialog(Test.this, localInt);
}
});
this.add(button);
this.setSize(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
Compiled from "Test.java"
class Test$1 extends java.lang.Object implements java.awt.event.ActionListener{
final java.lang.StringBuilder val$builder;
final Test this$0;
Test$1(Test, java.lang.StringBuilder);
Code:
0: aload_0
1: aload_1
2: putfield #1; //Field this$0:LTest;
5: aload_0
6: aload_2
7: putfield #2; //Field val$builder:Ljava/lang/StringBuilder;
10: aload_0
11: invokespecial #3; //Method java/lang/Object."<init>":()V
14: return
public void actionPerformed(java.awt.event.ActionEvent);
Code:
0: aload_0
1: getfield #1; //Field this$0:LTest;
4: aload_0
5: getfield #2; //Field val$builder:Ljava/lang/StringBuilder;
8: invokestatic #4; //Method javax/swing/JOptionPane.showMessageDialog:(Ljava/awt/Component;Ljava/lang/Object;)V
11: aload_0
12: getfield #1; //Field this$0:LTest;
15: bipush 8
17: invokestatic #5; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
20: invokestatic #4; //Method javax/swing/JOptionPane.showMessageDialog:(Ljava/awt/Component;Ljava/lang/Object;)V
23: return
}