Topic: 为什么编译不能通过呢? |
Print this page |
1.为什么编译不能通过呢? | Copy to clipboard |
Posted by: tanytan Posted on: 2004-12-20 15:20 下面是本人练习GUI的一个例子,但就是编译通不过,各位大侠能不能帮我看看啊 import java.awt.*; import java.awt.event.*; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.ImageIcon; /** * <p>Title: 按钮演示</p> * <p>Description: 提供一个按钮的演示。如何实现按钮和是一个按钮失效</p> * <p>Filename: ButtonDemo.java </p> */ public class ButtonDemo extends JPanel implements ActionListener { protected JButton b1, b2, b3; /** *<br>方法说明:构造器,初始图形界面构建 *<br>输入参数: *<br>返回类型: */ public ButtonDemo() { ImageIcon leftButtonIcon = createImageIcon("images/right.gif"); ImageIcon middleButtonIcon = createImageIcon("images/middle.gif"); ImageIcon rightButtonIcon = createImageIcon("images/left.gif"); b1 = new JButton("失效中间按钮(D)", leftButtonIcon); b1.setVerticalTextPosition(AbstractButton.CENTER);//水平中间对齐 b1.setHorizontalTextPosition(AbstractButton.LEADING);//相当于LEFT b1.setMnemonic(KeyEvent.VK_D);//将b1邦定alt+D键 b1.setActionCommand("disable"); b2 = new JButton("M中间按钮", middleButtonIcon); b2.setVerticalTextPosition(AbstractButton.BOTTOM); b2.setHorizontalTextPosition(AbstractButton.CENTER); b2.setMnemonic(KeyEvent.VK_M);//将b2邦定alt+M键 b3 = new JButton("E激活中间按钮", rightButtonIcon); b3.setMnemonic(KeyEvent.VK_E);//将b3邦定alt+E键 b3.setActionCommand("enable"); b3.setEnabled(false); //给1和3添加事件监听 b1.addActionListener(this); b3.addActionListener(this); //设置按钮提示文本 b1.setToolTipText("点击这个按钮,将使中间的按钮失效!"); b2.setToolTipText("点击这个按钮,没有任何的事件发生!"); b3.setToolTipText("点击这个按钮,将使中间的按钮有效"); //将按钮添加到JPanel中 add(b1); add(b2); add(b3); } /** *<br>方法说明:事件处理 *<br>输入参数: *<br>返回类型: */ public void actionPerformed(ActionEvent e) { if ("disable".equals(e.getActionCommand())) { b2.setEnabled(false); b1.setEnabled(false); b3.setEnabled(true); } else { b2.setEnabled(true); b1.setEnabled(true); b3.setEnabled(false); } } /** *<br>方法说明:创建图标, *<br>输入参数:String path 图标所在的路径 *<br>返回类型:ImageIcon 图标对象 */ protected static ImageIcon createImageIcon(String path) { java.net.URL imgURL = ButtonDemo.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println("Couldn't find file: " + path); return null; } } /** *<br>方法说明:主方法 *<br>输入参数: *<br>返回类型: */ public static void main(String[] args) { //设置使用新的swing界面 JFrame.setDefaultLookAndFeelDecorated(true); //创建一个窗体 JFrame frame = new JFrame("ButtonDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //创建一个面板 ButtonDemo newContentPane = new ButtonDemo(); newContentPane.setOpaque(true); frame.setContentPane(newContentPane); //显示窗体 frame.pack(); frame.setVisible(true); } } |
2.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: tanytan Posted on: 2004-12-20 15:25 下面是编译时的截面: |
3.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: caike Posted on: 2004-12-20 15:49 编译没问题呀, 我复制你的代码到eclipse里面去,RUN没问题,只是少了你的那几个图片而已。 |
4.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: caike Posted on: 2004-12-20 15:53 估计又是能classpath设置的问题。 你先把这句话注释掉试试 JFrame.setDefaultLookAndFeelDecorated(true); 看看编译能不能通过 |
5.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: tanytan Posted on: 2004-12-20 16:06 哈,可以了。注释掉以后可以编译和运行了。我是直接在dos下运行的,不止这样学习java好还是在集成环境下学习比较好?能否给点建议? |
6.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: tanytan Posted on: 2004-12-20 16:16 我取消该注释后又不能运行了,看来问题确实在那儿 但是为什么会这样呢? 能不能帮我解释一下 我classpath设置是c:\jdk1.3.1_02\lib\tools.jar;.;c:\jdk1.3.1_02\dt.jar; path设置是c:\jdk1.3.1_02\bin; 应该没错吧? |
7.Re:为什么编译不能通过呢? [Re: tanytan] | Copy to clipboard |
Posted by: mitnickcbc Posted on: 2004-12-20 19:49 你的jdk太旧了,查查api, JFrame.setDefaultLookAndFeelDecorated()是jdk1.4以后才有的 |
8.Re:为什么编译不能通过呢? [Re: mitnickcbc] | Copy to clipboard |
Posted by: caike Posted on: 2004-12-21 09:15 还是下个eclipse用吧,别把时间浪费在配JDK,CLASSPATH上了。 |
9.Re:为什么编译不能通过呢? [Re: caike] | Copy to clipboard |
Posted by: heart5 Posted on: 2004-12-23 13:28 caike wrote: 赞同。 建议先入门,然后再精通 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |