为什么Eclipse里编译运行成功的java文件在文件夹里手动编译成功但运行出错?
代码如下所示,是《CoreJava》第九版里的示例文件SizedFrameTest.java我用cmd定位到所在文件夹里输入javacSizedFrameTest.jav...
代码如下所示,是《Core Java》第九版里的示例文件SizedFrameTest.java
我用cmd定位到所在文件夹里 输入javac SizedFrameTest.java编译正常
但运行java SizedFrameTest怎么报错呢?
package sizedFrame;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class SizedFrameTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new SizedFrame();
frame.setTitle("Sized Frame!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class SizedFrame extends JFrame {
public SizedFrame() {
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
setSize(screenWidth/2, screenHeight/2);
setLocationByPlatform(true);
// Image img = new ImageIcon("C:\\Java\\exercises\\v1ch07\\src\\sizedFrame\\icon.gif").getImage();
Image img = new ImageIcon("icon.gif").getImage();
setIconImage(img);
}
}
**********************************************************************************************8
错误信息如下,复制文字会超出提问字数限制,只能截图如下:
前一个问题搞明白了,删掉第一行的包语句。我还有一个疑问,手动运行成功了,出来的jFrame的图标正是我选择的同一文件夹内"icon.gif"图片(见图片),但是在Eclipse里同样的代码运行出来却还是默认图标(图片里外面那个),必须改成绝对路径"C:\\Java\\exercises\\v1ch07\\src\\sizedFrame\\icon.gif"才能显示,这又是怎么回事? 展开
我用cmd定位到所在文件夹里 输入javac SizedFrameTest.java编译正常
但运行java SizedFrameTest怎么报错呢?
package sizedFrame;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class SizedFrameTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new SizedFrame();
frame.setTitle("Sized Frame!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class SizedFrame extends JFrame {
public SizedFrame() {
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
setSize(screenWidth/2, screenHeight/2);
setLocationByPlatform(true);
// Image img = new ImageIcon("C:\\Java\\exercises\\v1ch07\\src\\sizedFrame\\icon.gif").getImage();
Image img = new ImageIcon("icon.gif").getImage();
setIconImage(img);
}
}
**********************************************************************************************8
错误信息如下,复制文字会超出提问字数限制,只能截图如下:
前一个问题搞明白了,删掉第一行的包语句。我还有一个疑问,手动运行成功了,出来的jFrame的图标正是我选择的同一文件夹内"icon.gif"图片(见图片),但是在Eclipse里同样的代码运行出来却还是默认图标(图片里外面那个),必须改成绝对路径"C:\\Java\\exercises\\v1ch07\\src\\sizedFrame\\icon.gif"才能显示,这又是怎么回事? 展开
4个回答
展开全部
初步估计是找不到包,就是package sizedFrame;因为多了这句话,在eclipse里面没事,但在cmd中,找不到路径吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-10
展开全部
用记事本,把上面的包名(package sizedFrame;)删掉,在编译。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
环境变量少东西吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询