试图为我的照片制作一个单独的课程,但图片不会显示出来?

时间:2014-05-02 18:45:15

标签: java image class jframe frame

我的框架中应该有两个图像,一个男孩和一个摇滚,我希望他们有单独的课程,这样我就可以为每个人做不同的事情。我问我是否应该,并建议。我只是把我的摇滚移到另一个班级但现在摇滚不再出现了。我的问题在哪里?

头等舱:

       import java.awt.Color;
       import java.awt.Dimension;

       import javax.swing.*;
       public class JumpyBoy {

 public static void main(String[] args) {
    JFrame frame = new JFrame ("Boy");
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE );

    frame.setPreferredSize (new Dimension (1000, 700));
    Boy panel = new Boy();

    frame.getContentPane().add(panel);
    frame.pack();
    frame.setVisible(true);

            }

                  }

男生班:

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

        public class Boy extends JPanel {

JLabel boy1;
ImageIcon boy; 

          public Boy () {
setLayout(null);
setBackground (Color.white);

boy = new ImageIcon ("U:\\My Documents\\Eclipse\\JumpyBoy\\src\\TheBoy.png");           
boy1 = new JLabel (boy, SwingConstants.CENTER); 
boy1.setBounds (80, 30, 130, 500);

add (boy1);

       }
public void keyPressed(KeyEvent e) {

    int key = e.getKeyCode();

    if (key == KeyEvent.VK_SPACE) {                     
    }}}

摇滚课:

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

public class rock extends JPanel {

JLabel rock1;
ImageIcon rock;

public rock () {
    setLayout(null);
    setBackground (Color.white);

    rock = new ImageIcon ("U:\\My Documents\\Eclipse\\JumpyBoy\\src\\rock.jpg");        
    rock1 = new JLabel (rock, SwingConstants.CENTER);       
    rock1.setBounds (300, 240, 130, 500);


    add (rock1);
    }
    public void keyPressed(KeyEvent e) {

        int key = e.getKeyCode();
        if (key == KeyEvent.VK_SPACE) {
        }}}

1 个答案:

答案 0 :(得分:0)

你永远不会在任何地方添加任何新的摇滚对象,所以在你的程序中它不会起作用是有道理的。

虽然我同意你可以很好地使用Rock(请注意所有类名称应以大写字母开头)逻辑课程,但我并不认为拥有它符合您的最佳利益扩展JPanel。你的男孩班也一样。这里应该有一个JPanel,它包含Rock和Boy对象并绘制它们。