java - JList 在添加到 JScrollPane 时消失
问题描述
我不知道为什么会发生这种情况,我已经查找了几乎所有关于此的 Stack Overflow 问题。错误是,当我添加一个JScrollPane
to 时JList
,什么都没有出现。即使我将它添加到框架中。
JList mainlist = new JList();
JScrollPane listScroller = new JScrollPane(mainlist);
listScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
listScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
mainlist.setToolTipText("List of People");
mainlist.setFont(new Font("Consolas", Font.BOLD, 13));
int pos = mainlist.getModel().getSize();
DefaultListCellRenderer renderer = (DefaultListCellRenderer)mainlist.getCellRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
mainlist.setModel(model);
mainlist.setForeground(Color.GREEN);
mainlist.setBackground(new Color(44, 47, 51));
mainlist.setBounds(10, 108, 780, 248);
mainlist.setFixedCellHeight(20);
mainlist.setFixedCellWidth(30);
mainlist.setBorder(new EmptyBorder(10,10, 10, 10));
frm.getContentPane().add(listScroller);
解决方案
您应该将边界应用于您的滚动窗格而不是您的列表
listScroller.setBounds(10, 108, 780, 248);
还要确保您的内容窗格具有可以工作的null
布局,setBounds()
或者更好地使用边框布局并将其设置preferred&maximum Size()
为适合您的
推荐阅读
- angularjs - 无法使用 Angular.js 更改标签的 href 值
- c# - 如何在 C# 中使用 Microsoft Print to PDF 将 DOCX 转换为 PDF?
- python - 我如何使用 python 脚本来做,就好像我在使用 shell 一样?
- java - 从控制器中删除 @ResponseBody 时,收到 404 not found 错误消息
- spring-security-ldap - 如何使用 Spring Security 从 LDAP 获取用户角色
- javascript - 如何设置已设置为变量的参数?
- date - 如何将 IST 转换为 dd-mm-yyyy 格式
- bash - [: -!eq: 期望二元运算符
- abap - 在 ABAP 中声明变量、类型等的完整方法列表
- objective-c - 如何用“dd MMM yyyy”的日期表示它,意思是“2019 年 6 月 11 日”?