如何更改使用 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 中的外观?