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(){
求大神点拨~~
^ 展开
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(){
求大神点拨~~
^ 展开
2个回答
展开全部
你这是因为ActionEvent和ActionListener这两个类是属于java.awt.event.*包中的,你只引用了java.awt.*是不够的;
当然在写java程序的时候尽量不要用*引入包中所有的类,而是用到哪个类就引入哪个,以便节省资源。
当然在写java程序的时候尽量不要用*引入包中所有的类,而是用到哪个类就引入哪个,以便节省资源。
追问
我还想问下
我怎么知道这个还要引用event?或者说我怎么确定哪些东西就该导入哪样的包?
为什么我的代码(加上了导入的event包)什么都运行不出来,我是按照书上的代码敲的,书上只给了这部分,按理说应该会出现一个java窗口的。。
追答
关于要导入哪个包有2种方法:
下载个jdk api,上面可以查到所有的java类属于哪个包,目前jdk1.6有中文版的,1.7以后都是英文版,给你个1.6的下载地址:http://www.cr173.com/soft/22244.html
用eclipse去编程,写完程序直接快捷键ctrl+shift+o就自动导入了所有包
关于程序运行不出来是因为你没有设置窗口可见及窗口大小,在container.add(bl);后面加上下面这两行代码就可以了:
this.setVisible(true);
this.setSize(300,300);
这样应该能解决你的问题了,记得采纳哦
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改好了...
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);
}
}
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);
}
}
追问
能不能不要这样。。哎,我明白挣点分不容易
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询