【问题标题】:Java Upload ImageJava 上传图片
【发布时间】:2015-03-21 18:41:24
【问题描述】:

这是我在 stackoverflow 中的第一篇文章:D

对不起我的英语(我是意大利人)

所以我有一个叫做 setFrame 的方法

public static void setFrame()
{
    JFrame GameMain = new JFrame();
    GameMain.setSize(width, high);
    GameMain.setLocationRelativeTo(null);
    GameMain.setTitle("Tic Tac Toe!");
    GameMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Grid grid = new Grid(600, 600);
    GameMain.add(grid);
    GameMain.pack();
    GameMain.setVisible(true);


}

这是网格类

public class Grid
{

private static int high;
private static int width;
public Grid(int width, int high)
{
    width = width;
    high = high;
    BufferedImage img = null;
    try {
        img = ImageIO.read(new File("/grids/griglia1.png"));
    } catch (IOException e) {
    }

}

}

好的,问题是当我在 setFrame 方法中写“GameMain.add(grid);”时 控制台给了我一个错误,比如 “Container类型中的add(Component)方法不适用于参数(Grid)”

感谢您的帮助

【问题讨论】:

  • 为什么要添加网格? Grid 不是 Swing 组件只是一个对象
  • Grid 不是 Swing 的组件,您必须扩展任何 Swing 组件才能将其添加到 Swing 容器中,例如 JFrame。据我所知,您想在JFrame 中添加背景图片。只需添加这个 sn-p frame.setContentPane(new JLabel(new ImageIcon("path of your image")));
  • 我只是想添加一个网格,因为我正在做井字游戏
  • 好的,我一个人解决了,谢谢!

标签: java image io upload buffer


【解决方案1】:

据我所知,您想将图像添加到 JFrame。但是,您的实施存在一些问题。首先,您不能将图像直接添加到组件中。您需要将它们封装在 JLabel 中。此外,不能将网格类添加到 JFrame 的原因是它不是摆动组件。

完成您尝试做的最简单的方法是制作一个 JPanel,然后将其添加到框架中,然后制作一个封装您的图像的 JLabel 并将其添加到 JPanel。

public static void setFrame()
{
    JFrame GameMain = new JFrame();
    GameMain.setSize(width, high);
    GameMain.setLocationRelativeTo(null);
    GameMain.setTitle("Tic Tac Toe!");
    GameMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel GamePanel = new JPanel();
    GamePanel.setSize(width, high);
    GameMain.add(GamePanel);
    background = new JLabel(new ImageIcon(ImageIO.read(new File("/grids/griglia1.png"))));
    GamePanel.add(background);
    GameMain.pack();
    GameMain.setVisible(true);
}

这样您就可以完全绕过 Grid 类。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-12-19
    • 2016-04-24
    • 1970-01-01
    • 2021-03-19
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    相关资源
    最近更新 更多