0

我正在尝试在 java swing 应用程序中为选项卡式窗格设置背景图像,但我只能保留颜色如何处理图像?

从评论编辑

我想要完整选项卡式窗格的图像。如果我将图像设置为标签并将其保留为全屏,我无法在标签上保留任何组件

4

1 回答 1

1

这是您使用 GUI Builder 执行的操作。不要使用JFrame表单中的拖放来拖放JPanels ,而是JTabbedPane这样做。

  1. 创建一个JPanel表单类
  2. JPanel使用您想要的所有组件进行布局。
  3. 在构造函数中添加这个来加载图像。使用自己的图像路径

    public class TabPanelOne extends javax.swing.JPanel {
        Image img;
        public TabPanelOne() {
            try {
                img = ImageIO.read(getClass().getResource("/resources/stackoverflow5.png"));
            } catch (IOException ex) {
                Logger.getLogger(TabPanelOne.class.getName()).log(Level.SEVERE, null, ex);
            }
            initComponents();
        }
    
  4. 覆盖的paintComponent方法JPanel并绘制图像

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
    }
    
  5. 您的表单类中应该有一个空JTabbedPane的。JFrame在构造函数中,只需添加JPanel表单

    public class NewJFrame extends javax.swing.JFrame {
        public NewJFrame() {
            initComponents();
            jTabbedPane1.add("panel1", new TabPanelOne());
        }
    

在此处输入图像描述

于 2014-02-19T07:54:16.210 回答