0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Javaアプレット上でコピペを許可するには長崎の出島で渡航許可証レベルで原始的設定が必要

Last updated at Posted at 2016-11-28

Javaアプレット上でコピペを許可するには長崎の出島で渡航許可証レベルで原始的設定が必要
なんですね

知らなかったYO

1.概要

Javaアプレット上で、Javaアプリ上でコピペしたいんです
文章をコピーして、ペーストしたいんです
正確にいうと、他のアプリ(Numbers)でコピーした文字列を、
Javaアプリ上でペーストしたいんですね

でも、できない、
どうやら制限がかかっているみたいです

簡単に解除できるかと思ったら、できない
調べるのに30分以上かかったぜ…なぜググっても出てこないんだよ

長崎の出島で渡航許可証レベルで原始的設定が必要です
江戸時代かよ
開国して

(補足)
厳密にいうと、コピペはできる場合もあります
自作アプリなどの場合、Swingでメニューバーやポップアップなどでコピペを許可していないとこうなる…のかな(予想)

2.許可する方法

前提としてMacでの話です(OSX Sierra)
前提としてJava ver. 8

(1)java.policyというファイルの場所を探します(自分のパソコンの中にある)h2

Javaがインストされているなら、java.policyというファイルが存在します
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/security/PolicyFiles.html
によると、
ここにあります。
もっとデカい字で書いて欲しいよな…

java.home/lib/security/java.policy (Solaris, Linux, or Mac OS X)
java.home\lib\security\java.policy (Windows)

↑これは
どういうことかというと、

ライブラリ/security/java.policy (Mac OS X)
みたいに自分のMacのライブラリから入って、下の階層にあるよということです

いや、めんどい
そんなことしなくても
「java.policy」でSpotlight検索してください
(Spotlight検索…Finderの右上にあるファイル検索システムのこと)
すぐに見つかります

(2)Atom(テキストエディタ)で開いて編集しますh2

このjava.policyファイルをAtomという定番フリーソフトで開いて編集します
テキストエディタでも開くのかもしれませんが、めんどいです

このjava.policyファイルはAtomで開けます

このjava.policyファイルはAtomで開けます
このjava.policyファイルはAtomで開けます
このjava.policyファイルはAtomで開けます
大事なことだろ、ちゃんと書けよ

15分ググってもでてこなかったので、俺がちゃんと書いておきます

(3)ごちゃごちゃ書いてある中に、grant {permission java.yyyyyyyy.xxxxxxxxxxx;}と書く

このjava.policyファイルはAtomで開くと
たくさんタブが出て来ますが、
java.policyのタブをクリックし、java.policyの文章を編集していきます

https://docs.oracle.com/javase/jp/8/docs/technotes/guides/security/permissions.html
ここに、Javaでコピペを許可したい場合にはxxxxxを許可しろとか
いろいろ書いてありますが、文字が小さすぎて読めません
読んでる時間ない

ようするにJavaはもともと、いろんなものを制限しているようです
セキュリティのためらしいです
でも、今回どうしてもコピペを解禁したいので
このページを「コピー」で検索すると、

accessClipboard AWT
クリップボードとの間での情報の送信と取得

とありますね
どうやらこれを許可すればいいようです

許可するための書き方は、
こちらの方がわかりやすかったです

grant {
permission java.security.AllPermission;
};

grant {
permission java.xxxxxxxxxx.yyyyyyyyyyyyyy;
};

みたいな

というか既存でいくつか書いてあるので
それを真似して入れればいいので
さすがにこれは、わかると思います

さっきの「accessClipboard AWT」
を入れるわけですが

入れる場合は

grant {
permission java.awt.AWTPermission "accessClipboard", "read";
};

java.awt.AWTPermissionという、ディレクトリ名?が入るようです
これは先ほどの
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/security/permissions.html
を見ればわかりますね

3.Atom(テキストエディタ)を保存して閉じます

4.コピペできるようにった

再度、お目当のJavaアプリを開くとコピペできるようにった

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?