标签: substance

物质外观和感觉让我的颜色更亮?

我正试着打电话setBackground给它JPanel,以便它与我的颜色相匹配JFrame,但是颜色比我输入的颜色要亮一些.

我已经尝试过设置HSB,RGB,HEX代码,它们都给我相同的颜色,更亮我的颜色版本.

不太清楚如何获得我想要的颜色?

编辑:

我从Photoshop中获取颜色.我查找正确的颜色(我想要的)并复制HSB RGB或HEX代码.看起来它应该在Photoshop中,但java给我一个更明亮的颜色?在此输入图像描述

我用过java代码:

Color color = new Color(0x94b3c7); 

    jpanel.setBackground(color);
Run Code Online (Sandbox Code Playgroud)

java swing jpanel look-and-feel substance

14
推荐指数
2
解决办法
2038
查看次数

9
推荐指数
1
解决办法
9209
查看次数

我可以在同一个Swing应用程序中使用两种不同的外观吗?

我正在使用Flamingo功能区和Substance Office 2007的外观和感觉.

当然,现在每个控件都具有这种外观和感觉,甚至是对话框上的控件.

我想要的是类似于Office 2007,其中的色带具有Office 2007外观,但其他控件保持其原生的Vista/XP外观.

是否可以为某些控件指定不同的外观?也许使用某种链接或代理外观和感觉?

java swing look-and-feel substance

8
推荐指数
1
解决办法
1804
查看次数

Java Substance外观问题

物质外观有问题.我正试图将Office 2007 LAF设置为这里所描述的.

    try
    {
        UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceOfficeBlue2007LookAndFeel");
    }catch(Exception ex)
    {
        System.out.println("Exception:"+ ex.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我得到异常:线程"main"中的异常java.lang.NoClassDefFoundError:org/pushingpixels/trident/ease/TimelineEase

我究竟做错了什么?有人有物质LAF的经验吗?

java look-and-feel substance

7
推荐指数
1
解决办法
1万
查看次数

物质和MacOS MenuBar

我有一个扩展JFrame的Class MainWindow.在MainWindow我有一个JMenuBar.

我想在OSX上显示MenuBar(Apple符号旁边).这只适用,当我没有设置物质皮肤.是否可以使用Substance Skin并使用MacOS MenuBar?

我的代码:

//Set Menu for MacOS
System.setProperty("apple.laf.useScreenMenuBar", "true");
System.setProperty("com.apple.mrj.application.apple.menu.about.name", name);

try {
    SwingUtilities.invokeAndWait(new Runnable() {  
        public void run() {
            SubstanceSkin skin = new GraphiteGlassSkin();
            SubstanceLookAndFeel.setSkin(skin); //WORKS WHEN I COMMENT THIS (WITHOUT SUBSTANCE SKIN)
            JFrame.setDefaultLookAndFeelDecorated(false);
            MainWindow mainWindow = new MainWindow(name);
            mainWindow.setVisible(true);
        }  
    });
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java macos swing look-and-feel substance

5
推荐指数
2
解决办法
763
查看次数

与Substance UI和自定义JComponent的TitledBorder问题

我正在使用BorderFactorySubstance UI主题Swing用户界面创建一个标题边框,我遇到了如下所示的异常.我试过LineBorder并且它完美地工作,但看起来Substance UI正在以某种方式干扰TitledBorder.边框绘图在paintComponentvia中完成:

if (getBorder() != null) {
   getBorder().paintBorder(this, g, 0, 0, getWidth(), getHeight());
}
Run Code Online (Sandbox Code Playgroud)

这可能是不正确的.我的问题基本上是如何TitledBorder在不创建父母的情况下开始工作JPanel并将其设置为相反,这看起来像是一个副作用.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.pushingpixels.lafwidget.utils.RenderingUtils.desktopHints(RenderingUtils.java:113)
    at org.pushingpixels.lafwidget.utils.RenderingUtils.installDesktopHints(RenderingUtils.java:85)
    at org.pushingpixels.substance.internal.utils.border.SubstanceEtchedBorder.paintBorder(SubstanceEtchedBorder.java:132)
    at javax.swing.border.TitledBorder.paintBorder(TitledBorder.java:330)
    at javax.swing.JComponent.paintBorder(JComponent.java:947)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5213)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1493)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1424)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
    at javax.swing.JComponent.paint(JComponent.java:1040)
    at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
    at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
    at …
Run Code Online (Sandbox Code Playgroud)

java swing border jcomponent substance

5
推荐指数
1
解决办法
536
查看次数

由于堆栈跟踪,无法设置主题

我通过这样做来设定我的外观和感觉

private void setSubstanceSkin(String theme) {
    try {
        UIManager.setLookAndFeel(new SubstanceBusinessBlackSteelLookAndFeel());
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个堆栈跟踪:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.plaf.metal.MetalRootPaneUI cannot be cast to org.jvnet.substance.SubstanceRootPaneUI
at org.jvnet.substance.utils.SubstanceCoreUtilities.getTitlePane(SubstanceCoreUtilities.java:3590)
at org.jvnet.substance.title.ImageWrapperHeaderPainter.paintExtraBackground(ImageWrapperHeaderPainter.java:172)
at org.jvnet.substance.SubstanceFillBackgroundDelegate.update(SubstanceFillBackgroundDelegate.java:198)
at org.jvnet.substance.SubstanceMenuBarUI.__org__jvnet__substance__SubstanceMenuBarUI__container__update(SubstanceMenuBarUI.java:251)
at org.jvnet.substance.SubstanceMenuBarUI.update(SubstanceMenuBarUI.java)
at javax.swing.JComponent.paintComponent(JComponent.java:778)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5228)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1482)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1413)
at javax.swing.RepaintManager.paint(RepaintManager.java:1206)
at javax.swing.JComponent.paint(JComponent.java:1040)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
at java.awt.Container.paint(Container.java:1967)
at java.awt.Window.paint(Window.java:3877)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:781)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:728)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:677) …
Run Code Online (Sandbox Code Playgroud)

java swing look-and-feel invokelater substance

4
推荐指数
1
解决办法
265
查看次数

JOptionPane给出错误

我想用JOptionPanes 处理一些例外.这是主要方法:

public class MainRun {

public static void main(String args[]){    
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                UIManager.setLookAndFeel(new SubstanceRavenGraphiteGlassLookAndFeel());
            }catch (Exception e){
                e.printStackTrace();
            }                 
            new MainGui().setVisible(true);                
            new Initialized().start();
            new PriorityMessageQueue().start();
        }
    });
Run Code Online (Sandbox Code Playgroud)

MainGui是JFrame应用程序的主窗口().我在PriorityMessageQueue线程中处理了异常.

public class PriorityMessageQueue extends Thread {

@Override
public void run() {

    while (true) {
        try {
            instantMessages = instant.getMobitelMessagesToBeSent();
        } catch (Exception ex) {
                        JOptionPane.showMessageDialog(
                        null,
                        ex.getMessage(),
                        "Database Error",
                        JOptionPane.ERROR_MESSAGE);

        }

        ...
Run Code Online (Sandbox Code Playgroud)

在我运行之后,我收到了一个错误

   org.jvnet.substance.api.UiThreadingViolationException: Component creation must …
Run Code Online (Sandbox Code Playgroud)

java swing joptionpane event-dispatching substance

2
推荐指数
1
解决办法
2515
查看次数

Java - 允许在带有Substance L&F的可编辑JComboBox中使用退格

我正在使用物质L&F并且我已设置JComboBox为可编辑,以便我可以从其弹出窗口中选择我想要的值,或在其编辑器中键入新值.

键入一个新值工作正常,但如果我想从Combo编辑器中删除一个未命名的字母,然后单击Backspace来执行此操作,它会选择编辑器中的字母而不是删除它们.这是一个截图:

在此输入图像描述

我希望Combo编辑器在输入键盘字母或退格键或删除键时像JTextField一样工作,那么有没有办法做到这一点?或者是什么导致了这个?

java swing jcombobox backspace substance

0
推荐指数
1
解决办法
420
查看次数