Java 根据值在JScrollPane中调整JList的大小
我在JScrollPane中有一个JList:Java 根据值在JScrollPane中调整JList的大小,java,swing,jscrollpane,jlist,Java,Swing,Jscrollpane,Jlist,我在JScrollPane中有一个JList: JList list = new JList(); JScrollPane scrollPane = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(0, 0, 201,75)
JList list = new JList();
JScrollPane scrollPane = new JScrollPane(list,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setBounds(0, 0, 201,75);
我需要根据JList中的值调整JList/JScrollPane的大小。Etc:如果值较长,则JList/JScrollPane宽度更大;如果值较短,则宽度会调整大小以匹配宽度
谁能给我指一下正确的方向吗
我需要根据JList中的值调整JList/JScrollPane的大小。
Etc:如果值较长,则JList/JScrollPane宽度更大,如果
值较短,宽度调整以匹配宽度
- 关于重写
,JScrollPane.getPreferredScrollableViewportSize
的方法JScrollPane
- 要从
获取较长的文本,请使用JList
- 不允许使用NullLayout
- 关于重写
,JScrollPane.getPreferredScrollableViewportSize
的方法JScrollPane
- 要从
获取较长的文本,请使用JList
- 不允许使用NullLayout
list.setPrototypeCellValue("some string");
JList的默认行为是使列表与JList中最大的字符串一样宽。如果这对您不起作用,那是因为您使用的是null布局和setBounds()。不要使用setBounds()。使用适当的布局管理器,让布局管理器完成其工作,并保持代码简单 如果要手动控制列表的宽度,则可以使用:
list.setPrototypeCellValue("some string");