[mustang/Java SE 6] ..
253:デフォルトの名無しさん
06/12/29 01:36:56
ArrayList<Integer> list = {12, 34, 56};
みたいな初期化ができれば、配列の抽象化にこだわる必要はまったくなくなると思う。
コレクションのための配列構文も、[]のオーバーロードみたいなもんだし。
254:デフォルトの名無しさん
06/12/29 01:44:57
型推論っていうんだっけ?
List<Integer> list = {12,34,56};
は、コンパイルエラー?
255:デフォルトの名無しさん
06/12/29 03:26:09
デフォルトをつけるかどうかだよね。
自分は、それはコンパイルエラーでいいと思う。
256:デフォルトの名無しさん
06/12/29 03:28:09
要するにこんな感じのが欲しい。
URLリンク(d.hatena.ne.jp)
257:デフォルトの名無しさん
06/12/29 10:02:43
>>253
final list = ArrayList.of(1, 2, 3);
でよくね? >>250 に載ってる
・More factory methods for colllection classes
・Shorthand syntax for declaring local variables
のあわせ技で出来ると思うんだけど。
258:デフォルトの名無しさん
06/12/29 10:23:29
> More factory methods for colllection classes
問題は Map の factory method だよな、と思う。
259:デフォルトの名無しさん
06/12/29 10:32:38
List<Integer> list = Arrays.asList(1, 2, 3);
260:235
06/12/29 12:00:42
>>238
インスタンス使い回すっていうコンテナの構造上の問題は普通に意識するだろ。
マルチスレッド以前の問題だ。
Webアプリでスレッドを用いる必要があるのはデータのインポート&エクスポートぐらいだと思う。
重い処理をする間、ユーザーを待たせないっつー意味で。
261:デフォルトの名無しさん
06/12/30 13:25:27
java.ioとnioの親和性をもうちょっと頑張って欲しいな
262:デフォルトの名無しさん
06/12/31 02:02:39
親和性って具体的には?
263:デフォルトの名無しさん
06/12/31 02:41:17
Channelはデコレートパターン向きじゃないからね
Buffered*StreamみたいなのBuffer版アダプタを
標準で用意してくれるだけでも嬉しい
264:デフォルトの名無しさん
06/12/31 02:52:32
ああ、しかし、BufferedとByteBufferだと名前が似すぎて間違えるか
265:デフォルトの名無しさん
06/12/31 10:56:51
>>263
BufferedChannel みたいなものが欲しいって事?
ByteBuffer.wrap(new byte[1]); みたいな小さい ByteBuffer 作って
ちょこまか読み書きしてないなら大して必要とも思わないけど。
ってか、java.ioとの親和性とか関係ないような。
266:デフォルトの名無しさん
06/12/31 12:14:45
ByteBufferInputStreamとかStream側にあわせるアダプタだろ
267:デフォルトの名無しさん
06/12/31 13:16:45
> ByteBufferInputStream
要るか?
268:デフォルトの名無しさん
06/12/31 13:34:33
>>267
それが欲しければアプリの中で用意すれば?
ってレベルの需要だろうなぁ
269:デフォルトの名無しさん
06/12/31 13:34:34
場面によりけり。ダイレクトバッファ使ってる場合なら欲しい。
270:デフォルトの名無しさん
06/12/31 13:51:22
writeToメソッドみたいなのがBufferに欲しい
271:デフォルトの名無しさん
06/12/31 14:46:16
>>269
ダイレクトバッファ使ってても、
InputStream や OutputStream のデコレータだったらアドバンテージないんじゃ?
272:デフォルトの名無しさん
06/12/31 14:48:28
>>270
ByteBuffer#get(byte[]) とかあるけど。
273:デフォルトの名無しさん
06/12/31 14:50:18
>>272
それを言うなら ByteBuffer#put(byte[]) じゃないかと。
274:デフォルトの名無しさん
06/12/31 14:52:27
マップファイルを外部にゲロるのに便利そう writeTo
275:デフォルトの名無しさん
06/12/31 14:55:19
>>271
コンポーネント単位で見ればそれもありでは?
nioのが効率はいいんだから、
最適化が必要になった時にnioにあわせていけばいい。
276:デフォルトの名無しさん
06/12/31 14:56:41
便利に使いたいだけなら
NIOUtils.writeTo(WritableByteChannel, ByteBuffer)
みたいなユーティリティメソッドつくっときゃ良いだけのような。
277:デフォルトの名無しさん
06/12/31 15:01:08
>>275
いや、単純に無駄だよねって話。
中途半端にやるとクラスが汚くなるだけだし。
最適化が必要になりそうならアプリ側で入出力処理を抽象化しておきゃ良いんだし。
278:デフォルトの名無しさん
06/12/31 15:06:00
>>277
内部で Channel 使った ChannelInputStream とか ChannelOutputStream で最適化する時
read(ByteBuffer) とか write(ByteBuffer) があると便利なんだよ!
すげーアホ臭いな。そんだったら最初から Channel 使えば良いし。
279:デフォルトの名無しさん
06/12/31 15:07:05
> NIOUtils.writeTo(WritableByteChannel, ByteBuffer)
要るか?
280:デフォルトの名無しさん
06/12/31 15:07:07
ん?Servletにnioを適用するための記事とか普通に出回ってるが
281:デフォルトの名無しさん
07/01/05 02:17:08
6.0でCommons Modelerを使用してPOJOを登録したんだがjconsoleのmbeanタグ
で表示されないのは既出ですか?
282:デフォルトの名無しさん
07/01/10 21:20:03
DOMとコレクションフレームワークの親和性をあげてほしいなぁ。
283:デフォルトの名無しさん
07/01/11 01:52:34
Closure の人(?) が面白いアイデアを書いてる。
URLリンク(gafter.blogspot.com)
なんか、javac弄って遊ぶプロジェクトらしい?
URLリンク(ksl.dev.java.net)
URLリンク(blogs.sun.com)
>>224 の一番最後の人が property を試しに実装してみたらしい。
URLリンク(weblogs.java.net)
protperty 慎重派の人も居るらしい。
URLリンク(weblogs.java.net)
アプリ書く人と、ライブラリ(Swingコンポーネントとか)書く人の違いなんだろか?
284:デフォルトの名無しさん
07/01/11 19:27:09
propertyってどんな機能を指してるのかよくわかんないんだけど
object.x = "hoge" を object.setX(String str)
String str = object.x を object.getX()
にmappingする機能でおk?
ObjectPascal とかだと直接フィールドを参照するか、メソッドを指定するかとか出来るけど
そーゆー事も考えられてるのかな?
フィールド指定を可能にすることで無駄なsetter,getterの記述が不要になることが
propertyを導入する最大の利点だと考えてるのでそーゆーのが考慮されてないといまいちだなぁ
285:デフォルトの名無しさん
07/01/11 20:03:56
>>284
> propertyってどんな機能を指してるのかよくわかんないんだけど
それ自体も議論の対象っぽい。
getterやsetterの呼び出しのシンタックスシュガーだけじゃなくて
暗黙的なフィールドやgetterやsetterの宣言のシンタックスシュガーまで含んでたり。
例えば、public property int hoge; って書くと、暗黙のうちに
private int hoge;
public void setHoge(int h){ hoge = h; }
public int getHoge(){ return hoge; }
が自動生成されるとか。
java.lang.Class に getProperty みたいなメソッドを追加したいって人も居るし。
JavaBeans の場合は firePropertyChange よんだりも!ってのもあるかもしんないし。
他にも色々あるんじゃない?
>>283 で紹介されてる実装だと、property つけて宣言しないと
シンタックスシュガーでセッターゲッターにアクセスできなかったりする。
286:デフォルトの名無しさん
07/01/11 20:22:31
> フィールド指定を可能にすることで無駄なsetter,getterの記述が不要になることが
でも、これって 5文字ぐらい節約できるってだけなんだよねぇ……
287:デフォルトの名無しさん
07/01/11 22:05:40
>>286
いやいや違う、漏れが言いたいのは
//フィールドの定義
private int fieldX = 0;
//値をセットするときに必要な特殊処理
public void setX(int x){
this.fieldX=x;
this.logic();
}
//プロパティの定義でgetterはそのまま使って、setterはメソッドを使う
property int x read fieldX write setX;
イメージ的にはこんな感じ。ほぼObjectPascalなんだけどさ。
フィールドの定義は省略して、暗黙的に定義してくれるとなおよさげ。
288:デフォルトの名無しさん
07/01/11 22:43:37
>>287
その辺は どー転ぶかわかんない。property 自体却下される可能性もあるし。
とりあえず >>283 のプロトタイプだとできない。
> property int x read fieldX write setX;
この構文だと、Java では フィールド名と同じメソッド名付けられるから
fieldX って名前のフィールドに加えてメソッドまであったらどーすんだろ、とか
setX 以外の名前が指定できると、現在既にあって setX を期待してる
フレームワークが困りそうだなぁ、と思った。
289:デフォルトの名無しさん
07/01/12 23:43:12
URLリンク(jcp.org)
Eclipse FoundationがJCPメンバーとして参加することに
なったらしい。ちょっと前にEclipse代表のMike Milinkovichが
JSR277とJSR291の進行に激怒してたからなんかやるだろうなとは思ってたけど。
JSR291に反対票投じたRedhatも先月推進派に転じたみたいだし、さらに今度の
Eclipseの票も加えて1/16〜22にあるJSR291の投票をのりきりたいんだろうね。
290:デフォルトの名無しさん
07/01/16 01:46:34
>>287
setXxx、getXxxっていうのをプロパティとみなす仕様は変えれないと思うよ。
IDEのプロパティエディタやらJSPのELやら、既存のツールやライブラリが使えなくなる。
291:デフォルトの名無しさん
07/01/16 05:09:43
Java6の話はどこですればいいのかな?
292:デフォルトの名無しさん
07/01/16 19:56:31
>>291
現世代Javaの動向 1
スレリンク(tech板)l50
293:デフォルトの名無しさん
07/01/18 08:02:25
AjaxでハイブリッドP2P型を作成しようと思っているのですが、
これを作るにはJ2SE,J2EE,J2MEの内、どれが相応しいのでしょうか?
次世代Javaに詳しい方教えて下さい。
294:デフォルトの名無しさん
07/01/18 08:06:11
mustang で普通に起動した JVM に jconsole からアタッチできるようになったという
記事を見て jconsole を使おうとしたんだけど、起動後に "JConsole: Output" っていう
ウィンドウが開いて
java.lang.UnsatisfiedLinkError: no attach in java.library.path
というエラーが表示されるし、ローカルプロセスに接続しようとしても
「接続に失敗しました」となってしまいます。
うまく JVM にアタッチするにはどうしたらいいんでしょうか?
Windows XP, JDK 1.6.0 を使っています。
295:デフォルトの名無しさん
07/01/18 19:15:17
>>293
構成が今一良く分からない。Webサーバ+P2PでUIがブラウザなわけかい?
J2EEのServlet(Jettyあたり)を落としてきて、残りはSEでガリガリ書きなさいな。
296:293
07/01/19 07:57:58
>>295
P2Pでコミュニティとファイル共有システムを作って、ソフトウェアで提供しようとしているので、
中継ノードでピュアP2P型にするか、中央サーバーでハイブリッドP2P型にするかのどっちかになるのですが、
それぞれJ2SE,J2EE,J2MEのうち、何が相応しいのでしょうか?
教えて下さいませ。
297:デフォルトの名無しさん
07/01/19 10:32:49
>>296
まず、J2SE,J2EE,J2MEが何かぐらいは調べて置いたほうがいいだろ。
それとスレ違い。
298:デフォルトの名無しさん
07/01/19 15:30:45
JDK7 build06
URLリンク(download.java.net)
URLリンク(download.java.net)
個人的にはまだぱっとした新機能ないなぁ
299:デフォルトの名無しさん
07/01/19 20:33:11
Java6の役目はその機能ではなく、1.4.2を古いものとし、
Generics環境へのGOサインを導き出してくれることにある。
Java7もXML構文とか登場してまた汚れる(w)から
Java7のデビューはJava8のリリースからとなる。
300:デフォルトの名無しさん
07/01/19 23:12:57
Genericは結構なんだけど旧形式のコレクションも@deprecatedにしないで
共存させといて問題ないと思うのだが。これのせいで1.4からの移行が進みにくい。
301:デフォルトの名無しさん
07/01/19 23:15:09
5.1が出ないってことは、最近のJREはアーキの急遽対応がないんだな。
6は載らなかった機能が一杯あるから枝が付くとなんとなく思ってるが
302:デフォルトの名無しさん
07/01/20 01:27:40
6はおまけっぽいのがてんこもりだからね。
303:デフォルトの名無しさん
07/01/20 01:29:35
>>300
どういうこと?
304:デフォルトの名無しさん
07/01/20 01:55:04
普通に「互換性あれば簡単に乗り換えれるのに」って意味じゃないの?
305:デフォルトの名無しさん
07/01/20 02:22:19
コレクションは互換性のために残されたレガシーコレクションとはあるが
非推奨だなんて注釈もdocタグも無いはずなんだが。
306:デフォルトの名無しさん
07/01/20 02:28:02
> 6は載らなかった機能が一杯あるから枝が付くとなんとなく思ってるが
1.5.1 とか 1.6.1 とか出さないって言ってなかったっけ?
307:デフォルトの名無しさん
07/01/20 03:06:14
ああこれのことね。無視すればいいけど、うちは何も考えずに<Object>つけてるぞイミねぇ
注: ArrayListDemo.java の操作は、未チェックまたは安全ではありません。
注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
308:デフォルトの名無しさん
07/01/20 03:17:36
無視したいなら@SuppressWarnings("unchecked")でいいじゃん
309:デフォルトの名無しさん
07/01/20 06:46:59
>>307
<?>の方がよくねぇ?
310:デフォルトの名無しさん
07/01/20 13:18:36
例外にもジェネリクス対応して欲しいな。
型パラメータが付いたThrowableのサブクラスを作りたい。
例えば、
class IORuntimeException<IOException> extends RuntimeException{
}
のように定義して、
catch(IORuntimeException e){
throw e.getCause(); //<--IOExceptionをスロー
}
と使えると最高。
311:デフォルトの名無しさん
07/01/20 15:38:32
RuntimeExceptionが何故IOExceptionを投げるんだ・・・
312:デフォルトの名無しさん
07/01/20 15:49:49
IOExceptionをRuntimeExceptionでラップしたいんだろ。
313:デフォルトの名無しさん
07/01/20 16:06:04
>>310
Closure で例外を透過的に使うために、ってんで検討はされてるけど、
>>310 みたいな気持ち悪い奴じゃない。
314:デフォルトの名無しさん
07/01/20 16:31:14
Neal Gafter's blog
Thoughts about the future of the Java Programming Language.
URLリンク(gafter.blogspot.com)
315:310
07/01/21 01:49:23
キモくてスマン。
単純にチェック例外を実行時例外でラップしたいだけ。
例外にジェネリクスが使えると、色々面白そうだけど。
class Hoge<T>{
void piyo() throws WrapperException<T>{
...//色々
}
void fuga() throws T{
try{
piyo();
}cathc(ExceptionWrapper<T> e){
throw e.getCause();
}
}
}
316:デフォルトの名無しさん
07/01/21 02:15:50
> void piyo() throws WrapperException<T>
> }cathc(ExceptionWrapper<T> e){
……。
ってか、普通に考えて ExceptionWrapper<InvocationTargetException> と
ExceptionWrapper<IllegalAccessException> が実行時に同じクラスに
成り下がりそうで拙いよね……
まぁ、ある意味では「色々面白そう」だけど。
317:デフォルトの名無しさん
07/01/21 11:26:48
>>300
問題ないはずだけど
>>308
は旧式のライブラリとの境目で使う
事実上JPAでも必須だけど
>>309
明示的にするなら<Object>のほうがいいとおもう
ただ、これを使ってる時点でGenericsの恩恵ゼロだけどね
従来のライブラリ葉変更せずに使う場合>>308を接合部分につかってラッピングするべし
318:デフォルトの名無しさん
07/01/23 10:31:36
突然だけど将来的にSEとEEにApache FOPも追加してくれんかな?
そうすると標準ライブラリだけでXML何でもあり状態で便利なんだが。
EEは需要ありそうだが・・・
ただでさえjdk6は標準ライブラリだけで近代的なブラウザが書ける奇抜な言語だぜw
319:デフォルトの名無しさん
07/01/23 15:43:59
安藤幸央のランダウン[32]
Java SE 6へ移行する理由と移行をとどまる5つの理由
URLリンク(www.atmarkit.co.jp)
320:デフォルトの名無しさん
07/01/23 18:04:30
>>319
Itanium 1、2がサポートされなくなったのか。
Itanium おしまいだな。
321:デフォルトの名無しさん
07/01/23 21:53:16
>>319
なんか、細かいミスというか認識不足が多すぎる気がするよ。
Java SE 7は、もうDolphinとは呼ばれてないはずだし。
322:デフォルトの名無しさん
07/01/23 21:59:45
というか、JDKとJava2SE/JavaSEが混同されすぎ。
323:デフォルトの名無しさん
07/01/24 18:06:01
>>319
正式リリースされている 6系の話題は、現行スレでお願いします。
324:デフォルトの名無しさん
07/01/24 19:59:04
java.comがjre6を頒布するのはいつごろの予定なの?
325:デフォルトの名無しさん
07/02/02 17:04:58
JDK7 build07
URLリンク(download.java.net)
URLリンク(download.java.net)
やはりまだnew featureよりバグフィックスが目立つ
326:デフォルトの名無しさん
07/02/02 18:15:15
>>322
いまならJava SE
JDKは開発キットだからな(JREに対しての)
327:デフォルトの名無しさん
07/02/02 18:16:33
>>319
> 1.3.1以前のバージョンはEnd of Life、サポート終了の扱いです。
なるほど。古いことは気にしなくて良いとは
気が楽だ
法務省のJavaアプリが古いJVMに
しか対応していなかった問題も解決されると願う
328:デフォルトの名無しさん
07/02/02 19:20:14
1.4も1.4.2までいったから多少長かったけど、今からだとサポート期間短いよね
2世代前のものだから当たり前だが
329:デフォルトの名無しさん
07/02/03 08:40:58
>>327
MOJ乙
330:デフォルトの名無しさん
07/02/08 21:18:56
Closures for the Java Programming Language (v0.5)
URLリンク(www.javac.info)
{int,int=>int} plus = {int x, int y => x+y};
うーん、もすこしメソッドと同じような文法にならなかったのかな・・・
331:デフォルトの名無しさん
07/02/09 02:06:03
>>330
新しいのは
・nominal version が消えた。
・ユーザ定義のループ定義が草案入り。
ぐらいか。
より良い構文を考え付いたなら、
そっち方面の人のブログにでもコメントしとけば?
332:デフォルトの名無しさん
07/02/09 02:06:58
>>329
MOJ?
何それ?
333:デフォルトの名無しさん
07/02/09 09:01:30
ぐぐると一番最初にくる省庁の英語略称
そこの担当者
334:デフォルトの名無しさん
07/02/10 14:59:27
Java++
335:デフォルトの名無しさん
07/02/11 20:39:31
Java#
336:デフォルトの名無しさん
07/02/12 01:18:02
=>
ってどっかで見たことあるような
337:デフォルトの名無しさん
07/02/12 03:26:06
PerlやPHPのハッシュに使う演算子だろ。
338:デフォルトの名無しさん
07/02/12 07:48:17
Java2.0
339:デフォルトの名無しさん
07/02/12 13:04:01
>>338
それはもう古いぞ
340:デフォルトの名無しさん
07/02/12 13:24:02
JavaX
341:デフォルトの名無しさん
07/02/12 13:42:03
>>338-339
ワラタ
342:デフォルトの名無しさん
07/02/12 14:25:37
>>340
それはjavax.rmiみたいなパッケージとして存在するし
>>338
今はJava 6 の時代だろ
343:デフォルトの名無しさん
07/02/12 14:33:13
>>340
JBuilder Xを連想した。
344:デフォルトの名無しさん
07/02/12 15:56:36
JavaOSX?
345:デフォルトの名無しさん
07/02/12 17:26:37
Java Vista
346:デフォルトの名無しさん
07/02/12 17:58:03
JavaMillenniumEdition
347:デフォルトの名無しさん
07/02/12 18:33:41
Javaって、いつからOSになったんだ?
348:デフォルトの名無しさん
07/02/12 18:34:34
JNodeから
349:デフォルトの名無しさん
07/02/12 18:35:56
Japan Vistaと
Java MEみたいだ
350:デフォルトの名無しさん
07/02/12 20:05:48
JavaMX
351:デフォルトの名無しさん
07/02/12 21:06:04
JMXみてえじゃねえか
(Java Management Extension)
352:デフォルトの名無しさん
07/02/13 05:36:14
Java侍
353:デフォルトの名無しさん
07/02/13 15:41:53
ooの画面ってJavaみたいに見えるし、
実行はネイティブみたいだし、
あれはどういうテクノロジーなんでしょうか?
354:デフォルトの名無しさん
07/02/13 23:17:23
oo?OOoか?
eclipseもOOoもネイティブな実行ファイルはただのダブルクリッカブルじゃなかった?
355:デフォルトの名無しさん
07/02/14 01:53:19
>>353
Swingのように自前でUIコントロールを描画しているのかねぇ?(謎
356:353
07/02/14 08:42:19
>ネイティブな実行ファイルはただのダブルクリッカブル
ダブルクリッカブルって何ですか?
OOoはクロスGUIを使ってるからモッサリなんじゃないですか???
モッサリでも良いからクロスGUI欲しいお。
357:デフォルトの名無しさん
07/02/14 08:53:48
ググレカス
URLリンク(api.openoffice.org)
358:デフォルトの名無しさん
07/02/14 10:40:15
>>357
(><;) なんにもわかんないんです!><
/つと ノ
しー-J
359:デフォルトの名無しさん
07/02/14 13:57:37
>>356
クロスGUIつーかSwingのLnFが何やってるか知ってるか?
360:デフォルトの名無しさん
07/02/14 14:12:15
(><;) Swingを使った事はありますがLnFわかんないんです!
/つと ノ
しー-J
361:デフォルトの名無しさん
07/02/14 14:28:01
>>353
あれはC++だろ。
362:デフォルトの名無しさん
07/02/14 14:28:44
>>356
普通に考えて
Double Click + able
ダブルクリック可能って意味になるだろ
363:デフォルトの名無しさん
07/02/14 14:30:45
>>360
URLリンク(e-words.jp)
Wikipedia項目リンク
364:353
07/02/14 14:47:38
Java2より前のSwingしか使った事無いのですが、
今のSwingってXMLのスキンとかいうやつですか?
そのUIから、実行ファイルみたいなのをキック?
それともJNIコール?
365:デフォルトの名無しさん
07/02/14 15:03:35
>>364
言ってる意味がわからないが
勝手に言ってることを予測して答えてみる。
今のSwingは性能が良い。
スキン変更はJavaプログラムで可能。
そのためWinXPのルナスキンを利用可能。ただしこれはWin
意外のOSで使うと著作権侵害になるのでWinのとき専用。
MacのときはMacのスキンも使える。
よって見た目は綺麗。XAMLやCAMLやXULみたいな、
XMLでスキンを変えられるかどうかということについてはよく知らない。
キック? については、これも推測すると。
恐らく、Java Web Startの事を言っているのかと推測。
SwingアプリをJava Web Startに対応させるには、拡張子がjnlpという
XMLファイルを作って、そこの決められたフォーマットでSwingアプリの
main()メソッドがあるクラスへのリンクや
バージョン情報、必要なJREのバージョンなどを記述する。
すると、ブラウザ上で拡張子jnlpファイルを見つけると、まさにキックされ、
MIMEタイプを確認し、JREが入っているかどうかを確認し、バージョンチェックされ、
Java Web Startが起動し、Swingアプリのバージョンをチェックされ
Swingアプリが起動し実行される。
Java Web Startは、JNIは一切関係が無い。
366:353
07/02/14 15:09:13
OOoのような画面をクロス環境(Win、MAC、Linux)で使いたかったらどうすれば良いのでしょうか?
で、処理部分はC++を使いたいです。
367:デフォルトの名無しさん
07/02/14 15:10:08
Java2より前ってことはオプショナルパッケージのころか
そのときの知ってる人はもう少ないな
あの当時とはもはや別物だと思っていい
WebStartは今はデスクトップやプログラムメニューなどのショートカットに対応
つまり2回目からはブラウザの起動すら必要はない
そしてプログラムの追加と削除でもアンインストールができるようになってる
もちろん今までどおりコントロールパネルのJavaキャッシュからの削除なども出来る
368:デフォルトの名無しさん
07/02/14 15:18:38
OooでJavaを使うのは、文書にJavaアプレットを埋めたりするくらいじゃな
かったか?
もしかしてMetalでない各プラットフォームで固有LnFにしたいってだけの
話なら、
String sysLnfClassName = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(sysLnfClassName);
369:353
07/02/14 15:23:15
いや、Java側から考えるのでなくて、
C++のコードがあるのですが、
GUI部分を1つ定義してWin、MAC、Linux全対応したいです。
そのときにC++側からSwing画面を開けるのかなー?、と。
370:デフォルトの名無しさん
07/02/14 15:26:58
JNIはC++ APIもあって、データのやりとりも出来るので、
GUIをSwingで作って、エントリとなるメソッドをC++から
キックすればOK。
371:デフォルトの名無しさん
07/02/14 15:39:37
>>364
Java2以前ってことはSwingというよりJFC?
XMLスキンは、恐らくSynthLookAndFeel
>>353
やりたいのは、NeoOfficeのやってることだな
GUI描画部分を、Javaにやらせるという
372:353
07/02/14 15:43:18
MACでもJNIを簡単に作れますか?
373:353
07/02/14 15:45:00
NeoOffice見ましたが、MACのみ。
クロスGUIとして使われてるわけじゃないんだ?
374:デフォルトの名無しさん
07/02/14 16:34:17
MacOSXにおいてJavaは標準サポートされてるし、JNI関係のヘッダもツールも
ある。C++コンパイラはg++。
製品バンドル版OSXなら一緒にg++を含んだ開発環境(Xcode)メディアも付いて
くるし、無料でダウンロードも出来る。Java環境の最新バージョンは1.6.0。
antも入ってる。
375:353
07/02/14 16:42:45
じゃ、Javaで画面作って、C++コードはg++でコンパイルすれば宵ってことかぁ。
”Java&C++”の開発効率がちょっぴり不安。
376:デフォルトの名無しさん
07/02/14 17:04:19
>>366
Swingの勉強をする。
377:デフォルトの名無しさん
07/02/14 17:35:14
>>375
俺はやったけど、両方わかってりゃ大した事は無かった。
つーても、やっぱc++からjavaオブジェクトを返すのにJNIEnvを使う部分があるんで、そこはちょっと効率悪いかな。
あとJNI部分のデバッグが面倒なんで、c++でロジック書いてJNIで薄くラップしてやる感じ。
java側は、ちゃんとMVCに分けて、DAOをしっかり分離してやりゃOK。
テスト用DAOに差し替えて開発して、最終的にJNIを使ったDAOでテストする。
まー規模にもよるだろうが。
378:353
07/02/14 17:38:49
サンクツ>>377
DLLコールと比べて、さらに効率悪いのかなぁ?
出来上がったアプリはやっぱりモッサリ?
379:デフォルトの名無しさん
07/02/14 17:51:13
次世代Javaの動向と関係ない話題は他所いってやれ。
380:デフォルトの名無しさん
07/02/14 17:53:03
次世代Java=C++と連携
ですが、何か?
381:デフォルトの名無しさん
07/02/14 17:54:42
ところで、次世代Javaというか有力候補のウィンドウライブラリって何?
Swingって落ち目な感じ?
382:デフォルトの名無しさん
07/02/14 18:03:33
Swingは1.4以降実用レベルになってしまったから、
SWTとかの代替候補の立場が微妙になってるのが現状じゃね?
383:デフォルトの名無しさん
07/02/14 18:12:19
あ、SWTが落ち目なんだ知らなかった。
知らないうちに勢力図が変わるんですね。
それと、デファクトだったEclipseがS∪∩の開発環境(何だっけ?)に負けたんでしたっけ?
384:デフォルトの名無しさん
07/02/14 18:20:25
其処までは行ってない。
むしろ、SWTの活躍の場は、eclipseしかない、という感じ。
Netbeansは、Jackpotがどうなるか、か?
誘導
Java 高速GUI SWT 3
スレリンク(tech板)
Java低速GUI Swing 5
スレリンク(tech板)
【Java】NetBeans Part2【Sun】
スレリンク(tech板)
385:デフォルトの名無しさん
07/02/14 18:27:26
オライリーだっけ
去年の勝ち組負け組みでEclipseを最初負け組みと書いて後で消したの
一番使われてるのに負け組みはおかしいといわれたそうだが
386:デフォルトの名無しさん
07/02/14 18:41:27
ふ〜ん
じゃぁ、NetBeansとSwing使っとけば問題無いか。
Windows上だとちょっぴりモタツクだろうけど。
でも、モッサリドトネト(流行ってないくせにWinForms、WPFと2つあって最悪)よりかはましか。
387:デフォルトの名無しさん
07/02/14 18:42:36
ごめん、もう一つ教えて。
NetBeansがEclipseをやっつけたってことは、
JBuilderとかは無用の長物?
388:デフォルトの名無しさん
07/02/14 18:50:15
ごめん、さらにもう一つだけ教えて下さい。
以前のSwingではレイアウトマネージャのおかげで、
思ったように画面作り難かったのですが、
今のSwingはポトペタしやすいですか?
389:デフォルトの名無しさん
07/02/14 18:59:48
>>388
NetBeans(の5以降で導入されたMatisseというデザイナ)を使うと無茶苦茶ポトペタしやすい。
と、漏れは個人的には思っている。
390:デフォルトの名無しさん
07/02/14 19:11:20
>>380
JNI なんぞは、1.1 の頃には既にあったわけなんだが……
誘導
★お前らJavaはJNIで組もうぜ★
スレリンク(tech板)
391:デフォルトの名無しさん
07/02/14 19:14:29
>>388
個人的には、GUIポトペタ(←(・∀・)イイ!!)は、Netbeans。
ロジック書き書きは、eclipse。
両方使ってるよ。
NetbeansのSubversionプラグインは使いにくいし。
392:デフォルトの名無しさん
07/02/14 19:24:34
じゃ、Netbeans使います。
CVSはWinCVS(←もしかしてサイアク?)使ってるんで。
JNIもふつーに使われてますか?
393:デフォルトの名無しさん
07/02/14 19:27:48
誘導
【Java】NetBeans Part2【Sun】
スレリンク(tech板)
394:デフォルトの名無しさん
07/02/14 19:57:46
名前のないメソッドつくろうぜ。例えば、
public class ArrayList<E> {
public nameless E (int index) { return get(i); }
//その他省略
}
のように書いて
String s = list(2); //listはArrayListのインスタンス
みたいにインスタンス名(引数)の形で呼び出す。
他にも、Mapなら
public nameless E (K key);と書いて
String s = map("key0");とか、
さらに、オーバーロード可能にすれば他にも使い方ができそうだ。
395:デフォルトの名無しさん
07/02/14 20:06:55
>>394
じゃあ標準出力はSystem("%d%d", 100, 200);でOK?
396:デフォルトの名無しさん
07/02/14 20:18:36
関数呼び出しのときの表現を変えるのをアノテーションで定義するのはどうだろう
@Alias(value = "ltgt" , type = "literal")//自作リテラル(ここでは<>)
@Alias(value = "plus_equal" , type = "operator")//演算子オーバーロード
これで実装するなら>>394は
@Alias("nameless")
ってとこか
んで、呼び出す対象のフィールドの宣言時も@AliasUsingをつける。
まぁ設計がまずいのに無理やり使わされるのもあれだしね。
397:デフォルトの名無しさん
07/02/14 21:33:06
> それと、デファクトだったEclipseがS∪∩の開発環境(何だっけ?)に負けたんでしたっけ?
その文字を見たら昔のSunのCMを思い出した。
398:デフォルトの名無しさん
07/02/14 21:45:16
396だけど、だめだな。
細かい仕様を定義しようとすると複雑になるし、いかに丁寧に仕組みを作っても雑に使われたら困るもんな。
よく使われるやつだけ今のString型みたいにして、アノテーションで限定解除するだけでいいか。
399:デフォルトの名無しさん
07/02/14 22:40:43
>>394
>>396
次世代Javaの動向をヲチるスレであって、
勝手な妄想繰り広げるスレじゃないから。
400:デフォルトの名無しさん
07/02/14 22:48:56
>>394
C# の Indexerっぽい奴なら、>>249 とか >>250 とかで既に出てるけど。
演算子オーバーロード関連なら、他にも >>283 の一番上のリンクとかもあったし。
401:ネカマ由紀恵
07/02/14 23:05:20
Groovy でやっていることは
入れなくても良いんじゃ・・?
402:デフォルトの名無しさん
07/02/14 23:23:43
ていうか今時中身の処理が遅いからJNIなんてのは無いな。
特殊なデバイス叩かん限りpureJavaでいける。
実行速度なんて5.0 6.0で激変したしSwingも1.3→1.4以上でまともになったし。
joy pad使うとかしかJNIの存在理由が見当たらん・・・。
ここら辺は成熟してきたからこれ以上はOpenGLドライバの成熟待ちだろ。ATIもnVidiaも最近のドライバはOpenGLが糞。
そのせいで6.0でもsun.java2d.openglプロパティが使い物にならない。
Java側はドライバの対応を待つしかないからベンダと連携とって行くって言ってるし。
俺はあまり言語仕様を動的にするのには興味ないな。
仕様が複雑化してきてるし当初の仕様ポリシーから外れてきてる気がする。
個人的には値渡しの出来る構造体が欲しいかな。
一々データクラス定義してインスタンス化するのがちょっと・・・
403:デフォルトの名無しさん
07/02/15 00:06:36
>>402
public type Hoge{
String hoge;
int piyo;
}
見たいな感じかな。でも予約語が・・・
JavaBeanを簡単に生成できるシンタックスシュガーが欲しいね。
404:デフォルトの名無しさん
07/02/15 00:36:38
>>402
そこで、エスケープ解析によるオブジェクトのスタック割り付けですよ。
405:デフォルトの名無しさん
07/02/15 01:23:08
>>391
NetBeansのSubversionは動作がよくおかしくなる
というかAntとかもおかしい気がする
JDKを5.0にすると安定するから6のVMバグかも
>>392
CVSだったらNetBeans標準装備なんでそれ使えば楽
>>402
Swingは速度が目立つけど、実際は1.3で実用になるようなAPIが多数追加されて
5.0で目立つようなのが追加されていたりする
6も5.0と同じくsun.java2d.opengl使い物にならないね
JOGL自体は安定してるんだがGLJPanelのほうがイマイチなのもなおらねぇ
というかベータ時代はOpenGL有効にして動いてたような気がするのが気になる
406:デフォルトの名無しさん
07/02/15 01:34:56
>>400
その下の奴って構文解析できるのか?
class hoge{}
class A {
public static Object method(int arg){ return null; }
public static int (int lh)method(int rh){ return lh + rh; }
public static void main(String[] args){
int hoge = 0;
(hoge)method(10);
}
}
とかされたら面倒なよーな気がする。
407:デフォルトの名無しさん
07/02/15 07:18:52
>>399
昔は希望を書きまくっていた気もするが?
408:デフォルトの名無しさん
07/02/15 08:40:38
>>402
遅いからJNIするんじゃなくて、Win用C++コードをMACに移すためにJNI検討中なんです。
CocoaとかいうやつはObjective-Cだったりして困るし。
409:デフォルトの名無しさん
07/02/15 08:51:30
>>407
希望なら言語仕様作ってる人達に見える形でで出した方が通りやすいよ。
ksl とかあるんだし。
URLリンク(ksl.dev.java.net)
410:デフォルトの名無しさん
07/02/15 08:56:41
>>406
int Integer = 1;
System.out.println( (Integer)+10 );
とかと同じ扱いにすりゃ良いんじゃないかと思ったけど……
参照型へのキャストは 単項+ とか 単項- ついたらいかんのか。
つまり Integer って変数が宣言されてないときに
System.out.println( (Integer)+10 );
がコンパイルエラーになるから参考にならんと。むぅ。
411:デフォルトの名無しさん
07/02/15 17:24:26
>>399
ヲチりながら、愚痴るんじゃないの?
412:402
07/02/15 17:43:18
>>405
リペイントマネージャ乗っ取って全コンポーネントダーティーだと認識させればユーザーの操作に応じて常にスケーラブルでアジャスタブルなウェジェット組めるが流石にまだ重いだろうなw
>ベータ時代は・・・
URLリンク(bugs.sun.com)
これの応急処置だと思う。
JDialogに限らずOpenGL使ったコンポーネントが破壊される。
描画領域の破壊は-Dsun.java2d.opengl.fbobject=falseを指定すれば回避できるが・・・
FBO周り以外もバグがあるみたいでどうも-Dsun.java2d.opengl.fbobjectに関係なく-Dsun.java2d.opengl使った処理自体まずいみたい。
nVidiaのリグレッションバグなんだがOpenGL有効にしたらグラボ自体が不安定になって最悪システムクラッシュする。
グラボのドライバって既存アプリの描画に影響を与えるしな。リグレッションバグならそうそう戻す訳にはいかんだろうし。
>>408
結局JNI噛ます共有ライブラリ部分はネイティブなんだからリビルドするだろ?
てかwinのライブラリをmacで使おうって発想もな。
JNIにしたってネイティブ部分はプラットフォーム毎に用意するんだし。
J2MEはそれでカオスってるw
413:デフォルトの名無しさん
07/02/15 18:05:37
C++のコードをJavaに移植するほうが早そうだな
414:デフォルトの名無しさん
07/02/15 19:04:29
>>413ロジックのみならね。
Mac→WinだとMacしかないアプリのDLL使ったりして移植ゼロか、
Win→だとGUI周り以外はそうgdgdにならない?
415:デフォルトの名無しさん
07/02/15 19:11:21
あーJ2MEはJSR118-MR2からOpenGL実装したので専用チップ要求して更にカオスw
MIDP2.1はハードウェアサポートが強化されてるしウェジェットも地味に強化(新たに取り込まれたオプションパッケージが目立つ)してSEのノウハウもフィードバックされて結構良いんだが・・・
416:デフォルトの名無しさん
07/02/16 17:45:58
>>402
OpenGLといえばJava3Dを思い出した。
あちらも気が付けば大きな進展があるようだ。
JavaからOpenGLのライブラリを使えるようにするというやつ。
プラットフォーム非依存と呼ばれているJavaも3Dとなると
そうもいかないケースがあるものだが、
今後のJava3Dは古臭い時代遅れなビデオカードでは動かなく
なるか、(AWTのようにOS依存する)劣化表示
or
(Java2Dを使用したSwingのように)超低速表示されることになるんだろうか。
417:デフォルトの名無しさん
07/02/16 17:48:15
>>405
> >>391
> NetBeansのSubversionは動作がよくおかしくなる
> というかAntとかもおかしい気がする
> JDKを5.0にすると安定するから6のVMバグかも
EclipseでJava SE 6でAntを使っているがとくに問題ない。
おかしいってどんなエラーがでるのかね。
Subversionは不安なら、TortoiseSVNでコミットしてみるのはどうだろう。
> >>392
> CVSだったらNetBeans標準装備なんでそれ使えば楽
Eclipseと同じだな。しかしSubversion使ったらもうCVSには戻れない。
それだけ使い勝手が良いから。
418:デフォルトの名無しさん
07/02/16 20:23:44
そろそろ
MFCのようにSwingをラップしたGUIフレームワークが標準でJDKに入らないかな
419:デフォルトの名無しさん
07/02/16 21:14:44
JSR 296: Swing Application Framework
URLリンク(jcp.org)
これどうなるかねぇ。
420:デフォルトの名無しさん
07/02/16 21:17:41
>>416
JavaからOpenGL使うのはJOGL
去年1.0でたばっかりなのでこれからだと思うがOpenGL2.0がそのままラッピングされている
結果SWTのように汚いけど、これはCのコードのラップだからこれはこれでいいだろう
結果staticImportと相性がいい
まぁJOGLはSwingとは直接関係ないけど
>>417
Java6はVMがバグってるので演算結果がたまにおかしくなるというひどいバグがある
次のupdateでなおってるはずだけど最適化のバグっぽい
まぁ5.0とは別次元の速度になってるんでこんなにVMに手を入れていいのだろうかと思ったけど
予想通りVMのコアにバグいれるとは
はじめてオープンソースになった成果がこれってひどすぎ
つまりsubversionだけじゃなくてNetBeans自体が不安定になる>JDK6
それにトータスは使い物にならないよ
バージョン管理ツーつってのはIDEと統合されてナンボだから
>>418
Swingの時点でMFC以上にラッピングされてるのだが
421:デフォルトの名無しさん
07/02/16 21:21:08
Swing Application Frameworkのプロトタイプ実装らしい。
URLリンク(appframework.dev.java.net)
見てみよっと。
422:デフォルトの名無しさん
07/02/16 21:55:57
SwingのラッパーはGroovyやRhinoから使うの便利そうだな
423:デフォルトの名無しさん
07/02/16 21:58:35
>>420
URLリンク(d.hatena.ne.jp) で話題になってた
URLリンク(bugs.sun.com) か?
J2SE 1.4.0 のときも、コードによっては 1.3.1 より遅くなって処理完了まで
2倍時間かかったり、とかあったしなぁ。個人的にはいつもの事だと思うんだけど。
ってか、JDK6 は既に現行世代だと何度言えば……
424:デフォルトの名無しさん
07/02/16 22:20:15
>>421
SessionStorage.WindowState って最大化状態サポートせんのか? と思って
users@appframework.dev.java.net に検索かけたら
URLリンク(appframework.dev.java.net)
で、最大化状態は保持してるみたい?
最大化した状態で close(exit)した場合、最大化解除した状態のサイズは持ってないって事かな?
425:デフォルトの名無しさん
07/02/16 22:30:55
>>424
最大化解除したサイズって、どっかのメソッドで取れたっけか?
常に Frame のサイズ保存しておきながら WindowEvent おっかけて、
Frame#getExtendedState が MAXIMIZED になったら、
直前のサイズを最大化解除したサイズとして保存するとか、
Windows と他の OS で最大化する時の WindowEvent の届き方が違うので
面倒くさくて Windows だけしか対応しないとか、そんな記憶が……
426:デフォルトの名無しさん
07/02/16 22:44:31
>>423
いつものことの上、
修正コードが手早く手にはいるようになっただけで
大助かりですよね。
うまく動かなくなるバグなんて、1.4の頃ですが
GC周り突っつけばすぐ出てきましたよ。
バグ報告しても、US SUNまで訴えても直らないバグがあったりしたもんです。
直るにしても、次のリリースまで待たなきゃ駄目だしね。
427:デフォルトの名無しさん
07/02/16 22:55:57
とはいえ今はJDK7で自分で治せて配布できるようになったのは大きいかも
428:デフォルトの名無しさん
07/02/17 00:06:11
>>420
んなの初めて聞いた。バグ修正もてえへんだろうなあ。
TortoiseSVNは結構良いと思うけどなあ。ファイルの移動を
するときもわざわざ右クリックでめんどいことしないといけないけどさ。
429:デフォルトの名無しさん
07/02/17 00:10:08
>>427
直すのかなり難解だと思うが・・・。
Swingが新しくなるということは、SWTやM$のGUIよりも使い勝手がよいAPIを
作れるのだろうか。
430:デフォルトの名無しさん
07/02/17 00:11:12
そもそも新しくなるの?
431:デフォルトの名無しさん
07/02/17 00:18:35
NetBeansのSubversionは修正がされているかどうかがわざわざ再表示押さないと反映されないのがカス
コミットする前に最新状態取得しないとだめってあふぉか
CVSクライアントのほうは問題なし
というかSubversionはCVSのように自前で実装してないからなぁ
CVSモジュールに依存してるし
NetBeans3.6だったかあの時代のCVSサポート並のへっぽこさ
だから標準実装されてないのだろうね
432:デフォルトの名無しさん
07/02/17 01:02:26
>>424
> で、最大化状態は保持してるみたい?
保持してないんじゃね?単に最大化したbounds持ってるだけで。
ってか、WindowStateだしな。getExtendedState使えるのFrameだし……
433:デフォルトの名無しさん
07/02/17 02:32:28
>>431
SVNはCVSにそんなに依存していたっけか。
434:デフォルトの名無しさん
07/02/17 08:40:54
>>433
NetBeansのsubversionモジュールはCVSモジュールに依存している
435:デフォルトの名無しさん
07/02/17 19:04:07
SE 6てOSSにしてからコードの提供あったの?
6で異常な進化遂げてるし、ないならないでただのコミニュティー潰しにしか見えん。
あの超進化マジックは何?
ヒープの割当・インクリメンタルGCのアルゴリズム変更だけであそこまで変わるとは思えん。
#まあ日本じゃ未だに1.4.2主流だしse7も迷走中だけど。
そろそろstaxとrhinoが使われだしても良いと思うんだ・・・
436:デフォルトの名無しさん
07/02/17 19:13:41
>>434
なんだ、そういうことか。
CVS嫌いなSubversion開発者は自分のSVN開発を批判する者に
対してかなり起こっていたからな。
「すでにCVSがあるのに、なんで独自に開発するんだ?」と質問された
ことについてもう反論していた気がする。
437:デフォルトの名無しさん
07/02/17 20:01:54
>>435
インクリメンタルGCの変化あったの?
5.0のときにトレインアルゴリズムつかわなくなってコンカレントGCになったけど
またかわったの?
速度は強度の最適化がクライアントVMでかかってるのがわかる。
演算系でサーバーVMとほぼ同じ速度が出たのはわらえた。
だからサーバーVM同梱してないのだなと。
438:デフォルトの名無しさん
07/02/18 18:07:24
レジスタ割付アルゴリズムが Linear Scan Register Allocation
とかいうものに変更されたとは聞いているが、そんなに効果があったのかー
Linear Scan Register Allocation
URLリンク(www.research.ibm.com)
439:デフォルトの名無しさん
07/02/18 19:25:03
従来のバイナリをいじらずおおむね2、30%速度向上してるんだよね
440:デフォルトの名無しさん
07/02/19 12:35:31
そろそろABAPみたいにSQLをネイティブに書けるようになると思うんだ。
441:デフォルトの名無しさん
07/02/19 12:59:36
>>437
インクリメンタルGCが、コンカレントGCに置き換えられたのは6からじゃなかったっけ?
5の段階では、Xinc使うなって言われてて・・・・
何か自信ないけど、パフォーマンスアップは、GCだけじゃないってのは賛成。
むしろ、Hotspot系だと思うな。
エスケープ分析効いてないかな?
というか、JDK7で盛り込むJVMの改良ってどっかで話題になってる?
JVMの機能強化ってJCPに乗らないと思うし・・・
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5369日前に更新/271 KB
担当:undef