【问题标题】:How to set a background image for the tabbed pane in java swing using Netbeans GUI Builder? [duplicate]如何使用 Netbeans GUI Builder 为 java swing 中的选项卡式窗格设置背景图像? [复制]
【发布时间】:2014-03-19 09:22:31
【问题描述】:

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

从评论编辑

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

【问题讨论】:

  • 请出示您的代码。
  • here
  • 在使用 GUI Builder 之前,我建议您阅读that post
  • 我想要完整选项卡式窗格的图像。如果我将图像设置为标签并将其保留为全屏,我无法在标签上保留任何组件
  • 仔细阅读链接

标签: java swing netbeans gui-builder


【解决方案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. 覆盖JPanelpaintComponent方法并绘制图像

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

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

【讨论】:

  • 问题是如何使透明的选项卡式窗格不是组件或其中的面板。
  • @peeskillet 如何在面板中添加图像我使用此代码运行但未显示图像 ImageIcon icon=new ImageIcon("logo.png"); jLabel5.setIcon(icon);
  • @Suresh 不要添加JLabel。您将无法在其上添加组件。您需要将图像绘制到JPanel 表单上。您需要按照上述说明进行操作。创建单独的JPanel 表单,不要JPanel 拖放到JFrame 表单上。你知道如何创建JPanel 表单吗?
  • @Suresh 看看你以前的帖子。它显示了如何加载图像。你犯了和以前一样的错误。
  • @peeskillet 我知道现在正在尝试使用它
猜你喜欢
  • 1970-01-01
  • 2023-01-04
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 2021-08-07
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
相关资源
最近更新 更多