小编Jos*_*tin的帖子

将图像设置为JPanel背景的最简单方法

如何在不创建新类或方法的情况下将背景图像添加到JPanel,只需将其与JPanel的其余属性一起插入即可?

我试图使用图像设置JPanel的背景,但是,我发现的每个示例似乎都建议使用自己的类扩展面板.

我一直在寻找一种方法来简单地添加图像,而无需创建一个全新的类并在同一个方法中(尝试保持组织和简单).

以下是设置JPanel的方法示例:

public static JPanel drawGamePanel(){
    //Create game panel and attributes
    JPanel gamePanel = new JPanel();
    Image background = Toolkit.getDefaultToolkit().createImage("Background.png");
    gamePanel.drawImage(background, 0, 0, null);
    //Set Return
    return gamePanel;
}
Run Code Online (Sandbox Code Playgroud)

java swing background image jpanel

16
推荐指数
3
解决办法
20万
查看次数

将面板添加到框架,但在应用程序运行时不显示

我正在创建一个应用程序,框架中有两个面板,顶部有一个菜单栏。菜单栏显示得很好,到目前为止设置的任何操作都可以工作,但其他两个面板从未出现。

我试过追溯所有将它们添加到框架上的面板和线条,但找不到任何错误。

没有显示的两个窗格中的第一个,即 drawForm() 方法中的表单,在我添加一些组件之前确实显示了,但是因为即使我再次删除组件也没有显示。

这是 Frame 类:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Frame {
    public static void drawFrame(){
        // Create frame
        JFrame frame = new JFrame("Frame");
        // Set default close operation
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Set frame attributes
        frame.setVisible(true);
        frame.setSize(400, 300);
        frame.setResizable(false);
        // Set Layout
        frame.setLayout(new BorderLayout());
        // Add Components
        frame.add(drawMenuBar(), BorderLayout.NORTH);
        JPanel twinPane = new …
Run Code Online (Sandbox Code Playgroud)

java swing panels

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×2

swing ×2

background ×1

image ×1

jpanel ×1

panels ×1