如何更改使用 netbeans 中的工具创建的 jDesktopPane 的背景颜色

Posted

技术标签:

【中文标题】如何更改使用 netbeans 中的工具创建的 jDesktopPane 的背景颜色【英文标题】:How to change background color of jDesktopPane which is created usning tools in netbeans 【发布时间】:2014-05-16 21:00:36 【问题描述】:

通过取消 netbeans ide,我在 JFrame 中创建了一个 JDesktopPane。而且我无法更改 jdesktopPane 的颜色。我尽我所能。但是当我打开JFrame .. 里面的JDesktopPane 时,JFrame 是一些蓝色背景。

请帮我改一下JDesktopPane的背景

【问题讨论】:

你想把它改成什么?只是一种颜色,还是一种背景设计?您还在使用 Nimbus 外观(GUI Builder 的默认设置)吗? 颜色和背景...是的,我认为我正在使用默认的 GUI 构建器。如何检查它是否是 Nimbus?我刚刚安装了netbeans ide..这就是我所知道的 【参考方案1】:

我假设您正在使用具有默认 Nimbus 外观的 GUI Builder(因为您说您已经尝试了所有方法,我假设您已经尝试了 setBackground)。外观具有背景设置。但是你有围绕它的选择。

    你可以只画背景。您想查看at this answer 以了解如何编辑自动生成的代码。然后你可以在编辑代码时做到这一点。之后不要忘记点击ctrl+shift+I,以解决所有导入问题。我懒得写完全限定的名字。

    jDesktopPane1 = new javax.swing.JDesktopPane() 
        @Override
        protected void paintComponent(Graphics g) 
            super.paintComponent(g);
            g.setColor(Color.BLACK);
            g.fillRect(0, 0, getWidth(), getHeight());
        
    ;
    

    如果你想要一张图片,你可以画一张图片

    jDesktopPane1 = new javax.swing.JDesktopPane() 
        private Image image;
        
            try 
                image = ImageIO.read(new URL("http://www.hdbackgroundspoint.com/wp-content/uploads/2013/12/16/345t34.jpeg"));
             catch (IOException e) 
                e.printStackTrace();
            
        
    
        @Override
        protected void paintComponent(Graphics g) 
            super.paintComponent(g);
            g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
        
    ;
    

    您还可以覆盖 Nimbus 默认值 DesktopPane[Enabled].backgroundPainter。见Nimbus Defaults here

    public static void main(String[] args) 
        try 
    
            for (UIManager.LookAndFeelInfo laf : UIManager
                    .getInstalledLookAndFeels()) 
                if ("Nimbus".equals(laf.getName())) 
                    UIManager.setLookAndFeel(laf.getClassName());
                    UIManager.getLookAndFeelDefaults().put(
                            "DesktopPane[Enabled].backgroundPainter",
                            new DesktopPainter());
                
            
         catch (Exception e) 
            e.printStackTrace();
        
        SwingUtilities.invokeLater(new Runnable() 
            public void run() 
                new JDesktopPaneDemo();
            
        );
    
    
    static class DesktopPainter implements Painter<JComponent> 
        private Image image;
    
        public DesktopPainter() 
            try 
                image = ImageIO.read(new URL("http://www.hdbackgroundspoint.com/wp-content/uploads/2013/09/hh.jpeg"));
             catch (IOException e) 
                // TODO Auto-generated catch block
                e.printStackTrace();
            
        
    
        @Override
        public void paint(Graphics2D g, JComponent object, int width, int height) 
            g.drawImage(image, 0, 0, width, height, null);
        
    
    

【讨论】:

谢谢先生.. 但我做不到。我是 java 和 netbeans 的新手。你能清楚地解释一下,如何编辑自动生成的代码吗?右键单击jDesktopPane,然后单击自定义代码...然后您需要我复制并粘贴您给我的代码号1吗?我确实喜欢。但程序没有启动..它显示错误“C:\Users\Ahamed\AppData\Local\NetBeans\Cache\7.3.1\executor-sn-ps\run.xml:48:”我该怎么办?请帮帮我 错误是什么?您是否通过按 CTRL+SHIFT+I 解决了所有导入问题? 没有..但是你能告诉我我应该把你给我的代码放在哪里吗?它在“自定义代码”中吗?还是在哪里? 请检查这个快照图像.. i61.tinypic.com/fwlxm8.jpg 我就是这样做的。当我按确定时没有出现错误。但是当我运行程序时出现以下错误.. 见下图i61.tinypic.com/28gzi1g.png 在显示默认代码的下拉菜单中,将其更改为自定义创建,然后更改那个代码。我不知道为什么你的图片中有两组jDesktopPane1

以上是关于如何更改使用 netbeans 中的工具创建的 jDesktopPane 的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 NetBeans GUI Designer Preview 中的外观?

怎样在NetBeans上搭建Android开发环境

GIT:使用 netbeans 合并两个分支

如何从 Netbeans 中的特定包(无主包)创建 .jar?

TODO任务netbeans php

如何使用 NetBeans 重命名文件扩展名?