Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

エクスポートしてjarにすると一部ボタン類が機能しない

エクリプス上で実行すると問題なくすべてのボタン類が機能
するんですが、エクスポートしてjarにした後に起動させると
一部のボタン類が機能しません。
この現象は当方のコードの書き方に問題があるせいでしょう
か?

4

回答

7079

閲覧

4件の回答

評価

0

君が目にしているものを、ネット越しの他人は見られないん
だ。
例えば私が「血が出ています。病院に行くべきですか?」と
尋ねたとして、答えられるか?

具体的にコードを上げ、さらにそのjarをどのように実行して
いるのか。
環境はどうか、などなど、詳細に伝えれば伝えるだけ、有用
な回答が得られる可能性も高まる。

評価

0

コマンドラインでjarファイルのあるディレクトリに移動し、
以下のコマンドでプログラムを起動してみてください。
java -jar foo.jar

ボタンを押した時に例外は発生していないでしょうか?

ボタンが押された際のイベント処理のコードの最初の部分に
System.out.println("pushed!");
などを記述するとどうなります?

jarにするとうまく動作しない場合は必要なリソース(画像ファイルや
xmlなどの設定ファイルなど)や依存しているjarファイルなどが
エクスポートされていない事が多いようです。
jarファイルはzipで圧縮されているので解凍してみてください。
コマンドラインから解凍する場合のコマンドは以下です。
jar xvf foo.jar
展開したら必要なリソースが揃っているか確認してみてください。

評価

0

回答ありがとうございます。

問題があるのはボタン2個とチェックボックス3個なんです
が、チェックボックスは画像を使用して「空のチェックボ
ックス」と「チェックの入ったチェックボックス」をマウ
スクリックによって使い分けてあります。

この「空のチェックボックス」はJTable(13行5列)の0列目
以外の全てのセル(計65個)に隙間なく貼り付けてあり、
マウスクリックによって「チェックの入ったチェックボッ
クス」に変更されます。
また1行目、3行目、12行目、13行目のセルはマウスクリッ
クすると「チェックの入ったチェックボックス」に変更さ
れた後にポップアップメニューが出現するようにしていま
す。
動作に問題があるのは12行目の3列目、4列目、5列目で、
マウスクリックすると通常は「チェックの入ったチェック
ボックス」に変更されるはずなのですが、「空のチェック
ボックス」のままポップアップメニューが出現してしまい
ます。

チェックボックスの方のコードを一通り見直した後にエク
リプス上で実行してみましたが動作に問題はありませんで
した。

現在作成中のJFrameのサイズは1280×800です。

開発環境は・・・
Windows7Pro 32bit
eclipse 4.4
java1.8.0_u45
ディスプレイ:PL2410HD 解像度(1920×1080(推奨))

ディスプレイの解像度を段階的に下げながらエクリプスの
実行でチェックボックスの動作を確認してみましたところ
1280×800まで下げるとチェックボックスの動作に問題が
出て上記のような不具合が起きます。
その後jarにして再度同様の確認を行いましたが上記と全
く同じでした。

評価

0

チェックボックスの件は自己解決しました。
原因はポップアップメニューの表示位置で、チェックボッ
クスをマウスクリックした際に
popup.show(e.getComponent(),e.getX(), e.getY());
としていましたが、1280×800サイズにディスプレイの解
像度を下げるとチェックボックスの位置が最低部の位置に
あるために空のチェックボックスをマウスクリックしてチ
ェックを入れると右側にポップアップメニューが表示され
ますが、これがかなり強引な表示となるために誤作動を起
こしていたようです。

解決策として以下のようにe.getX(), e.getY()に表示した
い位置を指定することで対応しました。
popup.show(e.getComponent(), 18,330);

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。