Java中使用JFrame的窗口的背景图像

y

因此,我最近开始学习Java,尽管有很多问题和我还不了解的东西,但我真的很喜欢Java,这使我得以继续学习下去。因此,考虑到这是我有史以来的第一种编程语言,请耐心考虑我犯的任何“菜鸟”错误。

因此,我使用JFrame创建了一个全屏窗口:

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main extends JFrame {

    public static void main(String[] args) {

        //Window
        JFrame mainWindow = new JFrame("Day One");
        mainWindow.setExtendedState(JFrame.MAXIMIZED_BOTH); 
        mainWindow.setUndecorated(true);
        mainWindow.setVisible(true);
        //End Window

    }

}

然后,我尝试通过添加以下内容将背景图像添加到窗口中:

        mainWindow.setLayout(new BorderLayout());
        mainWindow.setContentPane(new JLabel(new ImageIcon("C:\\Users\\Recordings\\Desktop\\Day One\\Images\\Main-Background-Image.png")));
        mainWindow.setLayout(new FlowLayout()); 

我在这里找到了此代码但根本无法正常工作。在这个网站上,有两种不同的制作方法,但我都尝试了两种方法,但均无效果。

我也在stackoverflow中搜索了类似的问题,但是所有问题都没有得到答案,或者都以与我相同的示例得到了回答。

我真的希望我已经足够清楚了,非常感谢您的宝贵时间

编辑:

如建议的那样,我分开了很长的单个语句:

            mainWindow.setContentPane(new JLabel(new ImageIcon("C:\\Users\\Recordings\\Desktop\\Day One\\Images\\Main-Background-Image.png")));

分为三个更简单的调试语句:

        ImageIcon image = new ImageIcon("C:\\Users\\Recordings\\Desktop\\Day One\\Images\\Main-Background-Image.png");
        JLabel label = new JLabel(image);
        mainWindow.setContentPane(label);
凯尔邦德

几点提示

  • 通常最好将panfel放在框架中,然后在其中添加组件。秋千班级变大时,可以进行良好的围堵。
  • 最好为您的项目创建一个资源文件夹。在项目的源代码中创建一个,例如为您的项目在src和bin文件夹所在的位置,并将其命名为“ resources”。
  • 创建图标和图像图标时,最好在尝试捕获之前加上它,这样您就可以给出适当的错误并轻松定位,甚至在运行时处理错误。

话虽如此,这是您的代码加上一些额外的东西。它创建一个面板来保存jlabel(image),并将该面板添加到框架中。它使用一种快速的方法创建一个图像图标,您所要做的就是传递文件名。此方法假定您已在项目目录中创建了名为resources的文件夹,并将图像放置在该文件夹中。

public static void main(String[] args) {
    //Window
    JFrame mainWindow = new JFrame("Day One");
    mainWindow.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    mainWindow.setUndecorated(true);

    //Create image
    JLabel imageHolder = new JLabel();
    imageHolder.setIcon(makeImageIcon("example.png"));

    //Add image to panel, add panel to frame
    JPanel panel = new JPanel();
    panel.add(imageHolder);

    mainWindow.add(panel);

    mainWindow.setVisible(true);
}

//Creates imageicont from filename
public static ImageIcon makeImageIcon(String filename) {
    BufferedImage myPicture = null;
    try {
        myPicture = ImageIO.read(new File("resources/" + filename));
    } catch (IOException e) {
        e.printStackTrace();
    }
    return new ImageIcon(myPicture);
}

希望这可以帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 pygame 窗口中使用背景图像

来自分类Dev

使用UniformTofill设置窗口的背景图像

来自分类Dev

在PHP中使用背景图像

来自分类Dev

在玉器中使用背景图像

来自分类Dev

在PHP中使用背景图像

来自分类Dev

Java游戏的JLabel / JFrame中不显示背景图像

来自分类Dev

使用JLabel将背景图像添加到JFrame

来自分类Dev

使用JS和PHP更改弹出窗口背景图像

来自分类Dev

如何使用 React 样式设置全窗口背景图像

来自分类Dev

如何在Java中使用WebDriver列出“背景图像” CSS

来自分类Dev

在Konva图层或舞台中使用背景图像

来自分类Dev

在SVG中使用WebP作为背景图像

来自分类Dev

如何在 div 中使用背景图像?

来自分类Dev

对窗口背景图像的模糊效果

来自分类Dev

背景图像不随窗口大小缩放

来自分类Dev

在 css 中使用背景图像以及页面中心的白色背景

来自分类Dev

如何在媒体查询中使用 API 返回的图像作为背景图像?

来自分类Dev

如何在媒体查询中使用 API 返回的图像作为背景图像?

来自分类Dev

如何使用Tkinter python 2.7将背景图像设置到窗口

来自分类Dev

使用Tkinter网格管理器将背景图像调整为窗口大小

来自分类Dev

如何使用Tkinter python 2.7将背景图像设置到窗口

来自分类Dev

使用Tkinter网格管理器将背景图像调整为窗口大小

来自分类Dev

在Java中使用图像作为背景

来自分类Dev

如何使用小单个图像并在整个窗口中重复使用tkinter GUI使其成为背景图像?

来自分类Dev

使用Excel VBA在Outlook电子邮件中使用HTML设置背景图像

来自分类Dev

Java图形导入背景图像

来自分类Dev

Java图形导入背景图像

来自分类Dev

Tkinter将背景图像调整为窗口大小

来自分类Dev

窗口大小后调整背景图像的大小

Related 相关文章

  1. 1

    在 pygame 窗口中使用背景图像

  2. 2

    使用UniformTofill设置窗口的背景图像

  3. 3

    在PHP中使用背景图像

  4. 4

    在玉器中使用背景图像

  5. 5

    在PHP中使用背景图像

  6. 6

    Java游戏的JLabel / JFrame中不显示背景图像

  7. 7

    使用JLabel将背景图像添加到JFrame

  8. 8

    使用JS和PHP更改弹出窗口背景图像

  9. 9

    如何使用 React 样式设置全窗口背景图像

  10. 10

    如何在Java中使用WebDriver列出“背景图像” CSS

  11. 11

    在Konva图层或舞台中使用背景图像

  12. 12

    在SVG中使用WebP作为背景图像

  13. 13

    如何在 div 中使用背景图像?

  14. 14

    对窗口背景图像的模糊效果

  15. 15

    背景图像不随窗口大小缩放

  16. 16

    在 css 中使用背景图像以及页面中心的白色背景

  17. 17

    如何在媒体查询中使用 API 返回的图像作为背景图像?

  18. 18

    如何在媒体查询中使用 API 返回的图像作为背景图像?

  19. 19

    如何使用Tkinter python 2.7将背景图像设置到窗口

  20. 20

    使用Tkinter网格管理器将背景图像调整为窗口大小

  21. 21

    如何使用Tkinter python 2.7将背景图像设置到窗口

  22. 22

    使用Tkinter网格管理器将背景图像调整为窗口大小

  23. 23

    在Java中使用图像作为背景

  24. 24

    如何使用小单个图像并在整个窗口中重复使用tkinter GUI使其成为背景图像?

  25. 25

    使用Excel VBA在Outlook电子邮件中使用HTML设置背景图像

  26. 26

    Java图形导入背景图像

  27. 27

    Java图形导入背景图像

  28. 28

    Tkinter将背景图像调整为窗口大小

  29. 29

    窗口大小后调整背景图像的大小

热门标签

归档