Windows 7外观上的Java Swing渲染错误?

前端之家收集整理的这篇文章主要介绍了Windows 7外观上的Java Swing渲染错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 Windows 7机器上的垂直JSlider上的旋钮(具有原生外观)在两个方向上都非常小巧.不仅是瘦,还有短. alt text http://img101.imageshack.us/img101/8946/verticalsliderproblemwi.jpg

谁能证实这一点?我应该报告吗?如果是这样,在哪里?谢谢!

以下是示例程序的代码(在屏幕截图中):

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.SwingConstants;
import javax.swing.UIManager;


public class SliderTest
{
    public static void main( String[] args )
    {
        // Set the look and feel to that of the system
        try
        { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); }
        catch ( Exception e )
        { System.err.println( e ); }


        // Launch the GUI from the event dispatch thread
        javax.swing.SwingUtilities.invokeLater( new Runnable()
        {
            public void run ()
            {
                JFrame window = new JFrame();
                window.setDefaultCloSEOperation( JFrame.EXIT_ON_CLOSE );

                JPanel contentPane = new JPanel();
                contentPane.add( new JSlider(SwingConstants.HORIZONTAL) );
                contentPane.add( new JSlider(SwingConstants.VERTICAL) );

                window.setContentPane( contentPane );
                window.pack();
                window.setLocationRelativeTo( null ); // Center window
                window.setVisible( true );
            }
        });
    }
}
首先,这也发生在Windows Vista中.似乎是这种情况,滑块试图占用尽可能少的空间.如果你想要一个更大的JSlider使用JSlider.setPaintTicks.所以你必须添加以下内容
JSlider vertical = new JSlider( SwingConstants.VERTICAL );
vertical.setPaintTicks( true );
contentPane.add( vertical );

这应该够了吧.

猜你在找的Windows相关文章