gwt widget - 互斥切换按钮
我想要 ToggleButton 和 单选按钮。 我想要 RadioButton 的“互斥”部分,以及 ToggleButton 的 gui 外观和行为(向上和向下状态)。 已经存在吗?
I want a hybrid of a ToggleButton and RadioButton.
I want the "mutually-exclusive" part of RadioButton, and the gui look and behavior of ToggleButton(up and down states).
Does one already exist?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我改编了 kirushik 的解决方案并创建了一个简单的“ToggleButtonPanel”小部件,该小部件采用任意数量的 ToggleButtons(以及可能您想要添加的任何其他小部件)和您选择的面板(默认为 VerticalPanel)并使按钮相互交互独家的。
这样做的好处是,当单击按钮时,面板本身会触发 ClickEvents。这样,您可以将单个 ClickHandler 添加到 ToggleGroupPanel,然后使用 event.getSource() 确定单击了哪个按钮
I've adapted kirushik's solution and created a simple "ToggleButtonPanel" widget that takes an arbitrary number of ToggleButtons (and possibly any other widgets you'd like to add) and a panel of your choosing (defaults to VerticalPanel) and makes the buttons mutually exclusive.
What's nice about this is that the panel itself fires ClickEvents when the buttons are clicked. This way, you can add a single ClickHandler to the ToggleGroupPanel and then determine which button was clicked using event.getSource()
这是我的纯 gwt 变体:
当然,需要带有变体(-up-hovering 等)的 gwt-ToggleButton 的 css 样式
Here is my pure-gwt variant:
Surely, one'll need css styles for gwt-ToggleButton with variants (-up-hovering etc.)
我有一些东西既不在扩展库中,也不像其他答案那样依赖于面板。定义管理按钮的类。我们正在向按钮添加一个新的单击侦听器,这是您在“GUI Content”类中附加的任何单击处理程序的补充。我无法复制并粘贴此内容,因此希望它在语法上是正确的。
I have something that is both not in an extension library, and not dependent on a panel like the other answers. Define this class which manages the buttons. We're adding a new click listener to the buttons, which is in addition to whatever click handler you attached in the "GUI Content" class. I can't copy and paste this in, so hopefully it's syntatically correct.
遇到同样的需求,这是另一个解决方案,它消除了单独的处理程序,并且在 UIBinder 中很好地工作,声明如下:
这是扩展类:
Came across the same need, heres another solution that does away with the separate handler and works nicely in UIBinder with a declaration like:
Here's the extended class:
gwt-exttoggleButtons
"此示例说明了切换按钮。单击时,此类按钮会切换它们的“按下”状态
粗体、斜体和下划线切换按钮相对于其切换状态独立运行,而文本对齐图标按钮属于同一切换组,因此当单击其中一个按钮时,先前按下的按钮将返回到其状态。正常状态。”
gwt-ext toggleButtons
"This example illustrates Toggle Buttons. When clicked, such Buttons toggle their 'pressed' state.
The Bold, Italic and Underline toggle Buttons operate independently with respect to their toggle state while the text alignment icon Buttons belong to the same toggle group and so when one of them is click, the previously pressed Button returns to its normal state."
在所有 ToggleButton 上注册一个附加的 ClickHandler。
例如,ToggleButtons 主页、树、摘要、详细信息。
当然,您只需要添加所有其他样板代码并为每个 ToggleButton 注册额外的 ClickHandler。
Register an additional ClickHandler on all the ToggleButtons.
For example, ToggleButtons home, tree, summary, detail.
Of course, you just need to add all the other boilerplate code and register additional ClickHandlers for each ToggleButton.