当前位置:  开发笔记 > 编程语言 > 正文

在的Java Swing你如何管理面板允许多个面板的列表中进行选择?

如何解决《在的JavaSwing你如何管理面板允许多个面板的列表中进行选择?》经验,为你挑选了1个好方法。

我正在开发一个跟踪一系列任务的内部应用程序.我想要一个简单的任务监视器,列出任务名称和任务的状态.我需要这个看起来有点好看,我不是设计师,所以无论我做什么都会吮吸,但基本的文本显示不适用于项目要求.

我基本上试图做的是显示类似于Firefox下载窗口,I-Tunes下载窗口的东西,我可以更多地命名,但它们看起来基本相同.在每个应用程序中,每个"进度面板"都是可选的.因此,为了实现这一点,我认为只使用一个JPanels列表就很简单,每个JPanels都有一个JProgressBar和一个JLabel,每个JPanel都可以接受焦点来确定是否选择了它.我认为这将是一项简单的任务,但如果我使用JList它只显示文本.然后我想我会在一个更大的面板中显示所有任务面板,但我无法让内部面板识别焦点.

有这种模式吗?是否有我刚刚找不到的滚动标准解决方案?或者有更好的方法吗?我不想重新发明轮子,但我认为这只是简单.



1> coobird..:

听起来你可能正在寻找的是一个JList.

您可以JList通过首先将"任务"添加到JList对象来添加项目ListModel(请参阅Java教程中的创建模型部分),然后您将要分配一个ListCellRenderer将接受您的"任务" 的自定义呈现在JList一个JPanel列表本身.这里的关键是让您的自定义ListCellRenderer能够以JList您想要的方式显示您的"任务" JList.

请参阅The Java Tutorials 的How to Use Lists页面中的Writing a Custom Cell Renderer部分.它将描述如何制作您的自定义,以便您可以将您的"任务"表示为您想要的任何内容.ListCellRenderer

为了简短起见,您将ListCellRenderer通过实现接口来实现接口,该接口getListCellRendererComponent将返回一个Component代表您的任务的代码JList.你可能想要JPanel在这个方法中构造或实例化你的方法并将其作为Component.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有