我使用 CardLayout 并希望使用两个带有 .next() 和 .previous() 的按钮来滚动项目。它只解决一个问题:如果当前项目是第一个/最后一个项目,我想停止滚动。
我找不到获取当前项目索引的方法或一个标志来确定当前项目是否是第一个/最后一个。
你能告诉我一个简单的方法来找出当前项目是第一个/最后一个吗?
由于有 .first() 和 .last() 方法可以跳转,我猜肯定有一种方法可以确定当前是否是第一个/最后一个。
我使用 CardLayout 并希望使用两个带有 .next() 和 .previous() 的按钮来滚动项目。它只解决一个问题:如果当前项目是第一个/最后一个项目,我想停止滚动。
我找不到获取当前项目索引的方法或一个标志来确定当前项目是否是第一个/最后一个。
你能告诉我一个简单的方法来找出当前项目是第一个/最后一个吗?
由于有 .first() 和 .last() 方法可以跳转,我猜肯定有一种方法可以确定当前是否是第一个/最后一个。
我会简单地使用一个List<String>
包含卡片布局中所有组件名称的字段,以及一个包含当前显示组件索引的字段。
要知道你是否在开始,你会测试 if index == 0
。要知道您是否在最后一个组件,您将测试 if index == list.size() - 1
。要显示下一个组件,您可以使用index++; layout.show(parent, list.get(index));
.
我扩展了 CardLayout,覆盖了几个方法
这也是我的解决方案。有关我的实现,请参阅Card Layout Focus。