java - 在 Java 中的 JButton 中有 JCheckBox 可以吗?

标签 java swing user-interface jbutton jcheckbox

我有一个上传程序,它有一个显示一组上传行的 JTable。我有一个标记为“清除已完成”的 JButton,单击它会删除已完成上传的行。现在我想要一个 JCheckBox/JButton 组合(就像 gmail 中的复选框/下拉组合),这样如果复选框被选中,行将被自动删除。

我创建了一个扩展 JButton 的类并重写了构造函数以添加 JCheckBox。为 JCheckBox 和 JButton 添加了 ActionListeners。看起来像这样。

http://i.stack.imgur.com/KcBHv.png

一切正常。但我在是否使用它的两难境地。由于它不是 JButton API 的预期用途,而且我从未在任何 Java 应用程序中看到过这样的控件(到目前为止),所以我担心它是否会给用户带来任何问题。

这会导致在运行时破坏 UI 之类的问题吗?还是它可能不适用于所有操作系统? (我使用的是 Windows7)

还是设计方法不好? (“用户不得感到惊讶”规则。我想他们会理解的。我还为该复选框添加了一个工具提示)

请分享您的意见。 谢谢。

最佳答案

Will this cause any problems

也许吧。例如,如果使用 native 小部件来呈现按钮,您可能会遇到呈现问题。或者复选框可能不会响应点击,因为按钮吞没了事件。

Is it a good designing approach?

不是真的。大多数用户会认为您的布局有错误,因为他们以前从未见过按钮内的复选框。除了任何渲染问题(当我按下按钮时复选框会是什么样子?它会消失还是以奇怪的颜色呈现?),我认为您应该避免这种情况。

使用标准方法:按钮上方带有文本(“自动清除”)的复选框。当复选框被选中为“关闭”时,可能会更改按钮文本。

关于java - 在 Java 中的 JButton 中有 JCheckBox 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7187453/

相关文章:

java - Jersey 休息和 csv 响应

java - "http://annox.dev.java.net"自定义需要 "-Xannotate"开关

java - 绘制图像 Java API

java - 在 GUI 界面中接收用户输入(通过扫描仪)

java - SSLException : Unrecognized SSL message, 明文连接?通过 PROXY 在 Camel 中发送 https POST 时出错

java - Spring XML 配置 - 如何定义 Instant、BigDecimal、...参数?

java - JTree的选择路径

java - 我的 Jframe 在执行 java 程序期间不可见。在我调整框架大小后,所有字段都可见

java - 更新另一个 swing gui 类中的 jTextField

python - Tkinter 和线程