gpt4 book ai didi

java - 为什么我要在这个例子中使用 JScrollPane ?

转载 作者:行者123 更新时间:2023-12-01 12:59:27 27 4
gpt4 key购买 nike

使用的目的是:

add(new JScrollPane(list)) 而不是下面代码中的 add(list)

public class Gui extends JFrame {

private JList list;
private static String[] colorNames = {"black", "blue", "red", "white"};
private static Color[] colors = {Color.BLACK, Color.BLUE, Color.RED, Color.WHITE};

Gui() {
list = new JList(colorNames);
list.setVisibleRowCount(colorNames.length);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
**add(new JScrollPane(list))**;


}
}

最佳答案

真正客观地回答您最初的问题,答案是:这取决于您希望在 UI 显示中实现的目标。

但是,在绝大多数情况下,我应该认为将诸如 JLists 之类的组件包装在 JScrollPane 中将是一个好主意。

JScrollPane 的存在是为了在特定的 JComponent 太大而无法容纳其分配的空间时提供帮助。对于 JList,如果项目数量超过 JList 本身的可用高度,那么您将看不到这些项目。封装在 JScrollPane 中将为用户提供滚动机制,通过滚动所有可用项目来进行浏览。

当然,如果您的列表没有超出其可用空间,那么将其放在 JScrollPane 中也不会造成任何损害。 (此外,您还可以自定义其显示,以便在必要时才显示滚动条。)

JScrollPaneJListsJTableJTextArea 结合使用尤其常见。不过,不要被 JComboBox 愚弄 - 它有自己的滚动机制。

官方 Swing 教程中有一个名为 How to Use Scroll Panes 的部分。其中提供了详细信息。

关于java - 为什么我要在这个例子中使用 JScrollPane ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636221/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com