问题标签 [swingx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4250 浏览

java - Windows 中的日期时间选择器

我正在寻找一个与 Windows 7 日期和时间选择器相同(甚至更好)的 Swing 组件。他们看起来是这样的:

Windows 7 示例

并具有我需要的以下功能:

  • 您不能输入无效值(在您输入时忽略该值,而不是在您离开该字段时)
  • 它允许持续更新字段,直到用户进行第一次更改(查看 Windows 7 中的时间设置)
  • 您一次只能选择和更改一个位置 - 而不是一次整个文本(因此不能删除冒号和点)
  • 向上和向下按钮
  • 日历按钮(但对我来说是可选的)

我用 DateEditor 尝试过 JSpinner,但它没有这个功能。JXDatePicker 只添加日历按钮。

通常,我正在寻找一种让用户以强大而简单的方式输入日期和时间的好方法。Windows 7 的解决方案似乎相当不错。

谢谢!

0 投票
2 回答
2307 浏览

java - Apache Pivot 是 Swing 的合适替代品吗?

我一直在研究 Apache Pivot,我想知道它是否已准备好用作 Swing 的替代品(鉴于 Swing 和 SwingX 的开发进展如此缓慢——几乎处于休眠状态)。

有人试过吗?你知道任何带有 Apache Pivot 的 RAD 拖放式 GUI 设计器吗?

谢谢你。

0 投票
1 回答
168 浏览

java - 如果其中一个面板拖得太远,MultiSplit Panel 会消失

我正在使用SwingX MultiSplitPane, JXMultiSplitPane. 该窗格具有三个单独的面板:左侧面板、中间面板和右侧面板。如果我将左侧面板展开太多,它会导致右侧面板消失并且我无法将其取回。

有什么方法可以限制用户的行为,以防止他们将面板的宽度扩大到超过一定尺寸?

0 投票
1 回答
979 浏览

java - JXTable 中的 JComboBox 问题

我正在尝试将 JXTable 中的列作为组合框。很难解释我面临的问题。当您单击下拉菜单时,有时下拉菜单不会保持打开足够长的时间让您选择值。它只是关闭并选择了一些值。有时,您可以选择一个值。这是SSCCE:

0 投票
1 回答
2731 浏览

java - SwingX AutoCompleteDecorator:没有找到合适的装饰方法

我第一次尝试测试 SwingX,为此,我阅读了文档: http: //www.jdocs.com/swingx/1.0/org/jdesktop/swingx/autocomplete/AutoCompleteDecorator.html

我想对这样的 JTextField 提出建议:

所以我在netbeans上创建了一个项目,这是我的代码:

在此处输入图像描述

我收到此错误:

我很好地遵循语法,我不明白错误来自哪里?有什么帮助吗?

0 投票
1 回答
3267 浏览

java - SwingX:一个关键字和几个建议

我想创建一个带有建议列表的 JTextField(如 google、netbeans ......),换句话说,当我在 JTextField 中写一个单词时,会显示一个列表......所以我尝试了这个:

但我收到此错误:

通常它可以工作,我不明白文档中有错误吗? https://pirlwww.lpl.arizona.edu/resources/guide/software/SwingX/org/jdesktop/swingx/autocomplete/AutoCompleteDecorator.html

感谢您的帮助。

0 投票
1 回答
3174 浏览

java - JXTreeTable:如何使用 ComponentProvider 为一列设置渲染器

我正在使用 JXTreeTable 来显示一些数据,并且我想使用 SwingX 提供的机制来更改某些列的渲染器。

我以前使用过 JXTable 和 TableCellRenderer 的自定义实现,但这不再起作用(我看到应该有进度条、按钮等的字符串)。

因此,我试图通过以下方式实现我想要的:

但是 ComponentProvider 的覆盖方法createRenderer被调用一次(即使我的 JXTreeTable 中有不止一行)并且没有显示任何按钮(该方法仅包含return new JButton();)。

谢谢!

编辑>希望你能回答 kleopatra,因此你很高兴。

我尽了最大努力,但不知何故没有显示表格。我想我忘记了一些东西(我是一名刚接触 Java 的 C++ 开发人员),但我想这不是一个严重的问题,它可能与我的主要问题无关。

编辑>我实际上已经观察到它有效。但不是我想要的方式。我想看到一个真正的按钮(现在它看起来与该行的其余部分有点不同),知道它的路径(父对象和列索引)并查看单击或悬停在它上时的效果(按钮应该看起来被按下,...)。

我该如何做到这一点?

0 投票
10 回答
16552 浏览

java - 在 JTree 上过滤

问题

对 a 应用过滤JTree以避免某些节点/叶子出现在JTree. 理想情况下,我正在寻找一种允许使用动态过滤器的解决方案,但如果我能让静态过滤器工作,我已经很高兴了。

为了让它更容易一点,让我们假设JTree只支持渲染,不支持编辑。移动、添加、删除节点应该是可能的。

一个示例是 a 上方的搜索字段JTree,并且在键入时JTree将仅显示匹配的子树。

一些限制:它用于可以访问 JDK 和 SwingX 的项目中。我想避免包含其他第三方库。

我已经想到了一些可能的解决方案,但这些似乎都不理想

方法

基于模型的过滤

  • 装饰TreeModel以过滤掉一些值。快速和肮脏的版本很容易编写。过滤掉节点,并且在过滤器或委托TreeModel的每次更改时,装饰器都可以触发整个树发生更改的事件(treeStructureChanged以根节点作为节点)。将此与恢复选择状态和扩展状态的侦听器结合使用JTree,您将获得一个或多或少工作的版本,但源自 的事件TreeModel被搞砸了。这或多或少是这个问题中使用的方法
  • 装饰TreeModel但尝试触发正确的事件。我(还)没有设法想出这个的工作版本。当从委托模型中删除节点时,似乎需要委托的副本TreeModel才能触发具有正确子索引的事件。我想再花一些时间我可以让它工作,但它只是感觉不对(过滤感觉像是视图应该做的事情,而不是模型)
  • 装饰用于创建初始TreeModel. 然而,这是完全不可重用的,可能和为一个装饰器写一个装饰器一样难TreeModel

基于视图的过滤

这似乎是要走的路。过滤不应该影响模型,而应该只影响视图。

  • 我看了看RowFilter课。尽管 javadoc 似乎建议您可以将它与 a 结合使用JTree

    当与 JTree 关联时,条目对应于一个节点。

    我找不到RowFilter(或RowSorter)与JTree班级之间的任何联系。Swing 教程的标准实现RowFilter似乎表明RowFilter只能直接与 a 一起使用JTable(请参阅 参考资料JTable#setRowSorter)。没有类似的方法可用JTree

  • 我还查看了JXTreejavadoc。它有一个ComponentAdapter可用的,并且 javadocComponentAdapter表明一个RowFilter可以与目标组件交互,但我看不到我是如何在RowFilter和 之间建立链接的JTree
  • 我还没有研究 a 如何JTable使用 s 处理过滤RowFilter,也许同样可以在 a 的修改版本上完成JTree

简而言之:我不知道解决这个问题的最佳方法是什么

注意:这个问题可能是这个问题的重复,但是那个问题仍然没有答案,这个问题很短而且答案似乎不完整,所以我想发布一个新问题。如果这没有完成(常见问题解答没有提供明确的答案)我将更新那个 3 岁的问题

0 投票
6 回答
2735 浏览

java - List items = new ArrayList() :它不起作用

都在标题中,我不明白这次的问题有点不同,我对两个不同的程序使用了相同的 Object(List) 并且在第二次它不起作用,请参阅:

关于错误的屏幕截图: 在此处输入图像描述

通过这里的缺点,它的工作顺利:

谁能给我解释一下?

0 投票
1 回答
575 浏览

java - Swingx 组件提供程序:在某些行上隐藏组件

我已将 Swingx 的 ComponentProvider 子类化以提供 JButton,但在我的 JXTreeTable 的某些行上,我不想显示任何按钮。我想要的最终“结果”是有一个空单元格,就像在我没有设置提供程序的列中显示空文本时得到的那样。

  1. 是否可以在某些行上隐藏渲染的组件(例如取决于值)?setVisible(false)在渲染组件上设置format()configureState()不起作用。

  2. 是否可以对 ComponentProvider 进行子类化以提供不同类型的组件?如果是,那将如何运作?

  3. configureState()我在哪里可以找到 ComponentProvider 提供的可能性的一些示例,并清楚地解释哪种方法做什么(例如,我几乎不理解和之间的区别format())?

编辑

  1. 是否可以防止 JX(Tree) 中显示的 JButton?表格与单元格一样宽?

  2. 如果我创建另一个荧光笔,我可以使用另一个谓词(ROLLOVER 或其他东西)来更改光标吗?即使按钮被隐藏,光标也会变为手形(通过链接)。

非常感谢!