我正在开发一个跟踪一系列任务的内部应用程序.我想要一个简单的任务监视器,列出任务名称和任务的状态.我需要这个看起来有点好看,我不是设计师,所以无论我做什么都会吮吸,但基本的文本显示不适用于项目要求.
我基本上试图做的是显示类似于Firefox下载窗口,I-Tunes下载窗口的东西,我可以更多地命名,但它们看起来基本相同.在每个应用程序中,每个"进度面板"都是可选的.因此,为了实现这一点,我认为只使用一个JPanels列表就很简单,每个JPanels都有一个JProgressBar和一个JLabel,每个JPanel都可以接受焦点来确定是否选择了它.我认为这将是一项简单的任务,但如果我使用JList它只显示文本.然后我想我会在一个更大的面板中显示所有任务面板,但我无法让内部面板识别焦点.
有这种模式吗?是否有我刚刚找不到的滚动标准解决方案?或者有更好的方法吗?我不想重新发明轮子,但我认为这只是简单.
听起来你可能正在寻找的是一个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
.