Tag: nimbus

在nimbus上更改DesktopIcon.width

我正在尝试更改JInternalFrame图标大小,我尝试使用javax.swing.UIManager.put(“DesktopIcon.width”, 300);更改L&F默认值javax.swing.UIManager.put(“DesktopIcon.width”, 300); 但它不适用于Nimbus,我也尝试用。更改DesktopIconUI javax.swing.UIManager.put(“DesktopIconUI”, javax.swing.plaf.basic.BasicDesktopIconUI.class.getName()); 但是一旦我最小化JInternalFrame它就消失了,任何消化?

删除JTable中的JCombobox边框

我从JComoboBox删除了箭头按钮,使其看起来像JTextField ,并将其添加为celleditor。 目的是创建一个AutoSuggest(非自动完成)JTable单元。 在这样做的边界有点看起来像irking。如何更改边框使其看起来像右侧的文本域边框。 我试过删除边框创建的线条边框。 但它没有移除蓝色边界。 使用Nimbus UI。 MCVE的问题 import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.BorderFactory; import javax.swing.DefaultCellEditor; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class Sample extends JFrame { public Sample() { init(); } private void init() { JTable table = new JTable(5, 5); DefaultCellEditor cellEditor = […]

如何设置Nimbus的主要外观

我只是在学习Java,但仍然无法解决我遇到的这个小问题 我的弹出日历使用Nimbus的外观和感觉,但我有使用Java的外观和感觉的面板和容器Jtables – 我试图让每个GUI屏幕/窗口使用灵气的外观和感觉,并且Merky建议使用愚蠢的代码在我的主要使每个后续的屏幕都具有Nimbus的外观和感觉,但我不能让它工作,所以有人可以告诉我在哪里以及如何把这个代码请PLEASE。 public static void main(String args[]) { SA md=new OptraderSA(“Copyright© 2010 Simon Andi”); Dimension sd=Toolkit.getDefaultToolkit().getScreenSize(); md.setLocation(sd.width/2-400/2, sd.height/2-400/2); md.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /*Suggested Code*/ try { for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if (“Nimbus”.equals(info.getName())) { UIManager.setLookAndFeel(info.getClassName()); System.out.println(“CHOSEN THIS”); break; } else{ UIManager.setLookAndFeel (“com.sun.java.swing.plaf.windows.WindowsLookAndFeel”); } } } catch (Exception e) { / If Nimbus is not available, […]

动态更新LookAndFeel值

我希望能够动态更新我的Swing GUI的LookAndFeel属性。 在这种情况下,我有一个简单的Swing / Awt游戏,运行起初是Nimbus LookAndFeel 。 在启动后的不同时刻,我想改变(让我们说)一个细节:我的应用程序的背景颜色。 我可以通过这样做来改变背景颜色: for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if (“Nimbus”.equals(info.getName())) { UIManager.setLookAndFeel(info.getClassName()); UIManager.getLookAndFeelDefaults().put(“Panel.background”, Color.RED); SwingUtilities.updateComponentTreeUI(SomeGame.this); break; } } 这“工作”,因为应用程序的背景颜色正确更改,程序不会崩溃。 但是在命令行上我得到错误: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException at javax.swing.plaf.synth.SynthLookAndFeel.paintRegion(SynthLookAndFeel.java:371) at javax.swing.plaf.synth.SynthLookAndFeel.update(SynthLookAndFeel.java:335) 事实上,某些东西是空的,但我无法弄清楚它是什么或如何解决它。 必须有一些我不理解的东西。 我查看了有关在Nimbus中设置背景颜色以及在启动后覆盖LookAndFeel信息的其他StackOverflow问题。 当我调用getLookAndFeelDefaults() ,我还需要指定其余的默认值吗? Java 1.6和1.7之间的工作方式有变化吗?

如何将JPanel绘制为Nimbus JButton?

在Nimbus的外观和感觉JButtons有一个非常整洁和准确的外观,圆形边框和漂亮的背景。 我想渲染具有相同外观的JPanel(显然它不会有按下状态等)。 我有什么选择?

Nimbus L&F缺少JTabbedPane的分隔线设置滚动

我错过了标签之间的蓝色水平分隔线和Nimbus L&F TabbedPane中设置为SCROLL的内容(其他L&F(默认和窗口)提供这些)。 正如您所看到的,问题仅限于new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT) (图片顶部),而WRAP的默认设置不显示此行为(图片底部)。 应该可以通过覆盖NimbusDefaults.class部分来改变这样的NimbusDefaults.class 。 这是一段摘录: //Initialize TabbedPane d.put(“TabbedPane.contentMargins”, new InsetsUIResource(0, 0, 0, 0)); d.put(“TabbedPane.tabAreaStatesMatchSelectedTab”, Boolean.TRUE); d.put(“TabbedPane.nudgeSelectedLabel”, Boolean.FALSE); d.put(“TabbedPane.tabRunOverlay”, new Integer(2)); d.put(“TabbedPane.tabOverlap”, new Integer(-1)); d.put(“TabbedPane.extendTabsToBase”, Boolean.TRUE); d.put(“TabbedPane.useBasicArrows”, Boolean.TRUE); addColor(d, “TabbedPane.shadow”, “nimbusDisabledText”, 0.0f, 0.0f, 0.0f, 0); addColor(d, “TabbedPane.darkShadow”, “text”, 0.0f, 0.0f, 0.0f, 0); … more … 我似乎无法弄清楚Nimbus在哪里以及如何区分WRAP和SCROLL。 有人可以告诉我,我有什么魔法.put()到达那里? 提前致谢!

正确的方式使用JTextPane创建Class,JTree,DefaultTreeCellRenderer

我有这个类,以便使用JTree在叶子中显示多种颜色… 该类是TextPaneDefaultTreeCellRenderer import java.awt.*; import java.util.*; import javax.swing.*; import javax.swing.text.*; import javax.swing.tree.*; public class TextPaneDefaultTreeCellRenderer extends DefaultTreeCellRenderer { TextPaneTreeCellRenderer textPaneScrollPane = new TextPaneTreeCellRenderer(); public TextPaneDefaultTreeCellRenderer() { initialize(); } private void initialize() { textPaneScrollPane.setBackgroundNonSelectionColor(getBackgroundNonSelectionColor()); textPaneScrollPane.setBackgroundSelectionColor(getBackgroundSelectionColor()); textPaneScrollPane.setTextNonSelectionColor(getTextNonSelectionColor()); textPaneScrollPane.setTextSelectionColor(getTextSelectionColor()); } @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { […]

有没有办法在选项卡组件中放置图像

我正在向标签添加图标,但我希望ImageIcon适合所有tabComponent。 我试过这段代码 ImageIcon icon = new ImageIcon(“images/itemtexto-off.png”); Image img = icon.getImage() ; Image newimg = img.getScaledInstance( 50, 25, java.awt.Image.SCALE_DEFAULT ) ; icon = new ImageIcon( newimg ); tabbedPaneProductDetail.setIconAt(0, icon); 我也试过这个解决方案,但没有奏效。 JLabel label = new JLabel(icon); label.setBackground(Color.BLUE); tabbedPaneProductDetail.setTabComponentAt(1,label);

如何全局更改JTable行高?

我正在使用Nimbus L&F。 我正在尝试使用以下代码全局更改所有JTable的字体大小: NimbusLookAndFeel nimbus = new NimbusLookAndFeel(); UIManager.setLookAndFeel(nimbus); UIDefaults d = nimbus.getDefaults(); d.put(“Table.font”, new FontUIResource(new Font(“SansSerif”, Font.PLAIN, 18))); 它正常工作,应用程序中所有JTable的行都使用新字体。 我使用更大的字体大小使表格在大分辨率下更具可读性。 但问题是行高没有改变,导致字体被截断。 我试过以下代码: d.put(“Table.contentMargins”, new Insets(50,50,50,50)); d.put(“Table:\”Table.cellRenderer\”.contentMargins”, new Insets(50,50,50,50)); 但它没有改变显示的表格中的任何内容。 我可以在不调用每个JTable实例的setRowHeight()的情况下全局更改行高吗?

设置JTabbedPane的背景颜色

我正在使用Nimbus外观和感觉。 我需要更改JTabbedPane中选项卡的背景颜色和前景色,但是在JTabbedPane中没有设置颜色。 我尝试了setForeground(),setForegroundAt(),setBackground()和setBackgroundAt()方法,但它不起作用。这是我的代码 public class TabbedPaneDemo extends JFrame { TabbedPaneDemo() { try { UIManager.setLookAndFeel(“com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel”); } catch(Exception ex) {} setLayout(new BorderLayout()); setBounds(100, 100, 800, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTabbedPane jt = new JTabbedPane(); jt.addTab(“Tab1”, new JPanel()); jt.addTab(“Tab2”, new JPanel()); jt.addTab(“Tab3”, new JPanel()); jt.addTab(“Tab4”, new JPanel()); for( int i = 0; i < jt.getComponentCount(); i++) { jt.setForegroundAt(i, Color.RED); jt.setBackgroundAt(i, […]