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

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

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

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

1453閲覧

ProcessingにおけるJavaBeansについて

luma

総合スコア183

Java

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2015/11/21 07:14

Processing3をつかってXMLEncoderを使おうと思ったんですけど…

Java

1 2import java.io.*; 3import java.net.*; 4import java.util.*; 5 6import java.beans.XMLEncoder; 7 8void setup(){ 9 export(); 10} 11 12void draw(){ 13} 14 15void export(){ 16 try{ 17 XMLEncoder e = new XMLEncoder( 18 new BufferedOutputStream( 19 new FileOutputStream("Test.xml") 20 ) 21 ); 22 e.writeObject(new DataSet(100, "太郎")); 23 e.close(); 24 }catch(Exception e){} 25} 26 27public class DataSet { 28 private int score; 29 private String name; 30 31 public DataSet() { 32 score = 0; 33 name = "No Name"; 34 } 35 36 public DataSet(int score, String name) { 37 this.score = score; 38 this.name = name; 39 } 40 41 public void setScore(int i) { score = i; } 42 public int getScore() { return score; } 43 public void setName(String s) { name = s; } 44 public String getName() { return name; } 45}

このようなプログラムで簡単なテストをしてみたんですけど、

Error

1java.lang.InstantiationException: sketch_151115c$DataSet 2Continuing ... 3java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(sketch_151115c$DataSet); 4Continuing ...

スケッチ:sketch_151115c

このようなエラーが吐かれてしまいます。

InstantiationExceptionの説明を見てみたのですが、
ちゃんとデフォルトコンストラクタがあるクラスになっているので、
processingのPAppletの内クラスになっていることが原因かなーとか考えてるんですが…

Exportしてjavaファイルを見てみたのですが、
何も変わらないまま内部クラスになっていたので、
自分の知識ではわかりませんでした…

どなたか、ご助力願います…

一応、状況に応じてprocessingでコンパイルせずに、出てきたjavaファイルをEclipseでコンパイルすることも検討しておりますが、Eclipseで実行すると、
そもそも「java.lang.RuntimeException」を投げられてしまいます。

なので質問としては、
①processing3でXMLEncoderを使う方法があるか
②EclipseでPApplet(core.jar)をインポートすると、実行時に「java.lang.RuntimeException」が投げられるのを解決する方法

です…お願いします!

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

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

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

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

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

guest

回答1

0

自己解決

②の方法で一応解決、ということになりました。

DataSetクラスを外に出し、
例外に関しては、PAppletを以下のように走らせることで解決しました。

Java

1class MyClass extends PApplet{ 2 public static void main(String[] args){ 3 PApple.main(new String[] {MyClass.getClass().getSimpleName()}); 4 } 5}

携帯からうろ覚えで書いたのですが、多分あってると思います。(違ってたら直します...)

投稿2015/11/22 00:48

編集2015/11/22 00:49
luma

総合スコア183

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問