A。首先你的图片路径找不到,所以没有东西显示。
解决方法,1.如果你用eclipse那么到workspace下找到项目路径下的bin文件夹,将图片放到 与.Class文件同目录下。
2.或者修改代码
ImageIcon icon1 = new ImageIcon("mouse.gif ");
将其中的"mouse.gif "指定为你图片所在的路径.
B.第二个问题是
public void mousePressed(MouseEvent e) 的左面有个小三角形是eclipse的提示,说明本方法继承自其它父类的方法。
另外,代码虽然没有什么错,但是本身这样的写实有问题的。比如设计模式,重用性等等。
既然前面的问题解决了,那么背景当然是加代码如下了:
Container c = getContentPane();
c.setBackground(Color.red);
如果想要加自定义的图片作为背景有点麻烦:
1.首先设置一个label
ImageIcon background = new ImageIcon("test.jpg");
JLabel label = new JLabel(background);
// 把标签的大小位置设置为图片刚好填充整个面板
label.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight());
// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明
imagePanel = (JPanel) frame.getContentPane();
imagePanel.setOpaque(false);
// 内容窗格默认的布局管理器为BorderLayout
imagePanel.setLayout(new FlowLayout());
imagePanel.add(new JButton("测试按钮"));
frame.getLayeredPane().setLayout(null);
// 把背景图片添加到分层窗格的最底层作为背景
frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(background.getIconWidth(), background.getIconHeight());
frame.setResizable(false);
frame.setVisible(true);
需要先把java文件编译成class,然后图片放在同一个路径下,要不然需要指定路径。以前弄过游戏,有些忘了,一般都会把资源文件放在一起