如何显示JList的水平和垂直滚动条?

怪胎

今天,我在玩JList,然后发现了一个问题。我知道我的领域并没有好名字,但正如我所说,我只是在玩耍。

我想为我的JList创建水平和垂直JScrollPane。实际上,它可以工作,但是仍然存在问题。

我总是必须向右滚动才能看到垂直滚动窗格: 我的ScrollPanes 我的ScrollPanes

我的代码:

   final JList list = new JList(GUI.strings.toArray());

   JScrollPane scrollPane = new JScrollPane(list);
   JScrollPane scrollPanex = new JScrollPane(scrollPane);

   scrollPanex.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
   scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

   getContentPane().add(scrollPanex, BorderLayout.CENTER);

有没有一种方法可以解决此问题,以便始终可以看到两个滚动条?

充满鳗鱼的气垫船

只需使用一个JScrollPane,然后设置单个JScrollPane的两个滚动条策略即可。

final JList list = new JList(GUI.strings.toArray());
JScrollPane scrollPane = new JScrollPane(list);

scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

getContentPane().add(scrollPane, BorderLayout.CENTER);

例如,

import java.awt.Dimension;
import java.util.Random;

import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JViewport;
import javax.swing.SwingUtilities;

public class ScrollPaneFun {
   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            Random rand = new Random();
            DefaultListModel<String> lModel = new DefaultListModel<>();
            JList<String> myList = new JList<>(lModel);
            myList.setVisibleRowCount(20);

            for (int i = 0; i < 50; i++) {
               StringBuilder sb = new StringBuilder();
               sb.append(String.valueOf(i) + ": ");
               for (int j = 0; j < 50; j++) {
                  for (int k = 0; k < 3; k++) {
                     char c = (char) ('a' + rand.nextInt('z' - 'a' + 1));
                     sb.append(c);
                  }
                  sb.append(' ');
               }
               lModel.addElement(sb.toString());
            }

            JScrollPane scrollPane = new JScrollPane(myList);
            scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            JViewport viewport = scrollPane.getViewport();
            int w = 400;
            int h = viewport.getPreferredSize().height;
            Dimension preferredSize = new Dimension(w, h);
            viewport.setPreferredSize(preferredSize);
            JOptionPane.showMessageDialog(null, scrollPane);
         }
      });
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何避免Flexbox CSS中的水平和垂直滚动条?

来自分类Dev

如何强制显示垂直滚动条?

来自分类Dev

如果内容超出div中指定的宽度和高度的水平和垂直滚动条

来自分类Dev

QScrollArea:垂直滚动条引起的水平滚动条

来自分类Dev

如何调整容器内的桌子高度和宽度,并在<tbody>中添加水平和垂直滚动条以避免溢出?

来自分类Dev

如何在滚动条中水平显示图像?

来自分类Dev

如何始终在SWT表中显示垂直滚动条?

来自分类Dev

如何启用垂直滚动的滚动条和水平滚动的禁用?

来自分类Dev

水平滚动条未显示

来自分类Dev

DatagridView不显示水平滚动条

来自分类Dev

水平滚动条未显示

来自分类Dev

ListView不显示水平滚动条

来自分类Dev

ListView不显示水平滚动条

来自分类Dev

DatagridView不显示水平滚动条

来自分类Dev

UWP垂直滚动条未显示

来自分类Dev

滚动条ItemsControl垂直填充,然后水平滚动

来自分类Dev

当SWT列表处于禁用状态时,是否可以显示垂直/水平滚动条?

来自分类Dev

水平滚动条?

来自分类Dev

如何隐藏水平滚动条

来自分类Dev

如何删除水平滚动条?

来自分类Dev

Bootstrap:如何禁用垂直滚动条?

来自分类Dev

Bootstrap:如何禁用垂直滚动条?

来自分类Dev

水平滚动条页面导航和垂直滚动条

来自分类Dev

HTML不要让垂直滚动条创建水平滚动条

来自分类Dev

面板中的垂直和水平滚动条

来自分类Dev

启用永久的垂直和水平滚动条

来自分类Dev

Swift如何同时启用水平和垂直滚动视图

来自分类Dev

如何在不显示垂直滚动条的情况下显示标题?

来自分类Dev

如何使用Swing滚动条设置JList的大小?

Related 相关文章

热门标签

归档