★★Java質問・相談スレッド133★★at TECH
★★Java質問・相談スレッド133★★ - 暇つぶし2ch369:365
09/10/24 06:52:33
>>367
誰。。。

>>366
レスありがとうございます。
すいません、言葉足らずでした、セッターは各項目ごとにほしいです。
というのはstrutsを使用して画面の入力項目をstrutsのxmlにbeanとマッピングして定義通りsetする為です。
1つにまとめてしまうと難しい気がします。

なので自分の個人的な思いが2つあってどっちかできたらと思っているのですが
①beanの親クラス的なものがあって各セッターの中でセットする前に対象のメソッドを呼ぶとかできるか
②beanのセットが終わったビーンをあるメソッド(スペース除去処理メソッドなど)にビーンごと引数で渡して、そのビーンに
入っている値をループして処理を行うことができたらなー

と思ってます。。こんなことできるのか。。というのはあります、、。

>>367
すいません、こちらも言葉足らずでした。
以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
ことがあります。その為、beanで対応しようとするとセッターでの対応になります。



370:デフォルトの名無しさん
09/10/24 08:34:58
>>369
あなたのいうBeanの定義は何?
データを一時的に保存するデータクラスのこと?
それともStrutsとかでフォーム値がはいってくるようなクラスのこと?

>beanの親クラス
サブクラスでの振る舞いをスーパークラスで定義するのは無理
できてもかなりイビツ

スペースが入ってくるのは解った
それ以降はスペースが不要なのか、必要なケースはあるのか?
不要ならばsetterで削ればいい、必要ならば「不要な場合に」削るユーティリティを使うべき

>以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
イミフ

371:デフォルトの名無しさん
09/10/24 08:36:42
あと元の値も欲しいならこうすべきかね
String getXyz() {
return this.xyz == null ? null : this.xyz.trim();
}
String getRawXyz() {
return this.xyz;
}

372:デフォルトの名無しさん
09/10/24 19:12:04
素朴な疑問なのですが
FileNotFoundExceptionが発生した場合、close()をする必要はあるのでしょうか

373:デフォルトの名無しさん
09/10/24 19:19:22
何をcloseしたいの?

374:デフォルトの名無しさん
09/10/24 19:24:43
>>373
FileInputStreamオブジェクトを作る時にFileNotFoundExceptionが発生するので

375:デフォルトの名無しさん
09/10/24 19:31:15
普通の使い方してるんであればいらない。
そもそもファイルをオープンできてないわけだから。
でもclose呼んでもかまわない。

376:デフォルトの名無しさん
09/10/24 19:38:19
>>375
なるほど、ありがとうございます

377:デフォルトの名無しさん
09/10/24 19:40:09
Java 3Dの1.5.1 APIあるいは1.4.0_01 APIのインストール時に
インストールフォルダを指定することは可能でしょうか?
1.3.1 APIは指定出来るのですが、上の2つはなぜか指定画面が出てこないんです。

378:デフォルトの名無しさん
09/10/24 19:57:55
>>374
まてまて、その場合はfinallyでcloseするんだからFileがないかどうかなんて普通はチェックしない
そもそも、まともなアプリなら先にファイルの有無くらい確認すべきだが

379:デフォルトの名無しさん
09/10/24 20:08:15
割り込みすいません。
表の形式で文字列を表示させたいのですが、
例えば、
AAAA B
AA   B
A    B
と列の頭を揃える場合、簡単に実現できる方法はありませんか?

380:デフォルトの名無しさん
09/10/24 21:00:41
String#format

381:デフォルトの名無しさん
09/10/24 21:06:15
>>380
ありがとうございます。
書くのを忘れていましたが全角の場合はどうすればいいですか?

382:デフォルトの名無しさん
09/10/24 21:52:09
>>375
オブジェクトって生成されないよ?
どうやって呼ぶの?

383:デフォルトの名無しさん
09/10/24 22:14:09
>>381
タブ

384:デフォルトの名無しさん
09/10/24 22:15:13
>>383
ありがとうございます。

385:デフォルトの名無しさん
09/10/24 22:45:10
javaを始めようかと思っています。
色々あってよく分かりません。
一通りのことを教えていただけないでしょうか?

386:デフォルトの名無しさん
09/10/24 22:53:08
>>385
初歩的なjavaのプログラミング程度のスタートアップを自分でやれないようなら止めといた方がいい

387:デフォルトの名無しさん
09/10/24 23:08:00
>>385
いろいろって何がありますか?

388:デフォルトの名無しさん
09/10/24 23:59:08
>>385
入門書1冊買えば一通りのことは載っている

389:デフォルトの名無しさん
09/10/25 00:10:20
Java1.4互換のクラスファイルを生成するJSR14を使ってプログラムをビルドしようとしたら、
ジェネリクスは使えましたが、enumは使えませんでした。

ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。
java.lang.Enum のクラス・ファイルが見つかりません。ビルド・パスを修正してから、このプロジェクトをビルドしてください

EnumはJDK1.4には存在しないので、エラーになるのは当然ですが、どう解決すればいいでしょうか。
Javaの標準クラスライブラリのソースコードが入手できればいいんですが、何処にあるのかわかりません。

390:デフォルトの名無しさん
09/10/25 00:18:41
ねーよw
解決はenumをはじめ、5系に依存するコードを含めいようにすること

391:デフォルトの名無しさん
09/10/25 10:32:56
java.lang.StringBuilderはどんな感じで作られているのか気になったので、JDKのソースを読んでみた
sb.append("str");は
strをcharの配列に変換→フィールドのchar[]に変換したのをコピー
sb.toString();は
return new String(byte[] bytes, int offset, int length) ;

StrinbBuilderはスレッドセーフじゃなくていいので、結構簡単に作れそう

392:デフォルトの名無しさん
09/10/25 10:38:58
勉強目的で作るならいいと思うが、そういう意味だよな?

393:デフォルトの名無しさん
09/10/25 10:54:12
>>392
当たり前だろクラッカー

394:デフォルトの名無しさん
09/10/25 11:40:56
専用クラスファイルの追加を気にしないなら、Retrotranslator使えば?
こっちならJDK1.5以降のクラスも色々対応してくれている。

395:デフォルトの名無しさん
09/10/25 12:55:39
素朴な疑問なのですが、デザインパターンのシングルトンについて質問
シングルトンはオブジェクトが1つしかないことを保証するので、
staticなフィールド(static finalは除く)は一ミリも意味がなくないですかか?

396:デフォルトの名無しさん
09/10/25 12:59:56
かか

397:デフォルトの名無しさん
09/10/25 13:10:27
>>395
static なフィールドを使わないで、シングルトンから返す実体を保持する方法を
思いついたのならば問題なし。

398:デフォルトの名無しさん
09/10/25 13:15:17
public class Singleton { public static Singleton getSingleton() { return Singleton.getSingleton(); } }

399:デフォルトの名無しさん
09/10/25 13:19:21
スタックオーバーフローじゃね

400:395
09/10/25 15:25:58
いまいちわかりませんが、適当に作ります

401:デフォルトの名無しさん
09/10/25 15:26:07


402:デフォルトの名無しさん
09/10/25 17:36:59
>>398
シングルトンになってるのってクラス名だけだよね。

403:デフォルトの名無しさん
09/10/25 20:23:44
そもそもここはデザパタスレだったのか

404:デフォルトの名無しさん
09/10/25 22:01:32
で?

405:デフォルトの名無しさん
09/10/25 22:36:47
JAVAを勉強し始めて間もないのですが…
画像をピクセル単位で表示位置を設定し、
クリックすると動作を行うプログラムを
作成したいのですが…。
現在はJButtonに画像を表示し、GridBagLayoutを
使用して配置しようとしてるのですが、
これですと、ボタンの細かい位置やサイズが指定できなくて
困っています。
そのようなクラスを使用すればいいのでしょうか??
もしよければ、サンプルプログラムなどもあるとうれしいです。。

406:デフォルトの名無しさん
09/10/25 22:43:37
>>405
>JAVAを勉強し始めて間もないのですが…
何の免罪符だよw
そう言えば同情してもらえるとでも思ってるの?

407:405
09/10/25 23:09:03
>>406
早速のお返事ありがとうございます。

同情してもらおうと思ってるのではなく、
正直ここにいる人よりJAVAのレベルが
私は低いと思ったのでそう書かせていただきました。

408:デフォルトの名無しさん
09/10/25 23:29:44
import javax.swing.*;
public class MainFrame {
public static void main(String[] args) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addPanels(f);
f.setBounds(100, 100, 200, 100);
f.setVisible(true);
}
private static void addPanels(JFrame f) {
f.setLayout(null);
JButton btn = new JButton("Button");
btn.setBounds(10, 10, 150, 15);
f.add(btn);
JPanel pan = new JPanel();
pan.setBorder(BorderFactory.createLineBorder(java.awt.Color.green, 5));
pan.setBounds(10, 30, 100, 30);
f.add(pan);
}
}

409:デフォルトの名無しさん
09/10/25 23:33:35
>>407
そういうのは日記にでも書いとけ。な?

410:デフォルトの名無しさん
09/10/25 23:35:20
>>407,409
カリカリイライラしちゃってかわいそう・・・
彼女にふられたとか?

411:405
09/10/25 23:43:17
>>408
ありがとうございます!
すぐに理解はできなさそうですが…
これ見ながら頑張ってみます!

412:デフォルトの名無しさん
09/10/25 23:46:09
>>410
すまん。

質問の冒頭に
「JAVA初心者です。」とか「昨日からJAVAの勉強し始めました。」
みたいな前置きをつける奴みると無性に腹が立つんだよな。
知らないことは悪いことではないが、それを盾にするなと言いたい。


413:デフォルトの名無しさん
09/10/25 23:49:08
盾だと思っちゃうのは性格がひねくれてるからだぉ

414:デフォルトの名無しさん
09/10/25 23:54:26
>>413
確かにそうかもしれん。

>>413は、前置きするのはどういうことだと思う?

415:デフォルトの名無しさん
09/10/25 23:56:34
単に自分のプロフィールを紹介する目的

416:デフォルトの名無しさん
09/10/26 00:00:38
>>412
おまい、案外素直な子じゃな

417:デフォルトの名無しさん
09/10/26 00:03:59
>>415
ありがとう。
理解はできなさそうだが・・・

418:デフォルトの名無しさん
09/10/26 00:10:18
まあどこのコミュニティでも最初に「初心者なのですが」と書くやつは叩かれる

419:デフォルトの名無しさん
09/10/26 00:20:06
質問者のレベルによって回答の仕方も変わるからね。
「初心者です」を後出しされるよりいいと思う。

420:デフォルトの名無しさん
09/10/26 00:38:34
最初に自分が初心者レベルであることを書いてないなら書いてないで
「お前そんなことも知らないで今までよくやってこれたな」
と叩かれるだけで結局回答がこのスレでつくような質問は初心者には不可能となる

421:デフォルトの名無しさん
09/10/26 01:07:47
アナル初心者なんですけど、
お尻の中はどうやって洗えばいいんですか? ><

