1

当我使用时,我在 **windows server 2012 ** 上的进度条非常细

 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

该栏在 Windows 7 中看起来不错,在 Windows Server 2012 上非常薄。
每个地方的 Java 版本都是(JDK 和 JRE)1.6.0_25,32 位

在此处输入图像描述

这是演示我在 jdk 1.6.0_25 上的问题(或文档问题)的完整代码

package demos;

import javax.swing.*;
import javax.swing.plaf.metal.DefaultMetalTheme;
import javax.swing.plaf.metal.MetalLookAndFeel;
import java.awt.*;

public class ProgressBarLookAndFeelDemo {

    private void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("FrameDemo");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel progPanel = new JPanel();
    progPanel.setLayout(new GridBagLayout());

    frame.getContentPane().add(progPanel, BorderLayout.CENTER);

    //
    JProgressBar progressBar = new JProgressBar();
    progressBar.setIndeterminate(true);
    progPanel.add(progressBar);

    //Display the window.
    frame.pack();
    frame.setVisible(true);
    }

    public  void showUI(String  name) throws ClassNotFoundException, UnsupportedLookAndFeelException, InstantiationException, IllegalAccessException {
    MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());


    if ( name.equalsIgnoreCase("system")) {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }

    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
        createAndShowGUI();
        }
    });
    }

    public static void main(String[] args) throws
        ClassNotFoundException, UnsupportedLookAndFeelException,
        InstantiationException, IllegalAccessException {


    if (args.length <1 ) {
        System.out.println("usage  : One argument is expected  none|system");
        throw  new IllegalArgumentException("java classname none|system");
    }

    new ProgressBarLookAndFeelDemo().showUI(args[0]);

    }
}

这可能是 Windows 2012 的行为,但我看不到任何与之相关的文档。

4

1 回答 1

2

我希望 32b 和 64b 版本没有问题

JDK_1.6_022 32b

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

JDK_1.7_011 64b

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

从代码

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.WindowConstants;

public class ProgressBarLookAndFeelDemo {

    public ProgressBarLookAndFeelDemo() {
        JProgressBar progressBar = new JProgressBar();
        progressBar.setIndeterminate(true);

        JProgressBar progressBar1 = new JProgressBar();
        progressBar1.setValue(66);

        JPanel progPanel = new JPanel();
        progPanel.setLayout(new GridBagLayout());
        progPanel.add(progressBar);
        progPanel.add(progressBar1);

        JFrame frame = new JFrame("Frame Demo");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(progPanel, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                System.out.println(info.getName());
                if ("Nimbus".equals(info.getName())) {
                    UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (UnsupportedLookAndFeelException e) {
            // handle exception
        } catch (ClassNotFoundException e) {
            // handle exception
        } catch (InstantiationException e) {
            // handle exception
        } catch (IllegalAccessException e) {
            // handle exception
        }/**/
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new ProgressBarLookAndFeelDemo();
            }
        });
    }
}
于 2013-03-19T09:50:30.933 回答