问题描述
应用了Substance观感,皮肤为CremeSkin时,我组件颜色不能正确显示。设置黑色结果看到的是灰色。红色看到的是黑红。总之颜色不正常。原因我也大概知道,就是受到这个CremeColorScheme类里面设置的颜色影响。我想找到jpanel这个组件,让它不受皮肤颜色控制,但是找了很久,还是没有找对地方。希望有经验的大哥帮个忙。当然大姐也行。总之,不胜感激!
解决方案
解决方案二:
importjava.awt.*;importjavax.swing.*;publicclassTestextendsJPanel{publicTest(){this.setBackground(Color.BLACK);}@OverrideprotectedvoidpaintComponent(Graphicsg){super.paintComponent(g);//drawcodeGraphics2Dg2d=(Graphics2D)g;setBackground(Color.blue);g2d.setColor(Color.red);g2d.setStroke(newBasicStroke(4f,0,0));g2d.drawRect(10,10,50,50);g2d.drawLine(10,40,60,40);g2d.drawLine(35,10,35,40);}privatestaticvoidcreateUIAndShow(){JFrameframe=newJFrame();Testtest=newTest();frame.getContentPane().add(test);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,399);frame.setVisible(true);}publicstaticvoidmain(String[]args){javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){Test.createUIAndShow();}});}}
解决方案三:
importjava.awt.*;importjavax.swing.*;publicclassTestextendsJPanel{publicTest(){this.setBackground(Color.BLACK);}@OverrideprotectedvoidpaintComponent(Graphicsg){super.paintComponent(g);//drawcodeGraphics2Dg2d=(Graphics2D)g;setBackground(Color.blue);g2d.setColor(Color.red);g2d.setStroke(newBasicStroke(4f,0,0));g2d.drawRect(10,10,50,50);g2d.drawLine(10,40,60,40);g2d.drawLine(35,10,35,40);}privatestaticvoidcreateUIAndShow(){JFrameframe=newJFrame();Testtest=newTest();frame.getContentPane().add(test);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,399);frame.setVisible(true);}publicstaticvoidmain(String[]args){javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){Test.createUIAndShow();}});}}
学习了
解决方案四:
代码拷走了不会有版权吧帖子路过顶顶