关于java书上例题的一个问题
今天在书上做了下例题,例题内容如下:importjava.awt.*;importjavax.swing.*;classMyJDialogextendsJDialog{p...
今天在书上做了下例题, 例题内容如下:
import java.awt.*;
import javax.swing.*;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame){
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
public static void main(String[] args) {
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JFrame窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
...//省略部分代码(书上就这么写的)
}
}
然后在Eclipse上提示 bl.addActionListener(new ActionListener(){
这一行上的匿名内部类ActionListener无法解析为类型
我应该没抄错题,那究竟错在哪了呢?
这是树上的例题。。。 展开
import java.awt.*;
import javax.swing.*;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame){
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
public static void main(String[] args) {
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JFrame窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
...//省略部分代码(书上就这么写的)
}
}
然后在Eclipse上提示 bl.addActionListener(new ActionListener(){
这一行上的匿名内部类ActionListener无法解析为类型
我应该没抄错题,那究竟错在哪了呢?
这是树上的例题。。。 展开
2个回答
展开全部
在你的代码上增加了3个地方:第一部分是增加对java.awt.event包的引用,因为几乎所有事件监听接口都在该包中;第二部分和第三部分分别用于设置窗口的大小和可见性,这样你就可以看到运行结果了。其他OK。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*; //增加部分1
import javax.swing.*;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame){
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
public static void main(String[] args) {
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JFrame窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
//省略部分代码(书上就这么写的)
this.setSize(200, 200); //增加部分2:设置窗口的大小
this.setVisible(true); //增加部分3:设置窗口可见
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*; //增加部分1
import javax.swing.*;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame){
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
public static void main(String[] args) {
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JFrame窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
//省略部分代码(书上就这么写的)
this.setSize(200, 200); //增加部分2:设置窗口的大小
this.setVisible(true); //增加部分3:设置窗口可见
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询