422:デフォルトの名無しさん
09/10/26 03:03:41
>>416
おじいちゃんお口臭いお(´・ω・`)

423:デフォルトの名無しさん
09/10/26 08:29:39
Tomcat+MySQLでWebアプリを開発しています。
EclipseからTomcatを起動した場合は正常に動作しますが、.war ファイルを作って Tomcat にデプロイし起動すると
最初のデータソースへのアクセスで Cannot create JDBC driver of class '' for connect URL 'null' と怒られます。
データソースの設定は Web アプリの META-INF/Context.xml に記述していますが、ドライバクラス名も URL も取得できていないようです。
ちなみにドライバは Tomcatフォルダ/lib にコピーしてあります。
.war ファイルにした場合は、Tomcat 自体の設定に何かを追加する必要があるのでしょうか?

424:デフォルトの名無しさん
09/10/26 08:39:41
public void actionPerformed(ActionEvent e) {}をオーバーライドして、
public void run()を匿名クラスとして定義したんだけど
なんで、自分自身のインスタンスthisが使えないのよ?

class Hoge extends JFrame{
public void actionPerformed(ActionEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Temp t = new Temp(this); ←ここで、IDEに怒られる
}}}}

425:デフォルトの名無しさん
09/10/26 09:26:20
>>424
Tempって何よ?

426:デフォルトの名無しさん
09/10/26 10:53:12
テンポラリとおもいきや添付ファイルだったり

427:デフォルトの名無しさん
09/10/26 11:05:43
愚民の皆さま、何か間違ってますか?

428:デフォルトの名無しさん
09/10/26 11:18:07
>>424
もしかして: Hoge.this
単に this と書くといちばん内側の匿名 Runnable を指す

429:デフォルトの名無しさん
09/10/26 13:21:07
初心者です。
JFrameクラスのSetResizable()をfalseにしたとき
ウィンドウの内側に枠線のようなものが出るのですが
これを消すことはできますでしょうか。

430:デフォルトの名無しさん
09/10/26 13:54:00
以前、JavaScriptでプログラムを書いていたので、上司からJavaをヤレと言われて、あわてています。
JavaScriptで書いてあるプログラムをJavaに持ってきても動作するのでしょうか?

431:デフォルトの名無しさん
09/10/26 14:07:38
JavaとJavaScriptは完全に別物です
JavaScriptのことは忘れてイチからJavaを勉強する必要があります

432:デフォルトの名無しさん
09/10/26 14:36:56
>>431
そうですか。上司にあなたのレスを見せることにします。

433:デフォルトの名無しさん
09/10/26 14:39:55
>>432
ちげーだろ、これからはJavaといいたかったんじゃろ?

434:デフォルトの名無しさん
09/10/26 14:47:31
>>430
Java 上で JavaScript を動かすことは可能だけど一部動作しない。

435:430
09/10/26 15:22:22
動作するんですか。よかった。過去自分が作った資産が使えそうです。

436:デフォルトの名無しさん
09/10/26 16:26:48
そりゃ動かせるけど、それはJavaをヤルってことにはならんのでは?

437:デフォルトの名無しさん
09/10/26 16:31:48
JavaScript を JSP に貼り付けるのか?

438:430
09/10/26 17:03:55
>>436
やっぱりJAVAらしく1から作り直した方が後々、いいですかね?

439:デフォルトの名無しさん
09/10/26 17:13:56
ScriptEngineManagerなのか・・

440:デフォルトの名無しさん
09/10/26 17:35:04
本気で言っているならばまずはJavaの勉強を少ししてから流用できるか検討しろ

441:424
09/10/26 19:10:02
>>428
わかりました。ありがとうございます

442:デフォルトの名無しさん
09/10/26 21:12:52
上司古いな
これからはむしろJavaScriptの時代なのに。
それかGWTでやれって事なのか?

443:デフォルトの名無しさん
09/10/26 21:26:03
実はクライアントアプリをサーバアプリにしろというヤバい案件なのかも

444:デフォルトの名無しさん
09/10/26 22:03:14
>>423
>>423
EclipseのプラグインからTomcatを起動してるときと、Tomcat単体で動かしてるときの違いを理解せよ。

<Tomcat>/conf/Catalina/localhost/<proj>.xml

445:デフォルトの名無しさん
09/10/26 23:12:30
XMLでソフトの設定ファイルを書こうかなと考えていました
しかし、java.utils.Propertiesとかいうクラスを発見
XMLで実装するよりも、Propertiesの方が楽そうに印象を受ける

お前らなら、XML or Propertiesのどっちにするの

446:デフォルトの名無しさん
09/10/26 23:14:33
Properties で XML 入出力

447:423
09/10/26 23:32:39
>>444
ありがとうございます。
<Tomcat>/conf/Catalina/localhost に、.war ファイルから取り出した Context.xml を
Webアプリ名.xml としてコピーしたら、無事DBにアクセスできました。

ただ、この作業は必須なのでしょうか?
Tomcat6 では .war ファイルのみでデプロイ可能だと思っていたので、なんとなくすっきりしないような・・・

448:デフォルトの名無しさん
09/10/27 00:15:19
どうしてXMLに固執するのか分からん。
ソフト固有の設定情報でしかなく他のソフトや他のコンピュータとのやりとりを行うこともないものなのに…
もちろんそういうことが必要な情報だというのならXMLも選択肢の一つだろうけど。

449:423
09/10/27 00:29:37
済みません。しょうもないミスでした。。。
META-INF/Context.xml を context.xml にリネームして再度 .war ファイルをデプロイしたら
Tomcat が .war ファイルを展開後 <Tomcat>/conf/Catalina/localhost に Webアプリ名.xml としてコピーしてくれました。
Windows なので大文字・小文字は関係無いと思い込んでいたようです。
お騒がせしました。

450:デフォルトの名無しさん
09/10/27 01:11:32
>>434
あっそ〟〟〟

451:デフォルトの名無しさん
09/10/27 13:38:55
java超初心者です。会社のアプリがあって、それを元にいろいろ学習しようとおもったのよ。
6年くらい前のソースでborland.jbclってのが読み込めてなくてエラーでてんだけど、
borland.jbcl ていうパッケージ今ないのかな。JBuilderにはついてたみたいだけど、今のはないんだ。
昔の開発環境を用意しなくちゃならん?

452:デフォルトの名無しさん
09/10/27 14:03:33
>>451
とりあえず未経験の素人向け入門書でも手にとってから質問しろやカス

453:デフォルトの名無しさん
09/10/27 14:48:24
私女だけどJavaって難しいのね
優しく教えてくれてよろしくてよ?

454:デフォルトの名無しさん
09/10/27 15:26:54
age

455:デフォルトの名無しさん
09/10/27 19:20:21
上がってないぉ

456:デフォルトの名無しさん
09/10/27 19:35:09
クラスローダでバージョンがって話の記事は読んだけど
結局、クラスローダって何するの?

457:デフォルトの名無しさん
09/10/27 20:19:30
>>456
名前の通りなんだがな。
javaのクラスを使うために必要なもの。
Class.forName()とかみてみると少しは雰囲気つかめるかもしれない。

458:デフォルトの名無しさん
09/10/27 20:20:25
jarってどう使えばいいんでしょう?

459:デフォルトの名無しさん
09/10/27 20:22:13
>>457
わかりました。ありがとう

460:デフォルトの名無しさん
09/10/27 20:46:23
>>458
ググれカス

461:デフォルトの名無しさん
09/10/27 20:51:22
それしか言えない低能乙

462:デフォルトの名無しさん
09/10/27 21:08:24
javaのファイルをコンパイルして起動する際、
javac(コンパイル)の場合は-classpathを設定しても
現在のディレクトリも探してくれるのに、
java(起動)は-classpathを設定したら
現在のディレクトリも探してくれないんでしょう?
仕様以外に何か理由があるんですか?
すいませんがアドバイスよろしくお願いします。

463:デフォルトの名無しさん
09/10/27 21:10:11
仕様です

464:デフォルトの名無しさん
09/10/27 21:17:54
>>461
そうか、君はアレに教えてあげるのか。
優しいんだな。
それは俺が悪かったな。

465:デフォルトの名無しさん
09/10/27 21:20:14
Javaの列挙型はクラスなんですか?
クラスということは、値型ではなく参照型ということになりますよね。

466:デフォルトの名無しさん
09/10/27 21:27:10
その認識で正しい

467:462
09/10/27 21:32:04
>>463
やはり仕様なんですね。
アドバイスありがとうございました!

468:デフォルトの名無しさん
09/10/27 21:54:00
XML、設定ファイル、プレーンテキストの3種類を扱おうと考えています
そのため、昨日までそれぞれに対応したクラスを作っていました
作っていて気がついたのですが、コンストラクタとpublic Object readFromXXXX(File file){}
2つしかメソッドがないクラスを3つも作ってしまいましたorz

そこで、staticでpublic staic Object readFromXXX(File file){}というのを作って、
ReadUtilsみたいなクラスにまとめようかと考えています

お前らならどう実装しますか?


469:デフォルトの名無しさん
09/10/27 21:57:42
>>468
全部同じメソッド名にして interface を作る

470:デフォルトの名無しさん
09/10/27 22:04:18
struts+hibernateでダイナミックフォームBeanを直接O/RマッピングのPOJOとして利用することはできますか?

471:デフォルトの名無しさん
09/10/27 22:05:02
そんなことはやめろ。

472:468
09/10/27 22:15:35
>>469
返答ありがとうございます

インターフェイスを作るのは思いつきませんでした
でも、XML、設定ファイル、プレーンテキストの各種読み込みクラスは
これ以上メソッドの数が増えそうにないのですが....

それでも、>>469だったインターフェイスを選択しますか?

473:デフォルトの名無しさん
09/10/27 22:15:45
>>465
もしかしてC#の方で列挙型の質問している人かな。(マルチとは違う意味で)
Javaだと列挙型は後付けだし、プリミティブ型以外全てはクラスで作られてる。

C#の列挙型は列挙されていない整数値でもキャストして代入可能。(MSDNだと「できるけど、やるな!」と明記)
Javaでは整数値じゃないので代入(というよりキャスト)不可。

474:470
09/10/27 22:31:58
>>471
すみません。理由を教えて頂けないでしょうか?
普通はFormBean→POJO→DAOの引数へという流れだと思いますが
FormBeanのフィールドとPOJOのものとがまるっきり同じ場合があるの
でFormBean→DAOの引数としても良いのではと思ったのですが。

475:デフォルトの名無しさん
09/10/27 22:55:09
DAOの再利用性が画面の制約を受けるようになっちゃうと思うけど。
Dynaなら何でもいいとなるとタイプセーフじゃなくなるって問題もあるし。
そういった点を認識して使う分にはかまわないのでは。

*肝心のhibernateでDynaActionForm使えるかどうかは知らない。

476:470
09/10/27 23:18:37
>>475
jsp+servletは勉強し始めたばかりで圧倒的に知識が不足しています。
的外れなことを言っている可能性があるのでご容赦下さい。

DynaActionFormとstruts-config.xmlを使ってXXXFormが自動生成されると認識しています。
うまくO/Rマッピングの設定ができればXXXForm→DBのレコードとなるのでタイプセーフなのではと思います。
ただXXXFormをうまくマッピングできるのかわかってません。

DAOの再利用性で言うとフォームの入力フィールドに影響を受けるので、ご指摘通り問題ですね。
例えばユーザ名を扱うとして、フォームで一つのテキストエリアで行っていたものを、姓と名を分離して入力す
るように変更した場合などは対応できなくなってしまいます。

どうやら止めた方が良さそうですね。ありがとうございました。

477:デフォルトの名無しさん
09/10/27 23:34:57
>>472
なんとなくマジレスすると
この情報だけでinterfaceを導入するなんて考え方するやつは危険

別の責務を持つものを一つのクラスにまとめると
無意味な依存関係が出来上がる

478:デフォルトの名無しさん
09/10/27 23:45:18
Strutsを利用した初期のProjectではDynaActionFormを使うこともあったけど、
そういったプロジェクトについても、リファクタ作業の中で個別のForm実装に置き換えたケースがほとんど。

DynaActionFormはタイプセーフではないです。
Formの値を使うときはDynaActionForm型のインスタンスに対してget("String")のような
属性名を「文字列」として渡す必要があるため、型情報からはどんな属性が存在しているのか知ることはできません。

プロジェクトの規模が大きくなればなるほど、コードがタイプセーフに作られているかどうかが
メンテナンス性を大きく左右する要因になってくると思います。

プレゼンテーションのモデル(Formや画面の表示/入力項目)と
ドメイン層で扱うモデルは明確に分割することを意識しておくのが重要だと思います。
(実際にそのような設計をするかどうかはおいて)

479:デフォルトの名無しさん
09/10/27 23:48:56
>>472

誰がファイルの中身(XML、設定ファイル、プレーンテキスト)について知っている必要があって、
誰がどんな操作をしたいのかによって設計は変わるでしょ。

480:472
09/10/28 08:06:42
>>477
インターフェイスの導入は検討してみます

>>479
XML、設定ファイル、プレーンテキストを読み込んだら後は
何にもしないと思います

481:デフォルトの名無しさん
09/10/28 13:54:27
すいません。質問させてください。
tomcat6.xでカンマの入った値をonmouseover=に指定すると以下のJSPコンパイルエラー

出力されてしまいます。
Attribute value tip + "'" is quoted with " which must be escaped when used wit
hin the value

<%
String name = "yamada";
%>
<tt:mytag onmouseover="<%=name + "'"%>"/>

カンマやダブルコートを含む文字列に対して、どのようなエスケープ処理を施せば解決
するのでしょうか?
ご教授おねがいします!


482:デフォルトの名無しさん
09/10/28 16:51:37
質問させていただきます。
今度ネットワーク系の研究室に所属になりプロトコルをjavaで
作成しなければいけないのですが、プログラミングは苦手で困っています。
何か参考になるHPなどありましたら教えていただけませんでしょうか?

483:デフォルトの名無しさん
09/10/28 17:41:24
プロトコルはJavaでは作れません

484:デフォルトの名無しさん
09/10/28 17:43:47
医学系でプロトコールとかあるからよくわからんのぅ

アプリケーションプロトコルならRFC読むかどっかの実装参考にしろ

485:デフォルトの名無しさん
09/10/28 18:39:01
>>482
プログラミングが苦手で研究室所属している人たちの HP です。参考になれば。
URLリンク(ameblo.jp)
URLリンク(psyschaka.dtiblog.com)
URLリンク(myhome.cururu.jp)
基本は、他人に振るか、根性で頑張るか、進路を変えるかのようです。

486:デフォルトの名無しさん
09/10/28 19:34:49
>>481

String name = "yamada'";
じゃだめなの?

487:デフォルトの名無しさん
09/10/28 19:53:21
javaを学ぶためにラリーカーを走らせて得点を競うcoderallyを使っているんですが、
良い戦略が書いているサイトを知っていたら教えてください。

もし、過去にcoderallyをしたことがあって、こんないい戦略を練ったよって言う人がいれば、
その戦略を教えてほしいです。

488:デフォルトの名無しさん
09/10/28 20:19:12
class A
{
public static void main(String args[])
{
int height = 160;
int weight = 47;



double rohrer1 = 10000000*weight/(height*height*height);
double rohrer2 = weight/(height*height*height)*10000000;

System.out.println("ローレル指数:" + rohrer1);
System.out.println("ローレル指数:" + rohrer2);
}
}

//結果 114.0 0.0
このコードを
    double rohrer1 = 10000000*(double)weight/(height*height*height);
double rohrer2 = (double)weight/(height*height*height)*10000000;
こう変えると結果が 114.74- 114.74-になるのはなぜですか?
小数点以下も表示したいので、キャスト演算子を使っただけなのですが、、、

489:デフォルトの名無しさん
09/10/28 20:36:05
Eclipseを使っていたので、NetBeansがやけに重く思える

490:デフォルトの名無しさん
09/10/28 20:36:40
Eclipse(笑)

491:デフォルトの名無しさん
09/10/28 20:56:06
フリーで使えるプライベートUDDIレジストリってありませんか?
昔はJWSDP1.6に含まれていたみたいだけど、
今ではダウンロード出来なくて困ってます。


492:デフォルトの名無しさん
09/10/28 21:05:41
Eclipseも最近は決して軽くないけどな
3.2くらいまでは確かに軽かったんだけど、3.4くらいから充分にメモリないと厳しい

493:デフォルトの名無しさん
09/10/28 21:07:14
>>488
素直にすべてdoubleにすれば?

494:デフォルトの名無しさん
09/10/28 21:13:04
>>491
鯖立てたいってことだよね?
ググッただけだけど、こんなんあったよ。

OpenUDDI Server
URLリンク(uddi.xml.org)

UDDI server in java.
URLリンク(sourceforge.jp)

Novell Nsure UDDI Server
URLリンク(developer.novell.com)

495:481
09/10/28 21:23:05
>>486
その方法で解決できました
ありがとうごさいます!

496:デフォルトの名無しさん
09/10/28 21:26:35
>>488

>double rohrer1 = 10000000*weight/(height*height*height);
>double rohrer2 = weight/(height*height*height)*10000000;
この書き方はintに丸められた(小数点以下切捨て)の結果を変数(double)に代入している。

>double rohrer1 = 10000000*(double)weight/(height*height*height);
>double rohrer2 = (double)weight/(height*height*height)*10000000;
一方、この書き方は式にdoubleのデータ型が出現するために、すべての計算結果がdoubleになっている。

下の書き方のほうが高い精度(double)で計算されるのは当然。

497:デフォルトの名無しさん
09/10/28 21:33:52
>>496
それは理解できるのですが、変更する前のコードではrohrer2の値が
0.0になるのです。それがなぜかわからない。

498:デフォルトの名無しさん
09/10/28 21:39:46
47/(160*160*160) は 0 だ
0 に何を掛けても 0 だろ

499:デフォルトの名無しさん
09/10/28 21:44:40
15.17 Multiplicative Operators
The operators *, /, and % are called the multiplicative operators. They have the same precedence and are syntactically left-associative (they group left-to-right).

500:デフォルトの名無しさん
09/10/28 21:45:14
あーそうか
int型だから47/(160*160*160)の部分は小数点以下切捨てで0になるのか。
ありがとう。

501:デフォルトの名無しさん
09/10/28 23:25:14
>>485
ありがとうございます。
自分は根性でがんばっていこうと思います

502:デフォルトの名無しさん
09/10/29 13:29:52
一桁のみ表示させるのと一桁目以外を表示させたいのですが、何を使えば
良いでしょうか?
1234と入力したら
一桁目、4
一桁目以外、123
のように表示させたいです。

503:デフォルトの名無しさん
09/10/29 14:03:31
10で割った商と余りを求めればおk

504:デフォルトの名無しさん
09/10/29 19:40:41
ストリームを閉じる時は、BufferedReaderとInputStremのどちらを最初に閉じればいいのですか?

505:デフォルトの名無しさん
09/10/29 22:43:08
IOUtils.closeQuietlyでなぜか「ぬるぽ」が発生
なんで、例外がはっせいするんですかね?

Exception in thread "main" java.lang.NullPointerException
at java.io.FilterInputStream.close(FilterInputStream.java:155)
at sun.nio.cs.StreamDecoder.implClose(StreamDecoder.java:358)
at sun.nio.cs.StreamDecoder.close(StreamDecoder.java:173)
at java.io.InputStreamReader.close(InputStreamReader.java:182)
at java.io.BufferedReader.close(BufferedReader.java:497)
at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:142)

506:デフォルトの名無しさん
09/10/30 00:05:54
StrutsのActionForwardのexecuteでファイルのダウンロードを
行う処理を作ったんだけど、どう処理させるべきかわからない
ところがあります。

JSP上にボタンを配置して、このボタンをクリックしJavascript
のFunctionを実行。functionの中でformから上記のexecuteを
呼び出す(submitする)ようにした場合は、うまくファイルの
ダウンロード画面が出てダウンロードができます。
そこでJavascriptのFunctionの中身と同じものをJSPの
onLoadイベントで処理させると、「セキュリティ保護のため、
このサイトによる・・・」とポップアップが出てきます。
(IEを使っています)バーをクリックをして「ファイルのダウンロード」
を選択しても、なにもおきません。
(ファイルのダウンロード画面が出てダウンロードができることを
期待したのですが)
「ファイルのダウンロード」を押したら、ダウンロードを行ってほしい
のですが、なにか設定が足りないのでしょうか。


ダウンロードの処理は、executeの引数のHttpServletResponseに
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="ファイル名"
Content-Length
を設定し、getOutputStream()を使い出力するといった感じです。
streamをcloseすると、ポップアップが出るようなんだけど、
そこで出力がおわっているから「ファイルのダウンロード」を押し
ても、なにもでないのだろうか。






507:デフォルトの名無しさん
09/10/31 14:00:10
大規模規制でこのスレもずいぶん過疎ったね~

508:デフォルトの名無しさん
09/11/01 13:23:25
こんにちわ
ディスプレイサイズって取得できるのでしょうか

509:デフォルトの名無しさん
09/11/01 14:39:57
解像度なら
DisplayMode dm = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].getDisplayMode();
System.out.println("width:" + dm.getWidth() + ", height:" + dm.getHeight());

510:デフォルトの名無しさん
09/11/01 14:41:56
サーブレットの練習で簡単なうpろだを作ろうと思って、
アップロードしたファイルをnew File("hoge.hoge").createNewFile();ととりあえず試しに保存したら、
なぜか保存先がC:\tomcat\に・・・。

アプリケーションのルートパス(C:\tomcat\webapps\hogeapp\)を取得する方法はないんでしょうか?
(もちろん、実運用上はアプリ内に保存とかでなくて全く別のディレクトリに保存するのが良いとは思っていますが)

511:デフォルトの名無しさん
09/11/01 15:47:55
Servlet APIを良く読め


512:デフォルトの名無しさん
09/11/01 23:00:00
長時間のFull GCを避けるために、一定感覚でFull GCを起こさせたいのですが、
どうすればよいのでしょうか?

513:デフォルトの名無しさん
09/11/01 23:04:51
文字を指定したバイト数で切る場合、全角文字を半分で切ってしまう場合があります。
全角文字を半分で切ってしまう場合はエラーとしたいのですが、
どうやってチェックするのが、一番効率的でしょうか。

514:デフォルトの名無しさん
09/11/01 23:18:05
>>512
java.lang.System#gc()
java.lang.Runtime#gc()

>>513
使ってるエンコーディングによるのでなんとも。
シフトJISだと面倒だな。

515:デフォルトの名無しさん
09/11/01 23:20:46
>>514
Windows-31Jを使っています。まぁ、シフトJISです。
全角を切ると?になってこまっています。


516:デフォルトの名無しさん
09/11/01 23:30:56
>>515
厳密にやりたいなら、どうにかして文字境界を確定させて、
確定した文字境界から一文字づつ全角/半角判定してって最後のバイトが全角の1バイト目か判定するしかない。

簡単に思いつくのは SJISの全角1バイト目にも全角2バイト目にも使われてない
0x00 ~ 0x3F を発見すりゃ文字境界発見できるぐらいだな。

517:デフォルトの名無しさん
09/11/02 00:53:34
エンコード混在だったら・・・

518:デフォルトの名無しさん
09/11/02 01:17:26
Javaっていいの?
仕事が多いって聞いたけど。
興味あるけど、C++でマルチプラットフォームのアプリが作れるなら
Javaやる必要ないかな?

519:デフォルトの名無しさん
09/11/02 01:35:57
C言語で作った計算ライブラリをJavaから使えるのでしょうか?それとも全面移植をしないといけないのでしょうか?

520:デフォルトの名無しさん
09/11/02 01:45:39
>>519
>C言語で作った計算ライブラリをJavaから
どうしてもそうする必要があるならJNIでもどうぞ。

521:デフォルトの名無しさん
09/11/02 02:10:39
スレリンク(tech板)
★お前らJavaはJNIで組もうぜ★

ウィンドウズ側のdirectxを叩いたりしてパフォーマンス上げるのによく使われてる。

522:デフォルトの名無しさん
09/11/02 20:20:57
いまどきdirectX叩いてパフォーマンス上がる分野なんて知れてる。
クロスプラットフォーム版JMFですらCPUごり押しでいける時代なのに。

523:デフォルトの名無しさん
09/11/02 23:32:17
directxのエンコーダ使ったほうが速くない?

524:デフォルトの名無しさん
09/11/03 00:45:21
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って

元のJavaソースを取り出すなんて事は不可能ですか?

525:デフォルトの名無しさん
09/11/03 13:32:39
/** ソフトをスターとする */
public void start() {
  Thread load = new Thread(new Runnable() {
    public void run() {
      try {
        /** 設定を読み込む処理 */
} catch(Exception e) {
exception = e;
}
}
});
load.start();

MainFrame frame = new MainFrame();

try {
load.join();
} catch (InterruptedException ex) { /*ignore*/}

frame.setMenuTree(new JTree(node));
frame.setVisible(true);
}


526:525
09/11/03 13:46:04
コードを見やすくするために、コードを成形していたら間違えてPOSTしてしまいました
設定の読み込みに失敗した場合は致命的なので、ソフトを強制終了していますが
InterruptedExceptionを捕まえた場合も、ソフトを強制終了させようか迷っています
エロい人教えてください!!

Exception exception = null;

/** ソフトを起動するために使う */
public void start() {
  Thread load = new Thread(new Runnable() {
    public void run() {
      try {
        /* 設定を読み込む処理 */
      } catch(Exception e) {
        exception = e;
      }
    }
  });
  load.start();

  /* 読み込むデータが多いので、別のスレッドでウインドウを作成 */
  MainFrame frame = new MainFrame();
  try {
    load.join();
  } catch (InterruptedException ex) { /* 無視 */}
 
  if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */

  frame.setMainView(new MainView(読み込んだ設定));
  frame.setVisible(true);
}


527:デフォルトの名無しさん
09/11/03 15:09:50
>      try {
>        /* 設定を読み込む処理 */
>      } catch(Exception e) {
>        exception = e;
>      }

>  if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */

InterruptedException以前に例外処理からやり直せ。
これじゃあエラーコードでgotoするのと変わらん。

528:526
09/11/03 15:50:18
>>527
/* 設定を読み込む処理 */と書いてはいますが、実際にはメインの画面に表示するデータを読み込んでいます。
読み込みに失敗した場合はかなり致命的で、同類のソフトも同じような処理をしています。
if(exception !=null) System.exit(0)とも書きましたが、実際にはエラーダイアログを表示してソフトを終了させています。
また、start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。

つまり、IOExceptionが出る確率は低い、読み込みに失敗したらソフトとしては何もできない事が無い
よって、無駄に起動させてもしょうがないからソフトを落とした方がいい

ということです。

529:デフォルトの名無しさん
09/11/03 16:56:40
キャッチしてもなにも処理できないならキャッチする意味ないんじゃね?
データ取得をリトライするとか、データのクローズ処理とか、
あるいは失敗をユーザに警告してリトライ/終了を選択させるとかならいいが。

530:デフォルトの名無しさん
09/11/03 20:11:41
try-catchで掴んだ例外をチェーンするわけでもなく外に出すのは行儀わるいだろ。

531:デフォルトの名無しさん
09/11/03 20:34:06
一つのインスタンスのメモリ使用量とか生成時の負荷に、
非staticメソッドの数や内容は影響を与えますか?
それともクラスサイズが増えるだけでしょうか?
いろんな引数のパターンのコンストラクタや初期化メソッドをオーバーロードしたいのですが、
それがそのクラスのインスタンスの生成コストを増やしてしまうのではと気になったのでどうか教えて下さい。

532:526
09/11/03 20:55:06
>>530
start()の前にfile.exists()をしているので、
IOExceptionは無視しちゃえってことですか?

533:デフォルトの名無しさん
09/11/03 21:06:59
ファクトリメソッドって何ですか?
リフレクションみたいなものなんですか。

534:デフォルトの名無しさん
09/11/03 21:17:47
デザインパターンでFactoryパターンっていうのがありまして、
デザインパターンに関しては丁寧に解説してるサイトが結構あるから参考にしてみては。
主にコンストラクタを明示したくないときに使うモノだと思う。
(条件によって動的にコンストラクタを選択して呼び出したい時とか)

535:デフォルトの名無しさん
09/11/03 21:36:35
>>533
クラス生成の条件判断を別クラスに完全に切り離すことで
いろいろ都合がよくなることがあるんだ(直接には単体テストとかで分岐が減るとか)。

536:デフォルトの名無しさん
09/11/03 22:32:09
>>526>>527,>>529-530が論点にしてるところを良くみろ。
try-catchの方法論としておかしいやり方な上に意味の無いことをしてると言われてるんだ。

あと
>start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。
これはプログラマから見て起こり得ない事だから例外を使うんではなく契約プログラミングを使う。
例外処理と契約の使い分けが出来てない。

537:526
09/11/03 22:36:36
>>536
なるほど、わかりました
そこら辺を詳しく調べてみます

538:デフォルトの名無しさん
09/11/03 23:04:16
Class.forNameでクラスを動的にロードしたとします。
そのロードしたクラスは使われるかどうかわからないとします。
こういうクラスって、GCの対象になるのでしょうか?

539:デフォルトの名無しさん
09/11/04 02:05:38
なんで使われるか分からないものを動的ロードするのかと小一時間・・・。

540:デフォルトの名無しさん
09/11/04 02:23:33
Javaで既存のmp3ファイルにエフェクトしながら再生したいんですけど、何か手がかりを教えてください

541:デフォルトの名無しさん
09/11/04 03:00:33
>>538
ちょっとググってみたが
URLリンク(www.nminoru.jp)
これによれば、クラスをロードしたクラスローダがGCされないとGCの対象にならない。
クラスをGCして欲しかったら、URLClassLoaderあたりのクラスローダを明示的に使って
ロードするしかない。

542:デフォルトの名無しさん
09/11/04 04:06:52
>>540
JMFならプラグイン実装、Java Soundならリハーブコントロールかint配列直接いじる。

543:デフォルトの名無しさん
09/11/04 06:48:58
ありがてえです。やってみます

544:デフォルトの名無しさん
09/11/04 14:13:08
スレリンク(tech板)
【JMF】Java Media APIs【JOGL】

545:デフォルトの名無しさん
09/11/04 15:27:25
itextの質問はここでいいのでしょうか?

546:デフォルトの名無しさん
09/11/04 16:36:02
ヤッター
規制解除ダー


>>545
とりあえずまとめて投下すれば誰か答えるかも
俺は今さっきiText知ったばっかり

547:545
09/11/04 17:12:08
じゃお言葉に甘えて

イントラで図面の管理システムを作っております。
検索結果から選択した図面のPDFを読み込んで電子印・出力者情報を付加して
新ウインドウにて表示後ソレを印刷してもらうという流れになってます。
ここまではitextの解説サイトを参考に何とか作成したのですが…

電子印を半透明にして欲しいと要望されまして、
ちょっと弄ってみたのですがどうにもうまくいかない状態です

現状:
スキャナーで読み込んだPDF=PdfWriter.GetDirectContentUnder()にaddtemplate
電子印=PdfWriter.GetDirectContent()にcircle,linetoをstroke + ClumnTextにて作成

読み込みデータを文字データより上に配置すると文字はまったく表示されず、
文字を半透明にするクラスも見つけられず…

「このクラス使えばいいよ」とかあれば教えていただきたく…

548:デフォルトの名無しさん
09/11/04 18:18:36
>>547
埋め込みの文字のフォントのColorで,アルファブレンド値設定してみたらどうだろ^p^

# 前面の絵と被ったら,電子印が擦れるけどいいのかな
# 実は灰色とか,(背景色+前景色)/2くらいとかじゃない?

549:デフォルトの名無しさん
09/11/04 19:43:13
NetBeansを使っているのですが、わざわざswingを手書きしています
swingのコードがあまり綺麗に書けないわけですが、
swingのコードを綺麗に書くポインがある人は教えてください

550:デフォルトの名無しさん
09/11/04 20:22:01
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って

元のJavaソースを取り出す事は可能でしょうか?

551:デフォルトの名無しさん
09/11/04 20:42:35
>>550
様々なツールを使ったらなんでも出来そうな気がする

って前回答したとおもう

552:デフォルトの名無しさん
09/11/04 21:26:01
最近スレが変わるたびに一回は見る質問だな。>>550
そんな具体性のない質問してる暇があったら自分で試せよ。
全く同じソースは無理だろうが同じ動作をするソースは取れるだろう。

553:デフォルトの名無しさん
09/11/04 23:09:23
>>551-552
レスどうもです。

JSmoothのEXEはjar を組み込んで実行させる形のようなので
要はjarをEXEから取り出せればよいという事ですよね?
jarファイルからソースを取り出す事は比較的容易に出来ると思うので・・・。
ググって見たんですが、JSmoothのEXEからjarを取り出す方法がよく分からなかったので
知っている方がいたら教えて下さい。

554:デフォルトの名無しさん
09/11/05 00:52:11
>>553
URLリンク(stackoverflow.com)

555:デフォルトの名無しさん
09/11/05 03:21:51
>>554
レスどうもです。

556:デフォルトの名無しさん
09/11/05 04:36:58
人の話も聞かず全部丸投げしてるのは喧嘩売ってるのか?
exeにjarが埋め込まれてるならバイナリエディタでjarのヘッダ読んでjarの部分だけ切り出せばいいだろ。

557:デフォルトの名無しさん
09/11/05 10:58:08
半透明って言われてそのまま50%にするのはどうかな。
見栄えとか印刷具合も考えて調整したほうがいい。70%ぐらいは無いと透かしが綺麗に読めないと思うよ。

単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。社内の人間からあいつ使えないなって言われてリストラされない様になw

558:デフォルトの名無しさん
09/11/05 11:03:17
思うだけじゃ話にならないので,実際にやってみないとな!
って感じじゃねーの

559:デフォルトの名無しさん
09/11/05 11:03:52
お説教かよ( ・ω・)y─┛~~

560:デフォルトの名無しさん
09/11/05 11:04:05
何言ってんだこいつ

561:デフォルトの名無しさん
09/11/05 11:05:22
語りたい、お年頃なのさ

確かに現場の意見は大切だと思うよ?
言われた通り動く実装者云々と何の関連もないけど

562:デフォルトの名無しさん
09/11/05 11:05:45
少なくとも言われたとおりに動かないのはそもそも駄目だろ
その上で何か提案するなら分かるが

563:デフォルトの名無しさん
09/11/05 11:14:29
25歳と見た

564:デフォルトの名無しさん
09/11/05 11:38:55
>>557
なにこの糞SEが言いそうなテンプレその1は。

PGの仕事じゃないし。

565:デフォルトの名無しさん
09/11/05 11:45:55
仕様にないコード書いたら火の付いた煙草を押し付けられるのが基本

566:デフォルトの名無しさん
09/11/05 11:49:11
過去にコメントアウトした行を全部消して、新しく書き直しさせてくださいよ。・゚・(ノД`)・゚・。

