利用JavaFx开发RIA桌面应用-Clipboard剪贴板操作

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53304689

1.操作效果

鼠标移至文本控件处,双击鼠标左键复制文本内容。文字复制成功时,文本内容加粗效果。

待粘贴文本显示框:
利用JavaFx开发RIA桌面应用-Clipboard剪贴板操作_第1张图片

双击鼠标左键进行粘贴,文字加粗:
利用JavaFx开发RIA桌面应用-Clipboard剪贴板操作_第2张图片

粘贴内容至输入框:
这里写图片描述

2.实现方式

主要利用了javaFx提供的Clipboard类,首先是对待复制文本进行监听双击事件:

import javafx.event.EventHandler;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Paint;
import javafx.scene.text.Text;

/**
 * Created by loongshawn on 2016/11/23.
 *
 * NOTE 粘贴板监听
 */
public class ClipboardEvent implements EventHandler<MouseEvent> {

    Text text;

    public ClipboardEvent(Text text){
        this.text = text;
    }

    public void handle(MouseEvent event) {

        if (event.getClickCount() == 2) {

            Paint paint = text.getFill();

            Clipboard clipboard = Clipboard.getSystemClipboard();
            ClipboardContent clipboardContent = new ClipboardContent();
            clipboardContent.putString(text.getText());
            clipboard.setContent(clipboardContent);

            text.setStroke(paint);
        } else {

            text.setStroke(null);
        }
    }
}

其中text.setStroke(paint)及text.setStroke(null)是对粘贴成功的文本显示加粗效果。然后加粗后,鼠标不在文本上方时取消效果。

import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
import javafx.scene.text.Text;

/**
 * Created by loongshawn on 2016/11/23.
 *
 * NOTE 输出框鼠标移至text范围外取消SMOKE效果
 */
public class ClipboardMouseExitedEvent implements EventHandler<MouseEvent> {

    Text text;

    public ClipboardMouseExitedEvent(Text text){
        this.text = text;
    }

    public void handle(MouseEvent event) {
        text.setStroke(null);
    }
}

相关文章:

  • 《 利用JavaFx开发RIA桌面应用-TableView操作》
  • 《 利用JavaFx开发RIA桌面应用-Clipboard剪贴板操作》
  • 《利用JavaFx开发RIA桌面应用-TextField替换PasswordField做密码框》
  • 《利用JavaFx开发RIA桌面应用-半透明界面设计》
  • 《利用JavaFx开发RIA桌面应用-加载等待界面设计》
  • 《利用JavaFx开发RIA桌面应用-文件拖拽》
  • 《利用JavaFx开发RIA桌面应用-改变stage的标题栏的图标》
  • 《利用JavaFx开发RIA桌面应用-事件监听》
  • 《利用JavaFx开发RIA桌面应用-ComboBox组合编辑框水平增长》
  • 《利用JavaFx开发RIA桌面应用-布局说明》
  • 《利用JavaFx开发RIA桌面应用-在线资料》

你可能感兴趣的:(JAVA,JavaFX)