我有一个包含用阿拉伯语编写的项目的 jlist,不幸的是,如果任何项目很长,加载后所有项目都会消失,因为滚动条不会自动向右滚动,我应该手动将列表水平向右滚动。
我已将 JList 的 componentOrientation 设置为正确。
任何的想法?
假设 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);
对我来说,窗口如下所示: