在Java Swing应用程序中,我正在尝试nimbus外观。它在JdesktopPane控件中看起来非常棒,但我希望我的所有桌面都有不同的颜色,但主题很好。
有没有办法改变灵气观感的背景颜色?
下面是应用nimbus外观的示例代码。
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (Exception e) {}
Nimbus使用看起来像矢量类型的绘图例程来绘制背景图案。要在使用nimbus时更改JDesktopPane的背景,您需要更改JDesktopPane使用的背景画师,只需使用所需的背景颜色(例如灰色)填充窗格。然后使用该Painter对象设置“DesktopPane[Enabled].backgroundPainter”
属性。例如,观察下面给出的代码:
import java.awt.Graphics2D;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JDesktopPane;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import com.sun.java.swing.Painter;
import java.awt.Color;
public class NimbusFrame extends JFrame
{
private JDesktopPane desktop;
public void prepareAndShowGUI()
{
desktop = new MyDesktopPane();
getContentPane().add(desktop);
setSize(300,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
class MyDesktopPane extends JDesktopPane
{
@Override
public void updateUI()
{
if ("Nimbus".equals(UIManager.getLookAndFeel().getName()))
{
UIDefaults map = new UIDefaults();
Painter<JComponent> painter = new Painter<JComponent>()
{
@Override
public void paint(Graphics2D g, JComponent c, int w, int h)
{
g.setColor(Color.gray);
g.fillRect(0, 0, w, h);
}
};
map.put("DesktopPane[Enabled].backgroundPainter", painter);
putClientProperty("Nimbus.Overrides", map);
}
super.updateUI();
}
}
public static void main(String st[])
{
try
{
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
{
if ("Nimbus".equalsIgnoreCase(info.getName()))
{
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}catch(Exception ex){}
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
NimbusFrame frame = new NimbusFrame();
frame.prepareAndShowGUI();
}
});
}
}
UIManager.put("nimbusBase", new Color(...));
UIManager.put("nimbusBlueGrey", new Color(...));
UIManager.put("control", new Color(...))
从l
问题内容: 我想为应用程序中的所有JPanel使用不同的背景色。使用Nimbus外观时该如何做? 我遵循“ 更改颜色主题”来更改Nimbus外观中的组件的颜色。 它有时只是 随机地 起作用。如果在更改颜色之前设置,则仅通知 一次 。 这是一些测试代码: 问题答案:
问题内容: 有谁知道使用JavaScript交换网页背景色的简单方法? 问题答案: 修改JavaScript属性。 例如: 注意:这确实取决于页面的组合方式,例如,如果您使用的背景颜色不同的DIV容器,则需要修改其背景颜色而不是文档主体。
问题内容: 我已经将JOptionPane添加到我的应用程序中,但是我不知道如何将背景颜色更改为白色? 问题答案: 通过使用类 要么
问题内容: 我试图在Storyboard检查器中将背景从透明更改为白色,但是在模拟时,堆栈视图的背景颜色仍然具有清晰的颜色。 如何更改的背景颜色? 问题答案: 您不能执行此操作– 是非绘图视图,这意味着从不调用该视图, 并且其背景颜色将被忽略。如果您非常需要背景颜色,请考虑将堆栈视图放置在另一个视图中,并为该视图提供背景颜色。 参考从这里。 编辑: 您可以在此处或下面的答案中(如下)将subVie
使用javafx场景构建器,我创建了一个TableView,其中几乎没有可编辑的列和不可编辑的列。如何为不可编辑的列设置CSS样式,使整个列变灰。我创建了一个如下所示的样式类,并将其映射到javafx场景构建器中的表列。但它不起作用。 在论坛上搜索,找不到设置tableview列样式的解决方案。你能建议一种方法吗?
我正在使用浮动操作按钮,我想更改背景颜色。 这是我的密码 下面是我用来尝试实现这一点的代码: 我也得到我的FAB的角落,如图所示。我应该如何消除那些角落的阴影?