2

Mac OS X で Java プログラムを実行しているときに、テキスト フィールド オブジェクト (JField など) は、追加のコーディングを行うことなくキー コマンドを使用すると、システム クリップボードを使用した切り取り、コピー、および貼り付け操作をサポートすることを発見しました。たとえば、JField を作成し、テキストを入力して選択し、「Command-C」を使用してコピーし、別のアプリケーションに貼り付けることができます。他のアプリケーションからコピーしたテキストを貼り付ける場合も同様です。

Java がこれを自動的に行うのはとても気に入っていますが、[編集] メニューがカット、コピー、および貼り付けのメニュー項目とともに自動的に表示されないことに気付きました。テキストが選択されたときにシステム クリップボードにアクセスするためにこれらのメニュー項目を自動的に追加する方法はありますか? そうでない場合、他のアプリケーションと同じように動作するように実装する最良の方法は何ですか? この時点では、テキストのコピーと貼り付けのみに関心があります。

また、システムのクリップボードがプラットフォーム固有であることも知っています。テキスト フィールド オブジェクトに対するこの自動システム クリップボード機能は、他のプラットフォームでも発生しますか?

編集:これをメニューバーに追加することについて実際に知りたかったのですが、次の質問に対する素晴らしい回答があったので、それを正しい回答として選択して質問の名前を変更することにしました.

4

3 に答える 3

0

これは私のために働いています:

public class MyTextField extends JTextField {
    public static final MyPopupMenu POPUP_MENU = new MyPopupMenu();

    public MyTextField() {
        this.setComponentPopupMenu(POPUP_MENU);
    }
}

今、私MyTextFieldは他の方法で a を使用するところならどこでも使用しJTextFieldます。

于 2015-08-07T16:05:07.057 に答える