JList水平自动滚动到右边

时间:2013-01-18 15:27:47

标签: java swing scrollbar jlist

我有一个jlist,其中包含用阿拉伯语编写的项目,不幸的是,如果任何项目很长,所有项目在加载后都会消失,因为滚动条不会自动滚动到右边,我应该手动滚动列表到右边。

我已将JList的componentOrientation设置为right。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

假设JList在JScrollPane中,您可以设置水平滚动条的值:

final int maximum = scrollPane.getHorizontalScrollBar().getMaximum();
scrollPane.getHorizontalScrollBar().setValue(maximum);

就像这里的例子一样:

final JFrame frame = new JFrame("JList horizontal auto-scroll to right");
frame.setBounds(100, 100, 80, 600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
final String[] model = {"aaa", "bbbb", "ccccccccccccccccccccccccc"};
final JList<String> jList = new JList<String>(model);
jList.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
final JScrollPane scrollPane = new JScrollPane(jList);
frame.getContentPane().add(scrollPane);
final int maximum = scrollPane.getHorizontalScrollBar().getMaximum();
scrollPane.getHorizontalScrollBar().setValue(maximum);
frame.setVisible(true);

对我来说,窗口看起来像这样:

screenshot frame