567:デフォルトの名無しさん
09/11/05 11:55:04
履歴管理に使ってるんだからダメだ

568:デフォルトの名無しさん
09/11/05 11:58:24
規制解除されてやっと書き込みが戻ってきた
このスレ死んでるのかと思ったよ

569:545
09/11/05 12:30:29
なんか呼ばれた気がする

>>548
アルファブレンド値ですね。
ちょっと調べてみてますが、現状まだうまくいって無いです

>>557
50%も何も現状は透明化できてないんですよ…
なにかいい案出してくれませんかね?

>単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。
>社内の人間からあいつ使えないなって言われてリストラされない様になw
自称給料泥棒の俺に抜かりは無かった

570:デフォルトの名無しさん
09/11/05 12:31:29
最低q

571:デフォルトの名無しさん
09/11/05 13:02:58
下の式を実行するとokが表示せず、boの結果はfalseになるんですが、
理由がわかりません。
下のif文はまず、括弧のboにtrueが代入され、
次に&&と|ですが、
|が優先順位が高い為、先に実行。
最後はif(false && true){~という形になり最終的にはfalse。
結果if内のokは表示されないが、
その下のboはtrueが出力と考えたんですが、
間違ってますでしょうか?
すいませんがアドバイスよろしくお願いします。

boolean bo = false;
if(false && (bo=true) | true ){System.out.println("ok");}
System.out.println(bo);

572:デフォルトの名無しさん
09/11/05 14:36:54
よーわからんけど

&&、||と&、|の違い
&&、|| と&、|において演算子が意味するところは同じですが、
その振る舞いには明確な違いがあります。
& &と&は左オペランドと右オペランドのいずれもがtrueの場合trueを返します。
このことは左オペランドがfalseの場合は右オペランドがtrue、falseにかかわらずfalseを返すとも言えます。
&&は左オペランドがfalseの場合右オペランドを実行せずにfalseを返します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&は左オペランドがfalseの場合右オペランドを実行した後、falseを返します。

573:デフォルトの名無しさん
09/11/05 15:59:57
>>569
URLリンク(www.ujihara.jp)

574:デフォルトの名無しさん
09/11/05 16:27:20
>>573
できたできた。

575:デフォルトの名無しさん
09/11/05 18:08:10
>>549
私もそんなポインがある人とお知り合いになりたいです。
ぜひ紹介してください。お願いします。

576:デフォルトの名無しさん
09/11/05 18:15:12
ポインは~
赤ちゃんが吸うためにあるんやでぇ~

577:デフォルトの名無しさん
09/11/05 20:19:56
俺が吸うためにあるんだ!

578:デフォルトの名無しさん
09/11/06 10:44:39
ポインタは馬鹿には無理。

何か現場の人間に虐げられてる糞PG多そうだなw

579:デフォルトの名無しさん
09/11/06 14:58:33
質問させてください。
今JavaでのGUI開発について勉強するために計算機アプリケーションを
構築中なのですが、テキストフィールドにWindowsのデフォルトで
表示されるポップアップ(コンテキスト)メニューが表示されてしまい、
意図しない動作をさせることができるようになってしまっています。
そのテキストフィールドのポップアップメニューにnullを当ててしまうと
例外が発生してしまい、removeメソッドでポップアップメニューを消去しようとしても
デフォルトのMenuComponentをどう指定していいのか解らず、
メニュー項目を定義していないポップアップメニューをテキストフィールドに設定しても
RuntimeExceptionが発生してしまいます。
今回はGUI構築に初めて手を付けるということで、敢えてAWTのみで構築しています。
Swingで構築すればこの辺りは気にしなくても良い様なのですが・・・
AWTでポップアップメニューが表示されないようにすることはできないのでしょうか?

長文駄文失礼しました。

580:デフォルトの名無しさん
09/11/06 16:10:58
>>177
プレーンテキストでもダメだった…
そこでは無いみたい

581:デフォルトの名無しさん
09/11/06 16:14:34
誤爆乙

582:デフォルトの名無しさん
09/11/06 18:37:48
JFS+Faceletsで

<my:getUrl urlVal="url" />
<h:outputLink value="#{url}">文字列</h:outputLink>

のところ、urlが空の場合には<h:outputLink>をはずすような処理をするにはどうすればよいでしょうか?
getUrlはカスタムタグハンドラでurlをセットする処理を行います。

普通はJSTLを使うのでしょうか?

583:582
09/11/06 18:45:01
el式とh:outputLinkのdisabled属性を使いできました。すみません。

584:デフォルトの名無しさん
09/11/06 21:42:53
FLASHのおかげでJAVAを使う機会が大幅に減った

585:デフォルトの名無しさん
09/11/06 22:01:31
Flashって言語でないから習得むずかしそう

586:デフォルトの名無しさん
09/11/06 22:04:12
FlashにもActionSciptがあるジャマイカ

587:デフォルトの名無しさん
09/11/06 22:50:37
よく知らないんだけど、Actionscriptだけじゃ完結しないんじゃない
それともFlashがRAD的位置づけになるの

588:デフォルトの名無しさん
09/11/06 22:51:20
Flashとjavaてどう被るんだ?
アプレットの頃は激重になるってかなり嫌われてすぐに廃れたが。
flashてそのあとだろ。

589:デフォルトの名無しさん
09/11/07 00:10:30
test

590:デフォルトの名無しさん
09/11/07 02:23:35
フラッシュはなんか違う。後頻繁にバージョン上がるので後の手間もかかるよ。企業だとフラッシュ無効にしてる所も有る。
アプレットはブラウザの制約受けるからな。ちゃんとjavaアプリ配布した方が自由度高い。

591:デフォルトの名無しさん
09/11/07 05:52:28
jnlpですな

592:デフォルトの名無しさん
09/11/07 08:29:47
jwsだろ。どっちかというと

593:デフォルトの名無しさん
09/11/07 12:52:26
JAVAで結果を返して、Flashで表示がカコイイわぁ

594:デフォルトの名無しさん
09/11/07 13:24:33
com.sun.facelets.tag.TagHandler#applyでServletContext#getRealPath
の様にファイルの絶対パスを取得するスマートな方法はなんですか?

海外のWEBページなどでは

FacesContext fctx = ctx.getFacesContext();
ServletContext sctx = (ServletContext)fctx.getExternalContext().getContext();
String rpath = sctx.getRealPath(path);

のようにやってますけど。

595:デフォルトの名無しさん
09/11/07 14:39:32
質問です

javaプログラムを起動してから1日ぐらい放置して、急に付加が高い処理を始めると処理が急に遅くなるんですけど、
どういう原理でそうなるんでしょうか?

596:595
09/11/07 14:58:02
解決しました。

詳しいことは書けませんがGCが悪さしているようです。

597:デフォルトの名無しさん
09/11/07 14:58:05
>>595
不可が高いからじゃね?

598:デフォルトの名無しさん
09/11/07 14:58:47
(;´∀`) おういえ

599:595
09/11/07 15:00:13
しかし、GCの挙動を意図的に制御しようとするとコードが煩雑になりますねぇ・・・
JavaやめてC#で行くことにします;;

600:デフォルトの名無しさん
09/11/07 15:00:53
JVMの実装依存だけど
起動時のコマンドラインオプションでGCの処理をかえられます
どれがいいとはいえないけど,試してみたら?

601:595
09/11/07 15:06:55
>>600
検討済みです。
しかし、どれも適切ではありませんでした。

602:デフォルトの名無しさん
09/11/07 15:10:22
えっ検討してたのに再確認した・・の・・・?

とりあえず打つ手が無いのならしかたがない

603:デフォルトの名無しさん
09/11/07 16:39:31
Cでも負荷高いのは変わらないと思うなw

604:デフォルトの名無しさん
09/11/07 16:46:06
1日放置後に発現する問題をどうやって20分足らずで解決したのかを知りたい

605:デフォルトの名無しさん
09/11/07 17:28:35
gc問題をこの短時間で解決し、さらにC#へ移植(?)をあっさり決断、スーパーPGすぐるwww

606:デフォルトの名無しさん
09/11/07 17:34:17
俺GC問題だったら原因究明に1週間~3ヶ月の工数必要だわ

607:595
09/11/07 18:31:36
1日放置って書きましたけど、実際には5分で起きました。

608:デフォルトの名無しさん
09/11/07 18:43:48
5分でパフォーマンス悪化する糞コード書いたのか。
一般的にJITが働けば最終的に速度は安定するんだが5分後から1日後でパフォーマンス変わらんとは・・・。

609:デフォルトの名無しさん
09/11/07 18:47:27
>>69606
今すぐ辞表を書いてくれ

610:デフォルトの名無しさん
09/11/07 18:56:16
>>69606
お前はクビだ



611:595
09/11/07 18:57:09
ん・・・勘違いされてるけど面倒くさいからもういいですよ。
すでに解決したことだし、ここで質問して解決できる程度の問題でもなかったですし。
おそらく詳細を書けば分かる人もいるかもしれないけど、急いでいるのでそこまでしません。
質問してごめんなさい。

612:デフォルトの名無しさん
09/11/07 18:58:51
ソースの先頭のライセンス表記を編集したいのですが、一括で自動編集してくれるようなものはないでしょうか?

613:デフォルトの名無しさん
09/11/07 19:12:59
プログラマならそんなもん作れよw

614:デフォルトの名無しさん
09/11/07 19:24:46
作らんでもgrepで一発だろw

615:デフォルトの名無しさん
09/11/07 19:25:47
1ヶ月もありゃ余裕で作れるだろう

616:デフォルトの名無しさん
09/11/07 19:30:57
悪いがWindowsなんでgrepなんぞ使えない

617:デフォルトの名無しさん
09/11/07 19:33:51
>>615
いいからおまえは辞表書けw

618:デフォルトの名無しさん
09/11/07 19:41:24
正規表現でやっちゃうとか不安じゃないですか?
まぁそれなら作ることにします。
失礼しました。

619:デフォルトの名無しさん
09/11/07 20:01:44
EJBの質問です。

session beanをtransfer objectに積んで
ネットワーク越に他のEJBサーバに転送しても大丈夫ですかね?

remote・local・statefull・statelessによって違う場合は
そのへんもよろしくお願いします

620:デフォルトの名無しさん
09/11/07 20:20:05
面倒なことをすれば大丈夫です

621:デフォルトの名無しさん
09/11/07 23:11:00
普通やらないってことだな

622:デフォルトの名無しさん
09/11/07 23:17:18
EJBは糞

623:デフォルトの名無しさん
09/11/08 00:10:26
あの、質問なんですけど、grepでどうやって置換するんですか?

624:デフォルトの名無しさん
09/11/08 00:16:19
grepじゃ無理だろ>>614の勘違いだろ
edやsedやawkとかならできそう
windows用もネットに転がってる

625:デフォルトの名無しさん
09/11/08 00:20:21
grepして置換するテキストエディタなんて五万とあるだろ

626:デフォルトの名無しさん
09/11/08 00:24:31
説教くさいおっさんに聞こえるかもしれんが
まじに後方参照程度までの正規表現は使えるようになっておいたほうがいいぞ。
そういったテクニックに救われる場面が必ず出てくる。

627:デフォルトの名無しさん
09/11/08 00:25:37
grepして置換する機能を持ったテキストエディタのことを、普通grepとは呼ばない。

628:デフォルトの名無しさん
09/11/08 01:00:40
シンボルを見つけられませんというエラーが出ます
助けてください
// <applet code="RotateEx.class" width="900" height="600"></applet>

import java.awt.*;
import java.io.*;
import javax.swing.JApplet;
import javax.imageio.ImageIO;

public class RotateEx extends JApplet {Image kin, fu, sky;

public void init() {try {
kin = ImageIO.read(new File("images/kin.gif"));
fu = ImageIO.read(new File("images/fu.gif"));
sky = ImageIO.read(new File("images/sky.jpeg"));
} catch (IOException e) {throw new RuntimeException(e);}}
public void paint(Graphics g) {int x =270, y = 123;
Graphics2D g2 = (Graphics2D)g;

g2.drawImage(sky, 0, 0, 900, 600, this);
for (int i = 0; i < 4; i++) {g2.drawImage(kin, x-20, y, this);
g2.rotate(Math.PI/4, x, y);}}}



629:デフォルトの名無しさん
09/11/08 01:09:53
>>628
ふつーにうごいたぞい

630:デフォルトの名無しさん
09/11/08 01:18:34
何度コンパイルしても
Graphics2D g2 = (Graphics2D)g
のところでシンボルが見つけられません
というエラーが出るんです・・・

631:デフォルトの名無しさん
09/11/08 01:31:42
import java.awt.Graphics2D;
のように*使わず書いてみれ
それでダメならまずはJavaのバージョンを書け

632:デフォルトの名無しさん
09/11/08 01:33:33
ちょっとJavaファイルをコンパイルするときに
ちゃんと「書き直したJavaファイル」をコンパイルしているか確認してみなよ

633:デフォルトの名無しさん
09/11/08 02:28:46
5秒以上前に作ったjavaクラスファイルは実行せずにエラーになるランチャをjavaで作ればいいんじゃねw

634:デフォルトの名無しさん
09/11/08 02:29:13
どれも確認しましたがコンパイルできませんでした

バージョンは大学のPCなので新しいと思います
(今年入れ替えたばかりのPCです)


635:デフォルトの名無しさん
09/11/08 02:36:10
悩んでないでeclipseダウンロードしとけw

636:デフォルトの名無しさん
09/11/08 09:59:47
新しいpcなら動作実績無いからウマく逝かなくて当然だなw

637:デフォルトの名無しさん
09/11/08 11:17:18
>>628
それ以前に、swingでpublic void paint(){}をオーバーライドしちゃダメな気がするんですけど

638:デフォルトの名無しさん
09/11/08 12:06:51
正確にはオーバーライドしたら super.paint(g) だっけ。

639:デフォルトの名無しさん
09/11/08 12:44:28
>>638
swingはpaint()をオーバーライドするんじゃなくて、
paintcomponent()するべきだと思うんだけど

640:デフォルトの名無しさん
09/11/08 13:01:28
HTMLに独自のタグを追加して表示したいのですが、何かいい方法はありませんか?
ひとまず、JEditorPaneを使ってパースしようとしましたが遅くて遅くて
今は、javax.swing.text.Document辺りを調べています

641:デフォルトの名無しさん
09/11/08 13:26:55
なにそのw3cに真っ向から対決する姿勢
cssでやりなさいよ

642:デフォルトの名無しさん
09/11/08 13:33:29
>>640
xmlなら可能

643:628
09/11/08 14:01:58
すみません、解決しました
どうやら同じディレクトリに
Graphics.java
Graphics.class
というファイルがあったのが原因のようです

644:628
09/11/08 14:03:49
訂正
Graphics→Graphics2D

645:デフォルトの名無しさん
09/11/08 14:15:14
>>643
開発環境使ってない人にはよくある間違い(ファイル名≠ファイルパス が理解できない)だから
もし周りにも同じような人いたら注意してあげなよ・・・

646:デフォルトの名無しさん
09/11/08 17:21:50
俺の耳の裏、オマンコのにおいがする

647:デフォルトの名無しさん
09/11/08 18:46:32
>setFocusCycleRoot(boolean focusCycleRoot)
>このコンテナがフォーカストラバーサルサイクルのルートであるかどうかを設定します。
java.awt.Containerのjavadocを読んでいて、この様な説明が書いてあったのですが
フォーカストラバサールサイクルとは何の事なのでしょうか
まったく意味がわかりません。教えてエロい人!!

648:デフォルトの名無しさん
09/11/08 19:15:04
TAB キーでフォーカスが移動するコンポーネントツリーのルート
例えば JDesktopPane を使った MDI なアプリケーションで、
JInternalFrame の中のコンポーネントにフォーカスがある場合、
TAB キーを押すとその JInternalFrame 内の別のコンポーネントにはフォーカスが移るけど、
別の JInternalFrame にまでフォーカスが移ったら不自然だろ
その場合 JInternalFrame がフォーカストラバーサルサイクルのルートになると、
TAB キーをいくら押してもそこから外へはフォーカスが出ない

649:デフォルトの名無しさん
09/11/08 19:15:44
英語分からんのか?

650:デフォルトの名無しさん
09/11/08 19:28:29
分からん人もいるだろう
辞書を引く努力すら放棄してる人が大半のような気はするけどな

651:647
09/11/08 20:31:26
>>648
なるほど、わかりました。ありがとうございます

>>649-650
一応、辞書を引きながら調べては居るものの、根本的に文法がわからないので
まったく意味が理解できず

652:デフォルトの名無しさん
09/11/08 21:23:35
これは文法関係ないぞ。
技術英語なんざカタカナ英語に訳してそのまま繋げれば読める

653:デフォルトの名無しさん
09/11/08 21:41:00
読むのと理解するのは違うけどなっ
フォーカストラバーサルサイクルなんて繋いで呼んだだけだ^p^;

654:デフォルトの名無しさん
09/11/08 22:02:26
Even English speakers won't understand jargon without proper background knowledge.

655:デフォルトの名無しさん
09/11/08 22:16:27
質問です。

Double-Checked LockingはJavaではちゃんと動かない、という話は理解しているのですが、
例えば、以下のようなコードならば意図どおりに動作するでしょうか?

class X {
 private Y instance = null;

 void method() {
  if (this.instance == null) {
   synchronized (this) {
    Y __instance = Y.getSingleton(); // インスタンス化されてるけど初期化されてないインスタンス
    if (this.instance == null) {
     __instance.init(); // Y固有の初期化処理
     this.instance = _instance;
    }
   }
  }
 }
}

656:デフォルトの名無しさん
09/11/08 22:18:43
EJBに関して質問です

リモートセッションビーンを呼び出したいのですが、lookupでこけてしまいます。

jndi-viewからセッションビーンを確認できないので、JNDIのどこかが誤っている
と思います。

JBoss4.2(EJB3.0)なので、ejb-jar.xmlやjboss.xmlは不可欠でないと思うのですが、
それは正しいでしょうか?

657:デフォルトの名無しさん
09/11/08 22:51:22
>>655
いいえ
__instance.init(); が this.instance = _instance; よりも後に実行されると
(メモリアクセスは様々な要因で勝手に並び替えられる)、
他のスレッドから未初期化のインスタンスが見えてしまう

658:デフォルトの名無しさん
09/11/09 00:22:19
JavaのStringは内部的にUnicodeでエンコードされていると聞いたのですが、
内部的にUTF-16になるのでしょうか?


659:デフォルトの名無しさん
09/11/09 00:27:41
はい

660:デフォルトの名無しさん
09/11/09 00:31:07
>>658
Unicodeであってるよ。
全ての文字を16ビット値で表現可能とするために、
UTF-16と呼ばれるエンコーディング形式を定義しているだけ。

UTF-16では0x0000~0xffffの間の値は直接Unicode文字に対応してる。

661:デフォルトの名無しさん
09/11/09 01:38:58
>>657
なるほど。

あと、もう一点伺いたいのですが、__instance.init(); を init(__instance); にしたり、
instanceフィールドをvolatileで宣言した場合でも同様になるでしょうか?

662:デフォルトの名無しさん
09/11/09 01:43:38
instanceがvolatileなら大丈夫
volatileには同期効果がある

663:デフォルトの名無しさん
09/11/09 01:51:55
>>662
私の理解では、volatileは「各スレッドから常にその変数の最新の値が見えるように強制する」もの
なのですが、最適化時に順序の入れ替えを禁止する効果もあるのでしょうか。

664:デフォルトの名無しさん
09/11/09 02:46:10
はい
えーと・・・・・・ここかな
URLリンク(java.sun.com)

抜粋で
> Synchronization actions induce the synchronized-with relation on actions, defined as follows:
> ・A write to a volatile variable (§8.3.1.4) v synchronizes-with all subsequent reads of v
>  by any thread (where subsequent is defined according to the synchronization order).
> If we have two actions x and y, we write hb(x, y) to indicate that x happens-before y.
> ・If x and y are actions of the same thread and x comes before y in program order, then hb(x, y).
> ・If an action x synchronizes-with a following action y, then we also have hb(x, y).

あるスレッド内でvolatileへの書き込みより前に起きることは、
別のスレッド内でそれを読み出した後に起きることよりも前に起きる

665:デフォルトの名無しさん
09/11/09 07:48:47
>>664
なるほど、ありがとうございました。

666:デフォルトの名無しさん
09/11/09 10:54:05
Webアプリを作っていて、JSFと普通のサーブレットを使っています。
/faces以下にアクセスしたらFacesServletで、それ以外にアクセスしたら自前のサーブレットで処理したいと思っているんですが、
それぞれのサーブレットのURLパターンを /faces/* と /* にしたところ、すべてのリクエストが自前のサーブレットに回ってきて、
/faces/index.jspのようなリクエストでもFacesServletで処理されなくなります。
どのようにすればこれを正しくわけることができるのでしょうか。

667:デフォルトの名無しさん
09/11/09 16:33:50
0~30の数字の中からランダムに5つ重複なしで選びたいんですが
どうやったらいいでしょうか?
もしそういう関数があれば教えてください

668:デフォルトの名無しさん
09/11/09 16:46:18
配列に0~30まで数字を入れる
乱数でかき混ぜる
前から取り出す

( ^ω^)おっ おっ おっ

669:デフォルトの名無しさん
09/11/09 16:47:53
宿題か何かかよ

670:デフォルトの名無しさん
09/11/09 16:54:06
そうです宿題です
すいません宿題スレっていうのがあるんですね
そちらに行きます
ありがとうございました

671:デフォルトの名無しさん
09/11/09 16:59:05
668で解決じゃないの

672:デフォルトの名無しさん
09/11/09 17:05:41
宿題は2ちゃんねらにやらせる時代

673:デフォルトの名無しさん
09/11/09 17:26:01
import java.util.Vector;
import java.util.Map;
import java.util.HashMap;

public class Main
{
public static final int MAX = 999;//初期値
public static final int SIZE = 5;//頂点の数
public static int path[][] =//隣接行列
{
{MAX, 50, 80, MAX, MAX},
{MAX, MAX, 20, 15, MAX},
{MAX, MAX, MAX, 10, 15},
{MAX, MAX, MAX, MAX, 30},
{MAX, MAX, MAX, MAX, MAX},
};

public static void dijkstra(int start, int end, Vector<Integer> allNode)
{
Map<Integer, Integer> root = new HashMap<Integer, Integer>();
int[] distance = new int[SIZE];
boolean[] kakutei = new boolean[SIZE];
for (int i = 0; i < SIZE; i++)
{
distance[i] = MAX;
kakutei[i] = false;
}

kakutei[start] = true;
distance[start] = 0;

for (int i = 0; i < allNode.size(); i++)

674:デフォルトの名無しさん
09/11/09 17:26:42
{
root.put(i, start);
if (kakutei[i] == true) continue;
if (path[start][i] != MAX) distance[i] = path[start][i];
}

while (kakutei[end] == false)
{
int kakuteiIndex = -1;
for (int i = 0; i < allNode.size(); i++)
{
if (kakutei[i] == true) continue;

if (kakuteiIndex == -1)
kakuteiIndex = i;
else if (distance[i] < distance[kakuteiIndex])
kakuteiIndex = i;
}
kakutei[kakuteiIndex] = true;

for (int i = 0; i < allNode.size(); i++)
{
if (kakutei[i] == true) continue;

if (distance[kakuteiIndex] + path[kakuteiIndex][i] < distance[i])
{
distance[i] = distance[kakuteiIndex] + path[kakuteiIndex][i];
root.put(i, kakuteiIndex);
}
}
}


675:デフォルトの名無しさん
09/11/09 17:27:09
なんなんですか

676:デフォルトの名無しさん
09/11/09 17:27:37
for (int i = 0; i < distance.length; i++)
{
System.out.println(i + " までの最短距離は " + distance[i]);
}

int r = root.get(end);
StringBuffer sb = new StringBuffer();
sb.append(end);
while (true)
{
sb.append(r);
if (r == 0) break;
r = root.get(r);
}
sb.reverse();
System.out.print(start + " から " + end + " までの最短ルートは");
for (int i = 0; i < sb.length(); i++)
{
System.out.print(" ==> " + sb.charAt(i));
}
}

public static void main(String[] args)
{
Vector<Integer> allNode = new Vector<Integer>();
for (int i = 0; i < SIZE; i++)
{
allNode.add(i);
}
dijkstra(0, allNode.size() - 1, allNode);
}
}

677:デフォルトの名無しさん
09/11/09 17:28:18
やっていることをコメントアウトで解説してくれませんか?

678:デフォルトの名無しさん
09/11/09 17:30:37
よく見てないけどダイクストラ法か何か?

679:673
09/11/09 17:32:23
はい、ダイクストラ法です

680:デフォルトの名無しさん
09/11/09 17:33:08
質問です。
ArrayList listに
list.add(new Integer(10))と追加してあるんですけど
このlistから元の数字の10を取り出すにはどうすればいいでしょうか?
(int)list.get(0)みたいなことをやりたいんですがキャストできませんと言われました。

681:デフォルトの名無しさん
09/11/09 17:33:43
Integerにキャストすればおk

682:デフォルトの名無しさん
09/11/09 17:40:03
>>681
The method Integer(Object) is undefined for the type ○○○(自分で作ったクラスの名前)
と言われました・・・

683:デフォルトの名無しさん
09/11/09 17:42:51
list.get(0).intValue()

684:デフォルトの名無しさん
09/11/09 17:43:29
あごめんなさい
キャストじゃなくてInteger(list.get(0))で新しく作ろうとしてました
キャストならできました!
ありがとうございます

685:デフォルトの名無しさん
09/11/09 17:45:23
>>683
これだとできませんでした

686:デフォルトの名無しさん
09/11/09 19:40:07
((Integer) list.get(0)).intValue()

687:デフォルトの名無しさん
09/11/09 22:06:48
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;;

public class renshu3 extends JApplet
{
private JLabel lb;
private JPanel pn;
private JRadioButton rb1,rb2,tmp;
private ButtonGroup bg;

public void init()
{
lb=new JLabel("いらっしゃいませ。");
pn=new JPanel();
rb1=new JRadioButton("白", true);
rb2=new JRadioButton("黒", false);
bg=new ButtonGroup();

bg.add(rb1);
bg.add(rb2);

pn.add(rb1);
pn.add(rb2);
add(lb, BorderLayout.NORTH);
add(pn, BorderLayout.SOUTH);

rb1.addActionListener(new SampleActionListener());
rb2.addActionListener(new SampleActionListener());

}

688:デフォルトの名無しさん
09/11/09 22:07:29
class SampleActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
tmp=(JRadioButton) e.getSource();
lb.setText(tmp.getText() + "を選びました。");
if(){
lb.setForeground(Color.white);
}
else{
lb.setForeground(Color.black);
}
}
}

質問です。ラジオボタンが2つあって、それぞれ押すと色が変わるようにしたいんですが
ifの括弧に何を入れればいいんでしょうか。

689:デフォルトの名無しさん
09/11/09 22:10:53
trueかfalseになる様な式を入れればいいんじゃないでしょうか

690:デフォルトの名無しさん
09/11/09 22:18:04
>>688
解らないならばAcionLisnerを2種類用意しろ

691:デフォルトの名無しさん
09/11/09 22:21:39
「~を選びました」って出せるのにif文の内容が判らないとは、これいかに?

692:デフォルトの名無しさん
09/11/09 22:25:12
その文は最初からありましたので

693:デフォルトの名無しさん
09/11/09 22:53:24
URLリンク(www.open-tec.info)
こちらのサイトのWindows版を入手したものの
使い方が分からずにいます。
java実行環境があれば実行できるようですが、
>>3のリンク先
URLリンク(www.java.com)
からjavaをインストールしましたが、どのように使うのか分かりません。
現在インストールしているのはJava Version6 Update 17です。

根本的なことが理解できていないような気がしますが
どなたかご教示下さい。

694:デフォルトの名無しさん
09/11/09 23:11:54
ここはプログラミングの板であってソフト板じゃない

695:687
09/11/09 23:14:32
括弧にtrueを入れてみたところ、白にはなりましたが黒にはなりませんでした。
URLリンク(www.dotup.org)
どうか教えてくださいませんか。

696:デフォルトの名無しさん
09/11/09 23:22:59
質問なのですが三つの座標が一直線に並んでいるか判定するにはどうすればよいでしょうか

697:デフォルトの名無しさん
09/11/09 23:26:57
面倒なら目視すればいいんじゃないんでしょうか?

698:デフォルトの名無しさん
09/11/09 23:37:05
>>696
点A,B,Cとして、二点間A-B,A-Cの傾斜を求めて一致するか判定。なお正負には注意。

699:デフォルトの名無しさん
09/11/09 23:39:27
>>695
>>690に書いてある通り、クラスを2つ作ればいいだけの話だと思うんだけど
IDEを使わないで書いたコードなので、たぶんタイプミスがあると思う↓

rb1.addActionListener(new RB1ActionListener());
rb2.addActionListener(new RB2ActionListener());

private class RB1ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 白の時したい処理を書く */
}}

private class RB2ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 黒の時したい処理を書く */
}}

700:デフォルトの名無しさん
09/11/09 23:54:58
教えていただいてて申し訳ないですが、さっぱり分からないのでtrueのまま提出することにします。

701:デフォルトの名無しさん
09/11/10 00:08:54
>>700

trueのかわりに「rb1.isSelected()」って書いとけ!

702:デフォルトの名無しさん
09/11/10 00:15:08
あきらめろ

703:デフォルトの名無しさん
09/11/10 01:16:14
理屈が分からなくても動きさえすれば無問題


そんなふうに考えていた時期が俺にもありました

704:デフォルトの名無しさん
09/11/10 03:41:49
>>701
激烈之謝謝!

705:デフォルトの名無しさん
09/11/10 10:16:20
JEditorPaneにHTMLを読み込んだ後に、HTMLを追加できないですかね?
<html><body>
<!-- HogeHogeな内容 -->
<!-- ここに新しく追加 -->
</body></html>

706:デフォルトの名無しさん
09/11/10 16:39:23
Faceltesのタグファイルについてです。

// タグファイル
<ui:composition><f:convertDateTime timeZone="JST"/></ui:composition>

// 使用側
...
<my:convertDateTime dateStyle="full" />
...

のように元のタグ(f:convertDateTime)を利用してカスタムタグ(my:convertDateTime)を作る場合、カスタムタグ
の属性値を委譲先のタグの属性に渡すにはどうやると良いでしょうか?


上の例ですと

<ui:composition><f:convertDateTime dateStyle=#{dateStyle} timeZone="JST"/></ui:composition>

とすれば可能ですが#{dateStyle}が空の場合に問題となります。

707:705
09/11/10 19:03:34
自分で解決してしまいました
HTMLEditorKitの使い方を間違えていたようですorz

708:デフォルトの名無しさん
09/11/11 01:32:05
コレクションワークフレームについて質問です。
現在「Javaの道」で勉強中なのですが、
URLリンク(www.javaroad.jp)
上記URLの例1の中で下記1.のような記述があります。
これは下記2.と同じ意味なのでしょうか。
2.でもエラーはでませんでした。
addメソッドの中に new ** というように記述するのを初めてみたもので。
メモリ確保やニュアンスがちがうのでしょうか。

1.(Javaの道 記載コード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
exList.add(0, new Integer(i));
}
}

2.(自分で書き換えたコード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
Integer it = new Integer(i);
exList.add(0, it);
}
}

709:デフォルトの名無しさん
09/11/11 10:44:54
一緒です
System.out.println(123 + 456);

int x = 123 + 456;
System.out.println(x);
が一緒なのと同じ理屈

710:デフォルトの名無しさん
09/11/11 22:03:58
>>708
こっちは同じコードだけど

>>709
こっちは最適化で変わるんじゃ・・

711:デフォルトの名無しさん
09/11/12 00:59:15
>>708
一旦変数に参照させてから使わないといけない、という決まりは無い。
String s = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
こういうのもあり。

712:デフォルトの名無しさん
09/11/12 07:08:19
ダブルバッファリングのことについて質問です
「Swing ではJRootPaneとそのコンテンツペインそれからJPanelクラスがダブルバッファリングを有効にしています」
というような記述を見つけたのですが、JPanel上に描画を行うならダブルバッファリングを行う必要はないのでしょうか

一般公開されてるソースを参考にJAVAでゲーム作成の勉強をしているのですが、
JPanelを使っているのにダブルバッファリングを使っていてちょっと混乱しています。

713:デフォルトの名無しさん
09/11/12 10:14:57
そのソースとやらがアクティブレンダリングやってるなら必要。やってないなら不要。

714:デフォルトの名無しさん
09/11/12 19:39:25
自分で図形が動いていくプログラムを書いて、表示が乱れるかどうかやってみりゃいいんじゃね。

715:デフォルトの名無しさん
09/11/12 19:46:47
C++ 使いです、C++ では、コンストラクタで例外を投げないというのがセオリーなのですが
java も同様に考えていいでしょうか?

716:712
09/11/12 20:04:39
>>713
返答ありがとうございます。
アクティブレンダリング(自前の描画メソッド?)が必須なときがいまいち分かってないのですが、もう少し調べてみます。
>>714
返答ありがとうございます。
自分でも色々実験して検証してみます。

717:デフォルトの名無しさん
09/11/12 20:14:52
>>715
Java では普通に例外を投げる。

718:デフォルトの名無しさん
09/11/12 20:47:27
そもそもリークするからとか言い出すC++厨が頭沸いてる。
コンストラクタで引っかかるようなモン、処理継続させたって無駄じゃね?

719:デフォルトの名無しさん
09/11/12 21:12:54
>>715 です
>>717
郷に入らずんば、郷に従え として、例外を投げても後始末してくれるという具合に考えます。
>>718
あまりにも思考が短絡的ですね。

720:デフォルトの名無しさん
09/11/12 22:03:04
ふーん、
・コンストラクタに置くしかなくて、
・でもエラーが起きても処理を継続させないといけない
って状況って何?

721:デフォルトの名無しさん
09/11/12 22:51:00
好きにしろよ
同意を求める為だけに質問するフリをするな

722:デフォルトの名無しさん
09/11/12 23:19:34
質問じゃねーよ、当てこすってるんだよ。
C++のローカル神話持ち込んできた癖に、そっちこそ好きにしろやww

723:デフォルトの名無しさん
09/11/12 23:37:33
分かると思って安価入れなかったんだけど、勘違い君に噛み付かれてるなあ
721は719向けね

724:デフォルトの名無しさん
09/11/12 23:39:59
相手が何でも察すると思うな。
きちんとドキュメントにしたまえ。

725:708
09/11/12 23:55:00
>>709, >>710, >>711
ご回答ありがとうございます。

>>711 これはすごいw。なんて複雑怪奇なんだ。
でも、行数減らしてかけるからスッキリしますね。


726:デフォルトの名無しさん
09/11/12 23:59:39
どこかのコンストラクタでエラーが起きただけでプログラム停止できれば楽だろうねぇ。

727:デフォルトの名無しさん
09/11/13 00:03:10
止めたくなければ上位のメソッドでキャッチすりゃいいだけだよ
どこまで頭悪いんだ

728:デフォルトの名無しさん
09/11/13 00:04:46
むしろなんでC++はコンストラクタで例外投げないの?
コレクションからコレクション作るときnull許可しないなら普通に投げないか?

729:デフォルトの名無しさん
09/11/13 00:08:42
C++ コンストラクタ 例外でググるとそんなのは迷信だってサイトが大量に出てきて笑えるよ
時代遅れの妄言だな

730:デフォルトの名無しさん
09/11/13 00:35:35
>>727
>>720


731:デフォルトの名無しさん
09/11/13 00:41:16
>>725
え゛? 複雑? あー、でもJavaじゃメソッドチェインはあんまやらないから、見慣れない人がいるのもしゃーないのか。
ライブラリが「void返すくらいならthis返せ」って思想だったらよかったのに。

732:デフォルトの名無しさん
09/11/13 02:07:25
>>727
たぶん、new した所が普通に上位のメソッドだという考えになっていないんだろうね。
C++ だとローカル変数を置くだけでオブジェクトが生成されちゃうこともあって。


733:質問者
09/11/13 08:48:30
1. Java1.6の、型を限定したListの作り方を教えてください。
2. inport java.util.List;として、他の場所ではList型が使えているのに、
 new List(); が、「型Listのインスタンスを生成できません。」とコンパイルエラーになります。
理由に心当たりがありましたらご教授ください。

734:デフォルトの名無しさん
09/11/13 09:17:02
Listは実装じゃなくてインタフェースだから
List型の変数は宣言できても実体は作れない
実体はLinkedList<T>やArrayList<T>や自分で作った実装のあるクラスでないといけない
List<?> list = new ArrayList<?>();
とか

735:733
09/11/13 09:50:48
>>734
ありがとうございました。

736:デフォルトの名無しさん
09/11/13 10:34:51
エラーでてるのに処理続けてもなあ。
エラー出ない様に対処してから再試行するべき。

737:デフォルトの名無しさん
09/11/13 10:52:08
勘違い君は、>>727だけでなく>>732もなのか。
>>726では「キャッチしなくていいなら楽だ」って意味なのに、>>727で「キャッチすりゃいい」なんてレス
入れるのは勘違いも甚だしい。

また、>>718>>720の脈絡からすれば「コンストラクタでエラーならプロセス停止するべき」って言ってる
に等しい。
リークが問題になるのはプロセスを継続する場合なんだからな。
「処理」って「エラーになったクラスの処理」だったなんて寝ぼけたこと言うのかもしれんが。


738:デフォルトの名無しさん
09/11/13 12:20:09
578 名前: デフォルトの名無しさん [sage] 投稿日: 2009/11/13(金) 12:00:40
HTTPは無理しすぎだからな。
本来は閲覧専用のプロトコルだったはずだ。

いつの間にか書き込みができるようになったり、
個人識別ができるようになったり、
pushもできるようになったり。

739:732
09/11/13 12:22:46
>>737
>>737 は、>>727 がどのレスに対するレスなのかを勘違いしていると思われる。

740:デフォルトの名無しさん
09/11/13 12:36:53
アンカー付けようねってことだねwww

741:デフォルトの名無しさん
09/11/13 13:33:09
Javaで正規表現を使うにはどうしたらいいでしょうか?
また、Javaの文字(char)のユニコード値を得る(int)コードはどうしたらいいでしょうか?

742:デフォルトの名無しさん
09/11/13 13:33:50
間違えてsageてしまったのでageます

743:デフォルトの名無しさん
09/11/13 13:37:26
正規表現はPatternクラス
charはキャストすればintに入る

744:デフォルトの名無しさん
09/11/13 13:39:48
間違えた
「キャストしなくても」

745:デフォルトの名無しさん
09/11/13 13:44:32
>>743(名無しさん)
ありがとう

746:デフォルトの名無しさん
09/11/13 19:49:29
Hibernateについて質問させてください。

複数クラスとテーブルのマッピングSQLを作成するにあたり、
以下の方法では取得できています。

@itより抜粋
Query sqlQuery = session.createSQLQuery(
" select {mem.*},{wg.*} from member {mem} join workgroup {wg} “ +
“ on {mem}.groupno = {wg}.groupno", new String[] { "mem","wg"},
new Class[] {Member.class,WorkGroup.class});
List list =sqlQuery.list();
for (int i = 0; i < list.size(); i++) {
Object[] items = (Object[]) list.get(i);
Member member = (Member)items[0];
WorkGroup group = (WorkGroup)items[1];
System.out.println(
member.getNo() + ":"
+ member.getName() + ";group:"
+ group.getGroupname()
);
}
session.close();

質問に入りますが、全列を使用するわけではないので、取得列名を絞り込むこと
は可能でしょうか。絞込みによる性能向上を期待しています。

どなたかお分かりになる方の助言をお待ちしています。
よろしくお願いいたします。

747:デフォルトの名無しさん
09/11/13 20:01:07
質問します。
java で、ファイルに書き込まれている内容の比較をしたいのですが、そのようなメッソッドは無いでしょうか?

748:デフォルトの名無しさん
09/11/13 20:11:55
Javaでやる必要があんのけ?

749:デフォルトの名無しさん
09/11/13 20:14:29
javaでやれといわれたので。

750:デフォルトの名無しさん
09/11/13 20:23:00
そのようなメッソッドはありません
普通にファイルを読み込んでから普通に内容を比較してください

751:デフォルトの名無しさん
09/11/13 20:27:47
黒魔法メッソッド!!!

752:デフォルトの名無しさん
09/11/13 20:38:16
>>747
MappedByteBuffer#equals()でも使うのがお手軽じゃない?
使ったこと無いけど。

753:デフォルトの名無しさん
09/11/13 23:34:26
スレリンク(tech板)
★★ Java の宿題ここで答えます Part 68 ★★

754:デフォルトの名無しさん
09/11/13 23:51:03
質問させてください。

現在Swingで、コンボボックスを画像表示にし、
そこで選択された画像を、フレーム中央に表示させるプログラムを作っています。
ところが、getSelectedItemの設定で行き詰ってしまいました。
どなたかアイディアをお貸しいただければ幸いです。

ちなみに現在のソースは以下のようになっています。
色々いじくったので可笑しなことになっているかもしれません。
URLリンク(rg550.hp.infoseek.co.jp)

どうぞよろしくお願いします。

755:デフォルトの名無しさん
09/11/14 00:51:34
>>754
combo.setRenderer(new JLabel());
になってないか?

756:デフォルトの名無しさん
09/11/14 00:54:35
>>754 JavaDocではこうなっている。
void setRenderer(ListCellRenderer aRenderer)

757:755-756
09/11/14 01:08:46
間違えた。すまん

758:754
09/11/14 01:16:20
>>755-756
いえ、非常にありがたいです。
他にも何かお気づきの点があれば、よろしくお願いします。

759:755-756
09/11/14 01:31:36
class ComboLabelにtextとicon保存
public Component getListCellRendererComponent内で上で保存したtextとiconをJLabelにセットしなければならないから、

class ComboLabel{
にtext追加。
public Component getListCellRendererComponent(
にsetText追加。

すればいいんじゃないかと……

760:デフォルトの名無しさん
09/11/14 02:04:27
>>754
これで普通に画像の切り替えできてるよ。
変数が見えてなかったりLabelが表示されてなかったりしたのも直したけど。

MyCellRenderer renderer = new MyCellRenderer();
combo.setRenderer(renderer);
combo.addItemListener(renderer);//追加


class MyCellRenderer extends JLabel implements ItemListener, /*追加*/ ListCellRenderer {
..... //省略
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon());
}
}

761:754
09/11/14 02:39:10
皆さんどうもありがとうございます。
早速教えていただいたように直してみました。

ところが、
lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon());
の箇所で、lb、modelを解決できませんというエラーが表示されてしまいます。

どこが間違っているのか、自分ではどうしても解決できませんでした。
もう一度教えていただいてもよろしいでしょうか。
お願いします。

ちなみに現在のソースです。
URLリンク(rg550.hp.infoseek.co.jp)

762:デフォルトの名無しさん
09/11/14 02:46:43
>>761
こっちに変えてみな。

public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
ComboLabel lbl = (ComboLabel)((JComboBox)e.getSource()).getSelectedItem();
lb.setIcon(lbl.getIcon());
//lb.setText(lbl.getText()); Textが必要ならComboLabelにgetText()を追加する
}
}

763:デフォルトの名無しさん
09/11/14 02:49:14
あと以下の2行を修正

public class Combobox extends JFrame{
private JLabel lb; //追加


//JLabel lb = new JLabel(("ここに画像が表示されます")); この行コメントアウトして下のように変更
lb = new JLabel(("ここに画像が表示されます"));;


764:754
09/11/14 03:01:24
迅速なお返事をどうもありがとうございます。
教えていただいたことを元に、もう少し自分で考えてみようと思います。

こんなに遅い時間まで、本当にどうもありがとうございました。

765:デフォルトの名無しさん
09/11/14 03:05:30
>>764
適当に動くようにしたソースはっとくよ。

URLリンク(rg550.hp.infoseek.co.jp)

766:754
09/11/14 03:12:17
わざわざソースまで!
自分の求めていたとおりに動かすことができました。
本当にありがとうございます。
自分ももっと勉強します。

767:デフォルトの名無しさん
09/11/14 03:35:46
MyCellRenderer extends JLabel implements ListCellRenderer
よりも
MyCellRenderer extends DefaultListCellRenderer
にするといいよ。
getListCellRendererComponent() の最初で
super.getListCellRendererComponent(); を呼んで、
アイコンをセットして、
最後に return this; とすればいい。

768:デフォルトの名無しさん
09/11/14 07:53:25
java でC/C++ でいうところの、関数ポインタのような振る舞いをさせるには
どのようなデザインパターンを用いればいいでしょうか?
2つのboolean 値があって、その値の内容の組み合わせパターン(2^2)によって、呼び出すメソッドを変えたいのですが
if ~else if 構文や、switch 文はかっこ悪いので使いたくありません、よろしくお願いします。

769:732
09/11/14 08:59:26
>>768
Java では関数ボインタを変数に持ったり、関数ポインタを使って多相化することはない。
そういうことをしたい時は、オブジェクトを変数に持って、パターンによって、
共通のインタフェースを実装した異なるオブジェクトを呼ぶことになる。
関数テーブルの代わりにはオブジェクトテーブルということになるが、
オブジェクトテーブル以外にも、4つのパターンを表現した enum クラスを作って、
各 enum 定数の中に実装を書くなどの作戦もある。

770:デフォルトの名無しさん
09/11/14 09:17:34
>>769
Thx

771:デフォルトの名無しさん
09/11/14 09:28:13
>>769
それ、なんてStrategyパターン?

772:768
09/11/14 09:41:43
>>771
外していたらごめんなさい、多分State パターンではないでしょうか?

773:デフォルトの名無しさん
09/11/14 14:23:46
総称型の配列が作れません。
以下のような場合どうすればいいのでしょうか?

public T[] getSpecifiedElements(T[] allElements) {
   //allElementの一部要素をT配列で返したい。
}

ArrayList<T> temp = new ArrayList<T>(); に必要な分をつめこんで、
temp.toArray(new T[temp.size()]); ってしたいのですが無理なようです。
(T) temp.toArray(); もクラスキャストエクセプションになってしまいした。。。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch