如何在Java GUI中指定一系列有效值

时间:2013-03-28 16:44:21

标签: java swing jslider jspinner ui-design

我正在创建一个IMDB应用程序,用于显示和组织您计算机上的电影(通过IMDB API查找元数据)。

在我的搜索面板中,我想让用户可以选择查找特定年份(例如1990年至2005年)之间发布的电影。目前我使用这两个JSpinner,一个用于最小年份,一个用于最大年份,并使用交叉验证来检查maxYear >= minYear && minYear <= maxYear但是我不认为这是非常用户友好的。

我想要的是带有两个旋钮的JSlider,一个用于min,一个用于max。这可能吗?关于如何使这个界面更加用户友好,您还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

您可以拥有两个JTextField,只需让用户输入最小和最大年份。

否则,两个JSpinner是另一种选择。开发用户从未见过的自定义组件对用户不友好。

您可以交叉连接两个JSpinner,这样用户就无法输入大于最大年份的最小年份。我没有这样做,所以我没有代码示例来向您展示。

答案 1 :(得分:1)

这看起来很有希望:Creating a Java Swing range slider

这是另一个我认为来自旧Tame示例的例子:MThumbSlider