Ошибка рендеринга Java Swing в Windows 7 - PullRequest
8 голосов
/ 02 мая 2010

Ручка на вертикальном JSlider на моем компьютере с Windows 7 (с естественным внешним видом) действительно очень мала в обоих направлениях Не только тощий, но и короткий. альтернативный текст 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 );
            }
        });
    }
}

1 Ответ

4 голосов
/ 05 мая 2010

Во-первых, это также происходит в Windows Vista. Кажется, дело в том, что слайдер пытается занять как можно меньше места. Если вы хотите больше JSlider, используйте JSlider.setPaintTicks. Таким образом, вы должны добавить следующее:

JSlider vertical = new JSlider( SwingConstants.VERTICAL );
vertical.setPaintTicks( true );
contentPane.add( vertical );

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...