我正在研究一个基于Java Swing的简单应用程序。我将如何获取和设置表单当前关注的文本字段/文本区域的文本?
我知道如何确定哪个组件具有焦点,但是我不知道如何获取组件的选定文本。我使用getFocusOwner(),但它返回一个Component,因此未实现getSelectedText()方法。我是否需要进行类型转换?
根据您的确切上下文,您可能考虑使用自定义TextAction:其方法getTextComponent(ActionEvent)
返回最新的焦点文本组件。一个代码片段:
Action logSelected = new TextAction("log selected") {
@Override
public void actionPerformed(ActionEvent e) {
JTextComponent text = getTextComponent(e);
System.out.println("selected: " + text.getSelectedText());
}
};
JComponent content = new JPanel();
content.add(new JTextField("sometext", 20));
content.add(new JTextField("other content", 20));
content.add(new JCheckBox("just some focusable comp"));
content.add(new JButton(logSelected));
点赞组件 <a href="{:U('article/do_like',array('id'=>$object_id))}" class="js-count-btn"><i class="fa fa-thumbs-up"></i><span class="count">{$post_like}</span></a> 分解组件: <!-- 点赞链接 须传入文章id --> href="{:U('a
点击 属性检查器 下面的 添加组件 按钮,然后从 碰撞组件 中选择需要的 Collider 组件,即可添加 Collider 组件到节点上。 Collider 组件属性 属性 功能说明 Tag 标签。当一个节点上有多个碰撞组件时,在发生碰撞后,可以使用此标签来判断是节点上的哪个碰撞组件被碰撞了。 Editing 是否编辑此碰撞组件,只在编辑器中有效 详细说明 一个节点上可以挂多个碰撞组件,这些碰撞
属性 属性 说明 Clip 用来播放的音频资源对象 Volume 音量大小,范围在 0~1 之间 Mute 是否静音 Loop 是否循环播放 Play on load 是否在组件激活后自动播放音频 preload 是否在未播放的时候预先加载 更多音频接口的脚本接口请参考 AudioSource API。
Animation(动画) 组件可以以动画方式驱动所在节点和子节点上的节点和组件属性,包括用户自定义脚本中的属性。 点击 属性检查器 下面的 添加组件 按钮,然后从 其他组件 中选择 Animation,即可添加 Animation(动画) 组件到节点上。 动画的脚本接口请参考 Animation API。 Animation 属性 属性 功能说明 Default Clip 默认的动画剪辑,如果这
BlockInputEvents 组件将拦截所属节点 bounding box 内的所有输入事件(鼠标和触摸),防止输入穿透到下层节点,一般用于上层 UI 的背景。 当我们制作一个弹出式的 UI 对话框时,对话框的背景默认不会截获事件。也就是说虽然它的背景挡住了游戏场景,但是在背景上点击或触摸时,下面被遮住的游戏元素仍然会响应点击事件。这时我们只要在背景所在的节点上添加这个组件,就能避免这种情况。
PageviewIndicator 用于显示 PageView 当前的页面数量和标记当前所在的页面。 点击 属性检查器 下面的 添加组件 按钮,然后从 UI 组件 中选择 PageviewIndicator,即可添加 PageviewIndicator 组件到节点上。 PageviewIndicator 的脚本接口请参考 PageviewIndicator API。 PageviewIndicat