java:找不到符号

importjava.awt.*;importjavax.swing.*;classMyJDialogextendsJDialog{publicMyJDialog(MyF... 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);
}
}

运行代码后,指示
1 错误

F:\Dang\workspace\hly>javac MyFrame.java
MyFrame.java:23: 找不到符号
符号: 类 ActionListener
位置: 类 MyFrame
bl.addActionListener(new ActionListener(){

求大神点拨~~
^
展开
 我来答
ch...1@163.com
2014-07-01 · 超过20用户采纳过TA的回答
知道答主
回答量:51
采纳率:100%
帮助的人:45.3万
展开全部
你这是因为ActionEvent和ActionListener这两个类是属于java.awt.event.*包中的,你只引用了java.awt.*是不够的;
当然在写java程序的时候尽量不要用*引入包中所有的类,而是用到哪个类就引入哪个,以便节省资源。
追问

我还想问下 

  1. 我怎么知道这个还要引用event?或者说我怎么确定哪些东西就该导入哪样的包?

  2. 为什么我的代码(加上了导入的event包)什么都运行不出来,我是按照书上的代码敲的,书上只给了这部分,按理说应该会出现一个java窗口的。。

追答

关于要导入哪个包有2种方法:

  1. 下载个jdk api,上面可以查到所有的java类属于哪个包,目前jdk1.6有中文版的,1.7以后都是英文版,给你个1.6的下载地址:http://www.cr173.com/soft/22244.html

  2. 用eclipse去编程,写完程序直接快捷键ctrl+shift+o就自动导入了所有包

     

关于程序运行不出来是因为你没有设置窗口可见及窗口大小,在container.add(bl);后面加上下面这两行代码就可以了: 

 this.setVisible(true);
 this.setSize(300,300);

这样应该能解决你的问题了,记得采纳哦

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轩萌王道Lp4
2014-06-30 · 超过67用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:122万
展开全部
改好了...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Test {

public static void main(String[] args) {
JFrame f = new JFrame("西南财经大学职工");
JPanel contentpane = new JPanel();
contentpane.setLayout(new FlowLayout(FlowLayout.LEFT));

ImageIcon icon = new ImageIcon("woker,dif");
JLabel l1 = new JLabel("姓名 职工编号信息");
l1.setIcon(icon);//这里分开设置
JLabel l2 = new JLabel("你有哪些兴趣爱好?");
JTextField tf = new JTextField("四川省成都市");

JRadioButton rad1 = new JRadioButton("男");
JRadioButton rad2 = new JRadioButton("女");
JCheckBox c1 = new JCheckBox("篮球", false);
JCheckBox c2 = new JCheckBox("音乐", false);
JCheckBox c3 = new JCheckBox("舞蹈", false);
JCheckBox c4 = new JCheckBox("主持", false);

ButtonGroup bg1 = new ButtonGroup();

bg1.add(rad1);
bg1.add(rad2);

JTextArea ta = new JTextArea("个人简介信息");

contentpane.add(l1);
contentpane.add(tf);
contentpane.add(ta);
contentpane.add(l2);
contentpane.add(rad1);//添加rad就行了,不能添加按钮组的
contentpane.add(rad2);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(600, 400);
f.setContentPane(contentpane);
f.setVisible(true);

}
}
追问
能不能不要这样。。哎,我明白挣点分不容易
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式