質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

4回答

3776閲覧

エラー eclipse java processing

reotantan

総合スコア295

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/01/13 16:04

編集2016/01/13 16:39

クラスファイルが見つからないという事で、いろいろいじっていたらUsage: PApplet [options] <class name> [sketch args]
See the Javadoc for PApplet for an explanation.
というものが出てきました。

コード import processing.core.PApplet; import processing.core.PImage; public class MyPapplet extends PApplet { private String URL = "http:///...jpg"; private PImage backgroundImg; public void setup() { size(200, 200); backgroundImg = loadImage(URL, "jpg"); } public void draw() { backgroundImg.resize(0,height); image(backgroundImg,0,0); } }

上のコードを実行できるようにしたいのですが、
知恵をいただきたいです。

processingの版を記入し忘れました、すいません。
processing3を使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

processing3 ということは、Eclipse 上で applet として実行することはできないはずですが、
ご質問のエラーはどういった方法で実行された場合に出ましたか?
お使いのプラグインと実行方法をお教えください。
(すいません、自分が proclipsing を使っていたので、
同じプラグインをお使いと思い込んでいましたが、違っていた場合話が合いません)

前述のこちらの環境で processing-3.0.1 を使って kurogomapurin さんが回答されたように、
main() メソッドを補完したものを実行してみましたが、最終的には動作しました。
一点、問題があって、Eclipse 上で書く場合、 size() メソッドは setup() メソッド内では
使用できないので、 setting() メソッドを別途オーバーライドして、
その中で記述する必要があります。
つまり、変更点は、

  • main() メソッドの追加
  • size() メソッドの setting() メソッドへの移動

の二点です。

変更後の以下のコードを、

右クリック->[実行]->[Javaアプリケーション]

で実行したところ、画像が表示されました。

Java

1import processing.core.PApplet; 2import processing.core.PImage; 3 4public class MyPapplet extends PApplet { 5 /** 6 * 7 */ 8 private String URL = "https://upload.wikimedia.org/wikipedia/commons/6/6b/Phalaenopsis_JPEG.jpg"; 9 private PImage backgroundImg; 10 11 public void settings() { 12 size(200, 200); 13 } 14 15 public void setup() { 16 backgroundImg = loadImage(URL, "jpg"); 17 } 18 19 public void draw() { 20 backgroundImg.resize(0,height); 21 image(backgroundImg,0,0); 22 23 } 24 25 public static void main(String args[]) { 26 PApplet.main("MyPapplet"); 27 } 28}

投稿2016/01/14 04:05

kozuchi

総合スコア1193

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reotantan

2016/01/14 04:10

はい、そのように書いたとところ実行できました。 初めてprocessing を使うのですが、3は使いやすいものなのでしょうか?
kozuchi

2016/01/14 08:07

実行できるようになってなによりです。 2 と 3 の違いについては、私もそこまで使い込んでいるわけではないのでよくわかりません。 よくわからないような状態なのでとりあえず最新のものを使うということで 3 を使っています。 私の場合、処理の主な部分は Java で組んで、Processing はもっぱらフロントエンドとして使っているので、 多少の違いはあまり重要ではないということもあります。 setup() で size() が使えない件とアプレットでなくなった件には少し面喰いましたが、 分かれば簡単なことで、アプレットを作る予定もとくにないのであまり関係ないです。
guest

0

現象が再現できないので、原因はよくわかりませんが、
参考までに報告します。

まず、Processing は 2 と 3 で大きく事情が違いますので、
Processing の質問をされる場合はどちらを使っているかを書かれた方がいいと思います。

eclipse java processing で applet を使用されているということはおそらく 2 をお使いだと思いますので、
私の環境

Eclipse IDE for Java Developers Version: Mars.1 Release (4.5.1) Proclipsing 0.4.2.7 processing-2.1.2-windows64

で以下のコードを動かしてみたところ、問題なく動作しました。
(URLを完全なものにしただけです)

Processing

1import processing.core.PApplet; 2import processing.core.PImage; 3 4public class MyPapplet extends PApplet { 5 /** 6 * 7 */ 8 private static final long serialVersionUID = 1L; 9 private String URL = "https://upload.wikimedia.org/wikipedia/commons/6/6b/Phalaenopsis_JPEG.jpg"; 10 private PImage backgroundImg; 11 12 public void setup() { 13 size(200, 200); 14 backgroundImg = loadImage(URL, "jpg"); 15 } 16 17 public void draw() { 18 backgroundImg.resize(0,height); 19 image(backgroundImg,0,0); 20 21 } 22}

ですので、このコードに起因する問題ではないと思いますので、もう少し簡単なサンプルや、
Processing の自前の IDE で動作するかどうかも確認されてはどうでしょうか。

投稿2016/01/13 16:35

編集2016/01/13 16:39
kozuchi

総合スコア1193

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

public static void main(String args[]) {
PApplet.main("MyPapplet");
}

をdraw関数の下に追記してください。
余談ですがPAppletはP(rocessing)Appletかと思いますのでキャメル記法なら"MyPApplet"のほうが適切かと思います。

投稿2016/01/13 16:29

kurogomapurin

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「See the Javadoc for PApplet for an explanation. 」と、記載されている通り、PAppletクラスのJavaDocを確認したほうが良いかと思いますよ!

https://www.youtube.com/watch?v=0cqSjyvA8EY

投稿2016/01/13 16:11

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurogomapurin

2016/01/13 16:46 編集

(すみません、運営に届くものかと思い書いてしまいましたがあまり気にしないでください。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問