将图形添加到 JFrame



我刚开始学习Java图形。有人可以解释一下 super() 和 JFrame 之间有什么不同吗?当我使用 super() 时,我可以绘制图形,但我无法在 JFrame 中绘制。

public class Screen extends JFrame {
public JFrame fra = new JFrame();
private static final long serialVersionUID = 1L;
BufferedImage img=null;
public void paint(Graphics g){
    try{
        img=ImageIO.read(new File("D:/strawberry.jpg"));
    }catch (IOException e){}
    try{
        g.drawImage(img, 100,100, null);
    }catch (Exception e){}
}
public Screen()
{
    /*
    super ("kingdom");
    setSize(700,700);
    setResizable(false);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    */
    // normal JFrame--------------------------------------------------
    fra.setTitle("kingdom");
    fra.setSize(600,600);
    fra.setResizable(false);
    fra.setDefaultCloseOperation(EXIT_ON_CLOSE);
    JMenuBar bar = new JMenuBar();
    JMenu file = new JMenu("File");
    JMenu edit = new JMenu("Edit");
    JMenu option = new JMenu("Option");
    JMenuItem open = new JMenuItem("Open");
    JMenuItem save = new JMenuItem("Save");
    JMenuItem exit = new JMenuItem("Exit");
    JMenuItem controlkey = new JMenuItem("Control key");
    JMenuItem sound = new JMenuItem("Sound");
    fra.setJMenuBar(bar);
    bar.add(file);
    bar.add(edit);
    bar.add(option);
    file.add(open);
    file.add(save);
    file.add(exit);
    edit.add(controlkey);
    edit.add(sound);
    fra.setVisible(true);
    //-------------------------------------------------------------
}
public static void main(String[] a){
    new Screen();
}
}

在扩展JPanel的类中进行绘图,然后将该类的实例设置为框架的内容窗格,或将其添加到适合您的内容窗格中。当然,您也可以使用扩展裸JComponent的类来执行此操作。

该类中的绘图将在 paintComponent 的覆盖中完成。

相关内容

  • 没有找到相关文章

最新更新