トップページ⇒tech
1001コメント355KB

【初心者】Java質問・相談スレ52【大歓迎】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

前スレッド
【初心者】Java質問・相談スレ51【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1091666193/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
00021NGNG
前スレで質問した994です。前スレの996は自分ではありません。
レスしてくださった995,999さんありがとうございました。
BufferedImageで領域を確保してsetRGBで描いてみます。
JAVADOCのsampleに書いてあったのでそのまま使ってしまいました。
BufferedImage bi = new BufferedImage(640, 480, TYPE_INT_RGB);
かな?スレ汚しすみませんでした
0003デフォルトの名無しさんNGNG
うんこ死ねば
0004デフォルトの名無しさんNGNG
ついさっきからJava始めたのに、新スレが立たなくて焦ってますたw
>>1
ありがとん
0005デフォルトの名無しさんNGNG
ミスにもほどがあるだろw
0006デフォルトの名無しさんNGNG
自分をインスタンス化したクラスを引数なしで取得する方法、
というのがあれば知りたいです。
ソースで説明すると、こんな感じです。

class Class2 {
  public void aaa() {  
    (Class1のmainを実行した際、ここでClass1を取得する)
  }
}

class Class1 {
  public static void main(String args[]) {
    Class2 class2 = new Class2();
    class2.aaa();
    ....
  }
}

aaaの引数としてクラスを渡せばいいのは分かりますがですが、
できれば今後の為にもスマートな方法が知りたいです。
バージョンは1.3.0がありがたいですが、最新とかでもかまいません。
0007デフォルトの名無しさんNGNG
>>6
通常できません。

JDK1.4以降なら、こういう物凄い無理やりなやり方が。
1.例外オブジェクトを作成。
2.いっこ上のスタックトレースエレメントを取り出し。
3.クラス名を文字列で取り出して何とかスレ。

JDK1.3以前だったら、Log4J旧版みたいに、スタック
トレースの文字列パースするしかないか…

全然綺麗じゃないな。
0008デフォルトの名無しさんNGNG
>>6
明らかにクラス設計に無理がある。まずはそこを見直せ!
00096NGNG
>>7 >>8
回答thanksです。
もっと勉強します。
0010デフォルトの名無しさんNGNG
JAVAアプレットですが
自分でフレームワークを作りたいんですが

public class test_base extends Applet implements Runnable {
...
OnInit(){}
...
}
みたいな、クラス作って
public class test_main extends{
OnInit{ // しょり }
};

で、test_mainをアプレットとして使いたいんですが。
できますか?

0011デフォルトの名無しさんNGNG
>>6

>aaaの引数としてクラスを渡せばいいのは分かりますがですが、
>できれば今後の為にもスマートな方法が知りたいです。

全然スマートじゃないと思うのは私だけでしょうか?
aaa()が何の変数を必要とするのか分からなくなっちゃいますよ。
C言語でグローバル変数使うようなもの。
どこで何の変数が使われているか分からない・・・。 (ソースを熟読しないと分からない->自分しか分からない)
見た目が綺麗っぽいというのであればある程度納得はできるのですが、やっぱり・・・。

ならclassloaderはどうなんだ!?って突っ込まれるかも・・・。
うう・・・。
0012デフォルトの名無しさんNGNG
>>10
そんな簡単なこと自分で試せばすぐ分かるだろ?
0013デフォルトの名無しさんNGNG
>>10
ん?なんか変じゃない、それ

extends { }; って初めて見た。インナークラスか?
0014デフォルトの名無しさんNGNG
>>10
二つ間違ってる。
public class test_main extends test_base() {
OnInit{ // しょり }
};
としたい気持ちは分かるが、  不  可  能
0015デフォルトの名無しさんNGNG
今までPerlをかじってて,最近Javaの勉強を始めたのですが,
Javaだとこれこれこういう処理がしたい・こういうメソッドは無いだろうか?
こういう処理はどういうやり方がポピュラーなんだろうか?
という時に,どうやって調べればいいのでしょうか.
オンラインドキュメント(javadocていうの?)で調べることはできるのでしょうか?
このメソッドはどういうものだっけって時には調べられるみたいでしたが,
逆はどうやればいいのかな,と.

Perlでは例えば配列のケツに要素を加える関数とか無いのかなって時には
らくだ本やポケットリファレンスで配列に関する関数の章を調べて,
pushという関数があるのか,という流れになると思うのですが….
使い方がわからない時はperldoc見れば典型的なコーディングが書いてありますし.

Javaは基本的な文法を覚えたら後はオンラインドキュメントを見ながらやれと
聞いたのですが….そういう風な調べ物をする時には,オンラインドキュメントではなく書籍やGoogleを
使うものなんでしょうか?
0016デフォルトの名無しさんNGNG
>>15
単に慣れの問題だと思われ。
0017デフォルトの名無しさんNGNG
byte[][]型を返すメソッドで

byte[] buf1;
byte[] buf2;
・
・
return new byte[][]{buf1, buf2};

としてるのですが、呼び出し側で返されたbuf1とbuf2のの中身が
全然異なったものになってしまいます。
buf1とbuf2を受け取るにはどうしたら良いのでしょうか?
0018デフォルトの名無しさんNGNG
byte[][]型を返すメソッドを作成したのですが

byte[][] getArrays() {
  byte[] array1;
  byte[] array2;
  ・
  ・
  return new byte[][]{array1, array2};
}

void receive() {
  byte[][] as = getArrays();

  as[0] ← 上のarray1と中身が異なる
  as[1] ← 上のarray1と中身が異なる
}

となってしまいます。何故なのでしょうか?
0019デフォルトの名無しさんNGNG
>>18
> byte[][] getArrays() {
>   byte[] array1;
>   byte[] array2;
>   ・
>   ・
>   return new byte[][]{array1, array2};
> }
array1, array2 への代入を省略するな。

>   as[1] ← 上のarray1と中身が異なる
当然の結果だが、何かマズいのか?
0020デフォルトの名無しさんNGNG
as[1] ← 上のarray2と中身が異なる

書き間違えました。array1とarray2にはファイルから読み込んだ
データが入ってると思ってください。
0021デフォルトの名無しさんNGNG
>>19
おかげ様で解決しました。ありがとうございました。
0022デフォルトの名無しさんNGNG
SwingのJpanelの中にawtのpaintを使用してdrawlineなどで
グラフを作成することは可能なんでしょうか?
0023デフォルトの名無しさんNGNG
>>15
Perlのらくだ本のようなものなら、
>>1のwiki「Javaでプログラムを始めるためには、まず何をすればいいの?」のページで紹介している
http://java.sun.com/docs/books/tutorial/ かなあ。

たしか、その一部は日本語に訳されて、書籍の形で出版されていたとおもう。
だが、それらの本は、らくだ本に相当するJavaの本というのとは、また微妙に違うような気もするねえ。
私は何か調べ物をするときは、上のページで調べたいテーマに関連しているtrail等を探して、
英文翻訳ソフトと、書かれているソースコードを頼りにしているが。

らくだ本のようなものが何冊かあれば、
wikiのサイトに、1ページくらいさいて紹介してもいいとおもう。

>>18 >>20-21
配列の配列ならこのページだが。
http://java.sun.com/docs/books/tutorial/java/data/multiarrays.html
as[0]とarray1も、as[1]とarray2も中身が異なるはずがないので、なにかの勘違いと思われるが。
002422NGNG

ご解答宜しくお願いします
0025デフォルトの名無しさんNGNG
>>24
例えば?
002622NGNG

SwingのJpanelの中にawtのpaintを使用してdrawlineなどで
グラフを作成することは可能なんでしょうか?
0027デフォルトの名無しさんNGNG
awt の paint って java.awt.Component#paint(Graphics) の事か?
002822NGNG
うん
Jpanelのなかでグラフとかかけないんでしょうか?

0029デフォルトの名無しさんNGNG
>>22が何を言いたいのかよくわからない
とくに「awtのpaint」というのがよくわからない。
なので、適当に回答すると、

SwingのJPanelには、スーパークラスから継承したpaint(java.awt.Graphics)メソッドがあるので、
paint(java.awt.Graphics)メソッドのなかで、好きなだけ
java.awt.GraphicsクラスのdrawLine()メソッドを呼び出せばいいとおもう。

あとpaint()メソッドよりは、paintComponent()メソッドを使ったほうがいいとおもう。
0030デフォルトの名無しさんNGNG
>>28
そういうことなら、
drawLine()の使用例ではないが、drawRect()の使用例でも同じ様な物だろう。
http://java.sun.com/docs/books/tutorial/uiswing/14painting/index.html
http://java.sun.com/docs/books/tutorial/uiswing/14painting/concepts2.html
003122NGNG
>>29
そんな良いメソッドがあったんですか!
適当などではなく私がやりたかったことに対して非常に的を得た解答です
ありがとうございました
0032デフォルトの名無しさんNGNG
接続されているプリンタの一覧を取得するには
どのようにすればよろしいでしょうか。

JDK1.4です。
ご教授よろしくお願いいたします。
0033デフォルトの名無しさんNGNG

Jsp/Servletを使用できる鯖で、
appletを使用不可にする方法ってあるんですか?
0034デフォルトの名無しさんNGNG
>>33
アプレットのファイルを置かない
003533NGNG
アプレットのファイルとはアプレットのクラスファイルのことですか?
0036デフォルトの名無しさんNGNG
>>35
そう。当然クラスファイルが無ければ使えません。
0037デフォルトの名無しさんNGNG
>>23
うーんらくだ本というか,こうこうこういう処理をしたい時に使う関数や
典型的なコーディングはこうよってのを調べる手順というか,そういうのを
知りたいんですよね.
とりあえずその和訳されて書籍の形で出版されてるって奴を見てみます.
0038デフォルトの名無しさんNGNG
僕はC言語がマスターできなくてjabaにうつってきました
jabaができるなこいつって、いわれるぐらいのレベルの基準を
おしえてください
0039デフォルトの名無しさんNGNG
みんな耐えろ!あと1週間耐えればこういうアフォは消える。
0040デフォルトの名無しさんNGNG
>>37
だからもー、関数とか言うな。
0041デフォルトの名無しさんNGNG
>>32
お望みにかなうかわからないが lookupPrintServicesとか
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jps/spec/printing.fm2.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/print/PrintServiceLookup.html
0042デフォルトの名無しさんNGNG
>>37
典型的なコーディングならJavaチュートリアル。
もしくは使いたいメソッドやクラス名をたよりに、
perlでスクリプトを組んで付属のソースから使用例を検索するとか。
0043デフォルトの名無しさんNGNG
自分はeclipseでjavaのコーティングをやっているのですが,
自分が使っているコンパイラの情報を知る(どういうコンパイラを使ってるか)
にはどうすればよいのでしょうか?
0044デフォルトの名無しさんNGNG
>>43
Window -> Preferences -> Java。
もしくは、
Javaプロジェクトのプロパティにコンパイラの設定
項目がある。
Eclipseはjavacを使わないのでJRE/SDKの設定は関係ない
ことに注意。
004543NGNG
>>44
すみません。Window -> Preferences -> Java。というのはWINDOWSの
環境設定を行うといういみなのでしょうか?いろいろ試したんですけど
WINDOWSの環境設定のやり方がわからないので,具体的に方法を教えていただけ
ないでしょうか?(どこで右クリック等々‥‥)

あと,
Javaプロジェクトのプロパティのjavaコンパイラ−という項目を開いても
javaコンパイラーのオプションという欄は出てくるのですが,そのコンパイラー
の種類と思われるものがどれに相当するのかがわかりません。

すみません、初心者で申し訳ありませんが教えてください
0046デフォルトの名無しさんNGNG
>>45
EclipseのメニューバーにWindowってのがある。それ。
日本語版だと「ウィンドウ->設定」かな。
ところで43がいうところのコンパイラの種類って
具体的になによ。
0047デフォルトの名無しさんNGNG
>>46
Sun、IBM、BEAあたりじゃないの?
0048デフォルトの名無しさんNGNG
>>47 そういう話なら種類もへったくれも無く、Eclipse.org
謹製の専用コンパイラで切替不可能。まあインクリメンタル
コンパイル切ってantでjavacやってもいいけど。
0049デフォルトの名無しさんNGNG
>>48
Window -> Preferences -> Java -> インストール済みのJRE
で使うコンパイラ切り替えられるけど、そういうことじゃなくって?
0050デフォルトの名無しさんNGNG
>>49
それは文字通りJREを切り替えているだけ。具体的にはコンパイル時
に参照する標準APIのライブラリの切替と、アプリケーション実行時
に使うVMを選択しているだけ。コンパイラはあくまでもeclipseに
添付されているものが使われる。つーか、いちどJava2SDKを
アンインストールしてコンパイルしてみると良く理解できる。
SDKないのにコンパイルできるから。
005143NGNG
どうもありがとうございます。

いろいろ、調べてみるとjavaというのはコンパイラによって演算速度や
最適化による速度の向上の仕方などが全然違うということがわかりました。
それで、実際に最適化を行ううえで自分が使っているコンパイラの種類を
把握しておかないといけないと思ったわけです。
Sun、IBM、BEAあたりですね‥。

で結局eclipse上でjavaを動かす場合はeclipse専用コンパイラである
Eclipse.org?を使うしかできないのでしょうか?

そのEclipse.orgというのは、IBMやSUNなどのコンパイラと比べてどういう性能を
もっているのでしょうか?そういうことが詳しく書かれてるサイトがあれば
紹介していただけないでしょうか?
0052デフォルトの名無しさんNGNG
>>51
速度の観点からEclipse Java コンパイラと他のコンパイラを
比較した例はすまんが私は知らない。
ただしどれくらいJava2の仕様にあっているかをテスト(JACKS)して
比較した結果なら見たことある。ぐぐれば出てくるかな。
かなり昔の結果だから今の系にあてはまらないとは思うけど
若干Sunのjavacに比べてミスが多かったと記憶してる。
0053デフォルトの名無しさんNGNG
あと、ついこの前J2MEスレで吐き出されるクラスファイルが
デバッグ情報を全部オフにしても若干大きいという書き込みがあった。
0054デフォルトの名無しさんNGNG
連投ごめん。忘れてた。
>で結局eclipse上でjavaを動かす場合はeclipse専用コンパイラである
>Eclipse.org?を使うしかできないのでしょうか?
上でも書いたけど、ビルド中に行われる
コンパイルをantスクリプトに差し替えられるので
そのなかでjavacすればかえられるんじゃないの?


0055デフォルトの名無しさんNGNG
>>50
ほうほう。確かにJREだもんコンパイラ関係ないね。
実行・デバッグ時に使うくらいか。

>>51
実行環境側ではBEAのJRockitが速いというのをどこかで見た記憶がある。
0056デフォルトの名無しさんNGNG
JavaのStringに
Cで言うsprintf、MFCだとCString::Format
("%04d"見たいな書式)
やりたいんですが
ありますか?
0057デフォルトの名無しさんNGNG
>>56
java.text.DecimalFormatがお望みのものかと。
ttp://www2s.biglobe.ne.jp/~yuuki_ki/java_number3.htm
0058デフォルトの名無しさんNGNG
>>56
あります。
ttp://www.braju.com/index.html
0059デフォルトの名無しさんNGNG
>>51
今のJavaって実行時コンパイルによる最適化の割合が
かなり高いと思うから、コンパイラだけじゃなくてVMの
ほうも調べたほうがいいと思うけどね。
0060デフォルトの名無しさんNGNG
>>56
Tiger(J2SE 5.0)ならprintfもある。
0061デフォルトの名無しさんNGNG
>>43
Eclipseの内蔵コンパイラは開発中の自動コンパイル用だと認識していい。
プロダクトとして出すものはantか何かで外部のお好みのコンパイラを
使って作ればいい。
0062デフォルトの名無しさんNGNG
コンパイラに関していつも思うのだけれど
Win用SDKのjavacでコンパイルしてLinux上で実行するのと
Linux用SDKのjavacでコンパイルしてLinux上で実行するのと
速度などなど変わるのでしょうか
0063デフォルトの名無しさんNGNG
>>62
javacはJavaVM上で実行されたようにおもう。
記憶があやふやなので、各自確認してね。
JavaVMの上で実行されるのなら、
生成されるclassファイルは基本的に同じものになるとおもう。
0064デフォルトの名無しさんNGNG
>>51
> いろいろ、調べてみるとjavaというのはコンパイラによって演算速度や
> 最適化による速度の向上の仕方などが全然違うということがわかりました。
どこを調べたんだろ?
0065デフォルトの名無しさんNGNG
jspからのSQL問い合わせって、*しかダメですか?
select TO_CHAR(aaa,'yyyy') from test
って書くと、結果が取得できませんが…
select * from test
は通るんですがね
006665NGNG
>>65
すみません自己解決シマスタ
カラム名の別名が微妙に違ってマスタ
逝ってきます
0067デフォルトの名無しさんNGNG
C言語で言うところのマクロ機能を実現するツールのようなものはご存じないでしょうか?

とりあえずDebugWriteを埋め込んでコンソール確認しているのですが、
実際に利用する際にはその部分をコメント化したいので
#ifdef 見たいなものがあればうれしいのです。
0068デフォルトの名無しさんNGNG
>>62-63 コンパイラ本体はSDK中のtools.jarの中にあるね。
0069デフォルトの名無しさんNGNG
>>67
マクロとはアプローチが違うけど、そんなあなたにCommons logging & log4j
ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta09/jakarta09.html
リリース時にログのレベルを変えてログを出力しないようにすれば解決。

あと、デバッグメッセージは開発中にしか使わないのであればこんなのも。
ttp://www.csg.is.titech.ac.jp/~usui/bugdel/
学士論文の成果物だって。面白いねこれ。
0070デフォルトの名無しさんNGNG
>>62-63
さらに言えば、JBuilder, eclipse, NetBeensなどの
JavaVM上で動く統合環境を使う利点の一つも、そこにあったとおもう。

javac自体がJavaプログラムであるし、コンパイルが終ればJavaVMも終了してしまうので、
コンパイルのたびにJavaVMを起動しなければならない。

現在のJavaのネックは、VMの起動に時間がかかることなので、このロスは大きい。
しかしJavaVMを一度起動すれば、
JavaVMを終了させずに全ての処理を行い続ける統合開発環境には、そのロスがない。

もっとも最近のパソコンなら、javacを起動させても、
JavaVMの起動時間を意識することもあまりないけどね。
0071デフォルトの名無しさんNGNG
>>67
これは?
JavaでHello World アサーション編
ttp://www.hellohiro.com/assertion.htm
0072デフォルトの名無しさんNGNG
>>71
アサーションは失敗するとAssertionError発生するからな・・・
catchしないとスレッド止まるし、用途が違うと思う。
0073デフォルトの名無しさんNGNG
>>70
ついさっきまでエクリプスはjavacつかわんって話してたばかりなんだが…
0074デフォルトの名無しさんNGNG
>>73
だからJavac使うよりコンパイル速いよってことでしょ?
0075デフォルトの名無しさんNGNG
OSはwindows98なのですが、hoge.javaを読み込めないとエラーがでます。
PATHもちゃんと設定したのですが…
なぜでしょう?
0076デフォルトの名無しさんNGNG
>>75
何をしようとしてるんだ?
Javadocでも作るのか?
0077デフォルトの名無しさんNGNG
>>75
いや、簡単なプログラムをコンパイルしたいのです。
C:\hoge>javac hoge.java
エラー: hoge.java を読みk(ry
0078デフォルトの名無しさんNGNG
77は>>76のレス
orz
0079デフォルトの名無しさんNGNG
>>75
>OSはwindows98なのですが、hoge.javaを読み込めないとエラーがでます。
そのhoge.javaを読み込むために、>>75が何をしたのか、
たとえばどういうコマンドをどこに入力したかなどを書いたほうがいいとおもう。
0080デフォルトの名無しさんNGNG
>>75
もちろんhoge.javaのあるディレクトリに移動済み、
もしくはフルパスでhoge.javaを指定してるんだよな?
0081デフォルトの名無しさんNGNG
>>78
そこにほんとうにhoge.javaというファイルがあるのか確認したほうがいいとおもわれ。
hoge.javaのかわりに、hoge.java.txtというファイルがあったり、ちがうディレクトリにいるとおもわれ。
0082デフォルトの名無しさんNGNG
>>74
既に起動してる VM から tools.jar の com.sun.tools.javac.Main 実行すれば速いとかそーゆー話?
0083デフォルトの名無しさんNGNG
>>81
hoge.java.txtになっていました。
どうやったらjavaファイルになりますか?
0084デフォルトの名無しさんNGNG
>>82
だと思うけど
0085デフォルトの名無しさんNGNG
Ω ΩΩ <な、なんだってー
0086デフォルトの名無しさんNGNG
>>83
色々いじってみましたが、もう無理です。
hoge.java.txt を hoge.javaにする方法を教えて下さい。
お願いします。
0087デフォルトの名無しさんNGNG
>>86
コマンドプロンプトで
rename hoge.java.txt hoge.java


ネタで書いてるのなら
2ch来ない方がいいよ。
0088デフォルトの名無しさんNGNG
>>86
それはもうJavaの質問じゃないから、ここのスレの人たちには答えられないと思うよ?
初心者スレとか行ってみたら?
008986NGNG
すいません。ご迷惑をおかけしました。
0090デフォルトの名無しさんNGNG
>74
間違えた、エクリプスはsdkのコンパイラはつかわず独自の内蔵コンパイラ使うっ
て話をしてた。
0091デフォルトの名無しさんNGNG
>>89
つい先日同じ間違いをやらかした折れには他人事と思えん…
折れもがんがるから、おまいもがんがってくれ
0092デフォルトの名無しさんNGNG
Java1.3.?のころと今Javaで文法上で変わったところはありますか?
0093デフォルトの名無しさんNGNG
>>92
ttp://java.sun.com/j2se/1.4/ja/compatibility.html#incompatibilities1.4
0094デフォルトの名無しさんNGNG
ありがとう
0095cygwinが大嫌い。NGNG
Java製Cコンパイラが欲しいのですが、既存のもので何かありますでしょうか?
あと、Java製のシェルなんてのも探してます。
散々調べてみたのですが、それらしきものが見つかりませんでした。

無ければ、つくります。
0096デフォルトの名無しさんNGNG
JPanelの上にJComponentを重ねようとしてもコンポーネントが描写
されないのですがどのような原因が考えられるでしょうか?
0097デフォルトの名無しさんNGNG
>>96
repaint() はしてますか?
0098デフォルトの名無しさんNGNG
>>96
JPanelがJComponentの描画を阻害してる。
0099デフォルトの名無しさんNGNG
>>95
できたyo!!

public class jcc{
public static void main(String[] args){
try{
java.lang.Runtime.getRuntime().exec("gcc "+args[0]);
}catch(Exception e){}
}
}
0100デフォルトの名無しさんNGNG
>>97
はい、残念ながらしてました。
>>98
対処方法は何かありますか?
0101cygwinが大嫌い。NGNG
>>99
それは既存のgccを、Javaという手段を使って呼び出しているに過ぎないではないですか。
自分の欲しいものは、そのgccの内部で行われる処理をやってくれるJavaのクラスなのです。

と、ネタにマジレス。
0102名前は開発中のものです。NGNG
javaはマルチプラットホームだけど、
JAVAで動くCの対象の機種はなんなの?
それが決まらなきゃコード吐けないジャン。
0103デフォルトの名無しさんNGNG
きっとCのソースを動かしたいだけなんだろ?
細かい事はなーんも考えてないんだろ?
0104デフォルトの名無しさんNGNG
>>102
ネタにマジレスイクナイ!
0105デフォルトの名無しさんNGNG
>>99
引数が1個しか取れない
Java厨ってほんとアフォだな。
0106デフォルトの名無しさんNGNG
>>95
BeanShell?
0107デフォルトの名無しさんNGNG
どうせコンパイラを作れとかいわれた学生だろ?
すなおにJavaCCでぐぐれよ。
もしくは下のスレで聞いてみな。

http://pc5.2ch.net/test/read.cgi/tech/1091647502/
0108デフォルトの名無しさんNGNG
メソッドと,static finalのフィールドだけを定義しようと思った時に、
interfaceの中に作るのと、クラスの中に作るのではどちらが良いのでしょうか?

消費メモリの量、処理のスピードが両者で違ったりしますか?
0109ゲッツNGNG
質問させてください。
現在、Strutsを用い、JNDI接続という方法を使って
参考:http://www.atmarkit.co.jp/fjava/javatips/004container003.html
ODBCと接続し、MDBに入っているデータ一覧を表示するプログラムを組んでいるのですが、
DBにConnectするところで落ちてしまいます。

デバッグを行うと:
javaURLContextFactory.<init>() 行: 49 のソースが見つかりませんでした。
と表示されます。
Context ctx=new InitialContext();  ←ここで落ちる
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
db=ds.getConnection();

何が考えられるのでしょうか?
宜しくお願いします。
0110デフォルトの名無しさんNGNG
>>108
抽象クラスとインターフェースはそんなことでどっちを選ぶかなんてものではないぞ
0111デフォルトの名無しさんNGNG
>>109
StrutsかDBの設定がまずいんじゃねーの
0112ゲッツNGNG
TomcatのServer.xmlのコンテキストに
<Resource name="jdbc/TestDB" auth="Container"
type="javax.sql.DataSource" debug="1" />
<ResourceParams name="jdbc/TestDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>sun.jdbc.odbc.JdbcOdbcDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/wings?user=root&password=root&useUnicode=true&characterEncoding=Windows-31J</value>
</parameter>
</ResourceParams>
を追記し、アプリケーションのWeb.xmlに
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
を追記したのですが。
それで、管理ツールのデータソース(ODBC)にID:root、パス:rootで設定したのですが。
0113ゲッツNGNG
> 111
Strutsとかの設定ファイルがおかしかったら、Tomcat起動時にエラーが起きますよね?
それか実行したときにインスタンスエラーとかに・・
0114デフォルトの名無しさんNGNG
>>113
そうとも限らん。
自分で正しいと思ってるところでも、見直すと間違いが見つかることもあるぞ。
0115デフォルトの名無しさんNGNG
JPanelを継承したクラスにpaint()メソッドを付けたらパネルにメニューバーくっついてきたり、
設定した背景色が無視されたりしちゃうんですけど。paint()メソッドの使い方を間違えているのでしょか?
ちなみにメソッドの中は特に何も書かなくても同じ現象がおきます。
0116115NGNG
メニューバーはパネルを置くJFrameのやつです。
0117ゲッツNGNG
>> 114
Eclipseのコンソールに
こんなんが出たのですが・・・
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'sun.jdbc.odbc.JdbcOdbcDriver' for connect URL 'jdbc:mysql://localhost/wings?user=root&password=root&useUnicode=true&characterEncoding=Windows-31J', cause:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(Unknown Source)
これってドライバーがないというエラーなのでしょうか?

ちなに今いじった箇所はODBCのドライバをMicrosoft Access Driver⇒Driver do Microsoft Access
に変更してみたのですが・・・

環境も書きますと
Tomcat5.0
Eclipse3.0
JDK1.4.2
Struts1.0
です。
0118デフォルトの名無しさんNGNG
>>117
なんでMySQLにつなごうとしてるのにJDBC-ODBCドライバなんて使ってるんだ?
俺はMySQLとODBCドライバには詳しく無いが、それでいけるのか?
0119デフォルトの名無しさんNGNG
>>115
>>29あたりにも指摘があるが、JPanelならpaint()よりも、
paintComponent()メソッドを使ったほうがいいと思う。

ただ、詳しいことがわからないのでなんともいえないけれど、
paint()メソッドの処理を、paintComponent()に置き換えるだけでは問題は解決しない予感。
0120デフォルトの名無しさんNGNG
パネルの上にコンポーネントを乗せたあと、パネルに線を描くとき、
その線がコンポーネント上にあった場合線がそのコンポーネントの上に描かれてしまうのですが
これを回避する方法はあるでしょうか?
いつでもそのコンポーネントが上にくる感じにしたいのですが・・・
0121115NGNG
>>119
解決しました。ありがとう!
0122ゲッツNGNG
>>118
ですよね・・・私も疑問に思っていたのですが・・・
ODBCに接続するように変更したら、DBに接続がうまくできました!!
ですが、ページにアクセスすると以下のエラーが・・・
The server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: No getter method for property ADDRESS of bean bookInfo
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
これはどういうエラーなのでしょうか?
bean関係のエラーですよね?ってことは値の受け渡しのところでしょうか?
これは
http://localhost:8080/***/***.do
とアクセスするとDBに接続し、一覧を表示するだけのもなので、リクエストなど、渡す引数等はないのですが・・・
何度も質問で申し訳ありませんがお願いします。あともう一息だと思うのですが・・・
0123デフォルトの名無しさんNGNG
>>122
Strutsコンフィグ見直せ。
Form使ってねーのにForm設定してあるだろ。
0124ゲッツNGNG
>>123
レスありがとうございます。

見直したところ、
<form-beans>
に設定をしていたので、はずしたのですが、動きませんでした。

ストラッツコンフィグには
<action-mappings>
に
<action path="/View" type="test.BookViewProcess">
<forward name="success" path="/ItiranView.jsp" />
</action>
しか記述していません。

他に何が原因が考えられるでしょうか?
0125ゲッツNGNG
補足です。
同じエラーです。
0126デフォルトの名無しさんNGNG
>>124
じゃあ、JSPとJSP側で使ってるクラス。
JSP側のStrutsのタグのpropertyとクラスのgetterメソッドの名前が違ってる。
0127ゲッツNGNG
>>126
>JSP側のStrutsのタグのpropertyとクラスのgetterメソッドの名前が違ってる。
を見直したところできました!!!!

本当に本当にありがとうございました。
まだまだ勉強が足りません・・
これをベースに色々勉強したいと思います。

ありがとうございました。
0128デフォルトの名無しさんNGNG
>>127
よく頑張った。感動した。
今後はエラー内容をよく読み、自分で解決できるようになれるよう精進するがいい。
あと、エラーでぐぐったりもしようね。
0129デフォルトの名無しさんNGNG
>>120
たぶんJPanelの上のコンポーネントが透明なのだと思う。
透明だから、コンポーネントの下のJPanelが透けて見えているのでは。

これを解決するためには、コンポーネントを不透明にすればいいので、
そのコンポーネントからsetOpaque(true)メソッドを呼び出せばいいと思う。

>>120-121
GUIについては、まだ落し穴がいっぱいあるので、
二人とも、こことかを見ておいたほうがいいとおもう。
How Swing Components Are Displayed
http://java.sun.com/docs/books/tutorial/uiswing/14painting/concepts.html
0130デフォルトの名無しさんNGNG
遅レス失礼

>69、>71

ありがとうございます。
本番では、バイトコードを削りたいので>69様のプラグインがアタリです。

( ´-`).。o(問題はEclipse使ってないんだよなぁ・・・
0131デフォルトの名無しさんNGNG
javaVMの古いバージョンが欲しいのですが何処かにありませんか?
0132デフォルトの名無しさんNGNG
現在の時刻を14桁の文字列で取得したいのですが
8月などだと「8」で返ってきてしまうのです
これを08などで取得するのはどうやればいいんでしょうか。
現在は「200482616152」のように帰ってきてます。

Calendar cal1;

cal1 = Calendar.getInstance( );
int year = cal1.get(Calendar.YEAR);
int month = cal1.get(Calendar.MONTH) + 1;
int day = cal1.get(Calendar.DATE);
int hour = cal1.get(Calendar.HOUR_OF_DAY);
int minute = cal1.get(Calendar.MINUTE);
int second = cal1.get(Calendar.SECOND);

System.out.println(year +""+ month +""+ day +""+ hour +""+ minute +""+ second);

0133デフォルトの名無しさんNGNG
>>132
SimpleDateFormatでも使え
0134デフォルトの名無しさんNGNG
>>133
レスありがとうございます

そのようにしようと思ってたのですが

import java.text.SimpleDateFormat;

がビルド通りませんです、、、

ちなみに
SimpleDateFormat sdf

もエラー出てしまいます。
0135デフォルトの名無しさんNGNG
>>134
Javaのバージョンと環境は?
0136デフォルトの名無しさんNGNG
>>135
う、そ、それは、、、

j2sdk1.4.2_04

で

MIDP(iAppli)です・・・・

スレ違いですいません、MIDPじゃ出来ないんでしょうか。。
0137デフォルトの名無しさんNGNG
あ、すいません

j2sdkじゃなくてj2meでした。。。
0138デフォルトの名無しさんNGNG
>>136
できないならJ2MEに入ってないんだろ。あきらめろ。
0139デフォルトの名無しさんNGNG
>>136
ttp://jcp.org/aboutJava/communityprocess/final/jsr118/index.html
ここにある仕様書DLしろ。
中にJavadocあるから、どのクラスが使えるかわかるだろ。
0140デフォルトの名無しさんNGNG
>>138
すいません、ありがとうございました
メソッド作って無理やり0くっつけるようにします。
お手数おかけしました。

>>139
ありがとうございます
simpleDateFormatは使えないみたいですね。。。
調べてから質問するようにします、ご迷惑おかけしました。
0141デフォルトの名無しさんNGNG
Enumerationについてよく分からないんですが、このインターフェースは
配列と同じような物と見なしたらいいのでしょうか?
似たようなのにVectorってのもあるし…
0142デフォルトの名無しさんNGNG
>>141
Enumerationは数え上げ用のインタフェースよ。
VectorやHashtableなんかに入ってるオブジェクトどもを一個一個順番に取り出したいときとかに使う。
同じ様なインタフェースでIteratorってのもある。
0143デフォルトの名無しさんNGNG
ttp://www.forexwatcher.com/quotes.htm
こういったJAVAで処理してるページから数字を取得する方法ないですか?
一般的なwebページだとhtmlのソースからで何とかなりそうなんですが。
0144デフォルトの名無しさんNGNG
>>141
java.util.Enumeration は java.util.Iterator の古い奴ね。
0145デフォルトの名無しさんNGNG
>>131
ここからさがせ。
ttp://java.sun.com/products/archive/
0146デフォルトの名無しさんNGNG
>>136 iappliはMIDPじゃねー。
0147デフォルトの名無しさんNGNG
zipファイルにパスワードを設定するプログラムを作りたいのですが、何か良い方法は無いでしょうか。
0148デフォルトの名無しさんNGNG
教えてください。
JDBCドライバーを使ったプログラムで、

Class.forName("org.gjt.mm.mysql.Driver"); // MySQLの場合
ってありますが、これってどこにインスタンスが出来るんでしょうか。
クラスローダーとかってJavaDocに書いてありますが、よく理解出来ません。

また、この後、
(中略)
ResultSet rs = stmt.executeQuery(sql);

ResultSet rs = stmt.executeQuery(sql);
// 検索された行数分ループ
while(rs.next()){
// NOを取得
int no = rs.getInt("NO");
// 言語を取得
String lang = rs.getString("LANGUAGE");
// メッセージを取得
String msg = rs.getString("MESSAGE");
// 表示
System.out.println(no + " " + lang + " " + msg);
}

と書くサンプルがあるんですが、ResultSetってインターフェースですよね。
でもインターフェースの意味を調べると、「実装のないメソッドが存在している」とあります。
実装のないメソッドがないのに、どうしてインターフェースのメソッドが叩けるのでしょうか。
どなたかエロい人、教えてください。
0149デフォルトの名無しさんNGNG
うふふふ、初々しいね。お姉さんが教えてあげようか?
0150デフォルトの名無しさんNGNG
AWTとSWTはどちらの動作の方が軽いでしょうか?
0151デフォルトの名無しさんNGNG
釣られてたまるか。
0152デフォルトの名無しさんNGNG
>>どなたかエロい人、教えてください
ぐぼげほあはぁうえがはいえろえろ

>>これってどこにインスタンスが出来るんでしょうか。
ヒープ領域にDriverクラスのClass型インスタンスが出来るぐぼへほはぁえろえろ。

>>どうしてインターフェースのメソッドが叩けるのでしょうか。
executeQuery(sql)が返してるのは、ResultSetを実装したインスタンス
であり、型がResultSetなだけなんでぐぼへほはぁえろえろ
0153デフォルトの名無しさんNGNG
netbeansはSwingで書かれてるんですか?
0154デフォルトの名無しさんNGNG
いい加減にしなさい。これ以上やるとただじゃおかないぞ。
0155145NGNG
>>152
ありがとうございます。

> >>これってどこにインスタンスが出来るんでしょうか。
> ヒープ領域にDriverクラスのClass型インスタンスが出来るぐぼへほはぁえろえろ。

うーむ、私の脳味噌では理解不能。




>>どうしてインターフェースのメソッドが叩けるのでしょうか。
> executeQuery(sql)が返してるのは、ResultSetを実装したインスタンス
> であり、型がResultSetなだけなんでぐぼへほはぁえろえろ
そのインスタンスの元のクラスって何でしょうか?
0156デフォルトの名無しさんNGNG
>>155
ResultSetインタフェースを実装したクラス。
JDBCドライバごとに違う。
ConnectionもStatementもすべてドライバごとに違うよ。
0157145NGNG
>>156
へー。つまり
Class.forName("org.gjt.mm.mysql.Driver");
であれば、このDriverのインスタンスが

Connection con も
Statement stmt も
ResultSet rs も
このドライバークラスから来たんですか。
これって目で確かめる方法ってあるんでしょうか?
質問厨でスマソ。
0158デフォルトの名無しさんNGNG
目で確かめる方法


Class.forName("org.gjt.mm.mysql.Driver");

を探す
0159デフォルトの名無しさんNGNG
>>157
Class.forNameは、下記のとは別。
それはある種類のドライバーをクラスをロードして、その種類のドライバーを
使用可能にする為だ。

ResultSet rs のインスタンスはそのインタフェースの動作ルールに
基づいて、その使用ドライバーが作成したオリジナルインスタンスだ。
確かめたいのならrs.getClsaa().getName()とすれば、そのドライバーの
オリジナルインスタンスのクラス名が出る。
0160153NGNG
>>154
真面目な質問なんですが。
誰か分かる方いませんか?
0161デフォルトの名無しさんNGNG
>>160
VisualBasic.NETで書かれています。
0162デフォルトの名無しさんNGNG
ahoka
0163swテーNGNG
swtで作ったアプリで選択したJDBCのversion情報を出力しようと思ってます

jdbcはClass.forName("ドライバ名")でインスタンス化できることはわかるんですが
そこで動的にclasspathを設定してやる必要があります
アプリケーションを中断せずに変更する方法はありませんか?

ちなみにSystem.getProperties()やsetProperties()でkey=java.class.path
にフルパス(ドライブ名から.jarまで)を設定してあげると、表示では変わったことになりますが、
実際にはパスは通ってないのかClass.forName("ドライバ名")でClassNotFoundExceptionが発生します
同じフルパスを実行時に-classpathで設定するとうまく行きますが実行中に行いたいです。

現在は選択されたドライバのフルパスを保存して動的にバッチファイルを生成、実行し
選択画面と処理画面を二つに分けていますが(二つのアプリケーションにしている)一画面で行いたいです。

Eclipseで環境変数を追加することができるなら方法はあると思うのですがわかりませんでした
どなたかわかる方いましたら教えてください
0164デフォルトの名無しさんNGNG
>>163
URLClassLoader使えば簡単だよ。
0165デフォルトの名無しさんNGNG
java初心者です。とりあえず手始めにエロゲーを作っています(w

とりあえず、
abstract Opai とabstract Manko
クラスを作りました。

それらを継承して、BigOpai , FixedMankoクラスを作ってそれぞれPeroperoListenerを実装して
LoliWomanBodyクラスに委譲したのですが、おっぱいを舐めた時のリスナーイベントの挙動がうまくいきません。
何故かおっぱいを舐めてもMankoクラスも反応してしましまいます。

なにかいい解決方法を教えてください。必要ならばソースもうpします。
0166デフォルトの名無しさんNGNG
ソースはいいからまず画像うpしる
話はそれからだ
0167swテーNGNG
>>164
やってみます
ありがとうございます。
0168デフォルトの名無しさんNGNG
>>166
画像ですか?java3Dでまだガクガクのポリゴンでダサいんですが・・。
マンコがBODYから浮き上がってますし。
0169デフォルトの名無しさんNGNG
>>166
萌え要素がない奴は却下
0170165NGNG
Strategyパターンを使っていますので、将来的に萌えにも対応できる設計です。
swingみたいにlook&feelだけ萌えに出来る予定です・・。
0171デフォルトの名無しさんNGNG
>>157
とりあえずお前は148な
0172トリビアの伊豆見NGNG
>>155

JDBCドライバでおまじないのようにClass.forName()しなきゃいけないのは、

単にDriver実装クラスのクラスイニシャライザがDriverManager#registerDriver(Driver)
を呼び出しているから、というだけの話。

別のタイミングで同じ事をするようにすれば、Class#forName()を呼ぶ必要はない、
って知ってた?
0173デフォルトの名無しさんNGNG
こんにちは

JTableのsetRowWidthを呼び出しても、行の幅(高さ)がかわりません
なにか他のAPIも呼び出す必要があるのでしょうか?
0174173NGNG
修正します

Windows2000でsetRowHeightを呼び出すと、行の高さが変わるのですが、
WindowsXPでsetRowHeightを呼び出しても、うまく機能してくれません。

このような不具合ってあるのでしょうか?
0175141NGNG
>>142>>144
レスサンクスです。
なるほど、あくまで連続した要素を取り出すためだけの
インターフェースなんですね。どうも有難うございました。
0176デフォルトの名無しさんNGNG
JFrameのサイズに関して質問があります。
オセロのような格子を描画するアプリケーションを作ろうとしてます。
JPanelを用意してpaintComponent()に50X50ピクセルの四角形を(0,0)を基点にして
8X8描くようにしてます。
またアプリケーション本体としてJFrameのcontentPaneにJPanelをはりつけました。
このとき、JFrameの大きさをsetSize()で400X400(パネルが50X50ピクセルで8X8だから)
にしたのですが、格子全体が表示されません。いつも420X420くらいにしないと全体
を表示できません。
JFrameの大きさをパネル全体が描画できるようにするにはどのように設定すれば
よいでしょうか。
0177デフォルトの名無しさんNGNG
すんません、漠然とした質問をさせて頂きます。
サーブレットに関してなんですが、アクセスしてきたのがPCか携帯かによって
ページを振り分けるにはどのようにしたらよいのでしょうか?
ヒントだけでも結構ですのでどなたか宜しくお願いします。
0178デフォルトの名無しさんNGNG
>>177
ヘッダーのブラウザ見て振り分けれ
0179デフォルトの名無しさんNGNG
>>177
request.getHeader("User-Agent")
request.getRemoteAddr()
request.getRemoteHost()
0180177NGNG
>>178,179
レスどもです。

自分もどっかに参考になるのはないかなぁって色々探してるんですけど
下のページの内容とかは使えそうですかね?

http://interstage.fujitsu.com/jp/technical/tips/tip000033_03.html
http://msugai.fc2web.com/java/servlet/dispatchForward.html
http://msugai.fc2web.com/java/servlet/sendRedirect.html
0181デフォルトの名無しさんNGNG
>>180
資料くらい自分で読んで精査しろや
0182デフォルトの名無しさんNGNG
javaアプレット作りました。

appletviewerだと見れるのに
ブラウザじゃ見れません。

環境はこんなです

test.html < ここにアプレット起動かいてる。
test.class
lib/test.classで使用しているclassが少々
img/test.classで使用しているgifが少々

appletviewer test.html だと起動します。
test.html(httpdでサーバとして立ち上げて実行しても)
IEの下のバーに。
class test not found
いわれます。

appletの矩形領域は灰色表示されています。
何が悪いんでしょうか?
0183177NGNG
>>181
(´・ω・`)ショボーン はい、がんばります…
0184182NGNG
自己解決
ttp://www.horae.dti.ne.jp/~yoji/TamaJava/faq.html

Sunは、1997年にMicrosoftが契約に反してJavaの一部を許可なく改変しているとして訴訟を起こしました。その後、和解しましたがMicrosoftは自社製品で最新版のJava技術を使用するライセンスを失いました。
Microsoftは、古いバージョンのJavaを使い続けることは認められていますが、 Windows XPの発売前にMicrosoftはJavaVMソフトウェアをWindows XPと Internet Explorer(IE)から削除することを決定しました。


JAVAアプレットだめぽ
0185デフォルトの名無しさんNGNG
あるイベントを指定した時間だけ実行させたいのですが
そんなメソッドってあるのでしょか?
0186デフォルトの名無しさんNGNG
スレッドとスリープ使えばできるだろ
0187デフォルトの名無しさんNGNG
>>186
指定した時間停止するのではなく3秒間だけ実行という感じにしたいのですが
それでできるのですか?
0188デフォルトの名無しさんNGNG
>>187
別スレッド起動して、3秒スリープさせて、スリープ終了後にnotifyで知らせてもらったらどうか
0189デフォルトの名無しさんNGNG
SwingでJPanelの背景を画像にすることってできないんでしょうか?
0190デフォルトの名無しさんNGNG
>>184
それは古い情報ではないだろうか。
結局、色々あったすえにWinodwsXPにも、今はJavaVMがインストールされているかと。
VMがもし入っていないのなら。
class test not foundなどとすらも表示されないのではなかろうか。

>>182のエラーの原因は、1.1.8相応のVMを使用するように設定されたブラウザで、
1.4用のアプレットを実行したせいではなかろうか。

targetオプションを使ってみては?
0191184NGNG
追記:
javac -target 1.1 *.java
で、MSのブラウザ対応形式でコンパイルできる。
ヨカター
0192184=191NGNG
うおっ
レス見ずに書いちゃった。
>>190さんのとおり
0193189NGNG
レスお願いします
0194デフォルトの名無しさんNGNG
>>190
> 結局、色々あったすえにWinodwsXPにも、今はJavaVMがインストールされているかと。
これはダウト。

セキュリティ修正のために、MSJVM がインストールされている場合のみ修正版がダウンロードできる。
Microsoftのサイトから新規に MSJVM をダウンロードするのは無理。
WindowsXP のパッケージには MSJVM は入ってないし、
プリインストールPC も Sun の JVM 入れてるほうが多いと思われ。
0195190NGNG
>>194
ありがとう。
俺、SUNがマイクロソフトと和解して
お互いに協力しあうことになったというニュースを勘違いしてたっぽい。

>>189
JPanelのサブクラスを作ればできるのではなかろうか。
paintComponentを上書きすればいいのではないだろうか。

このところSwingの質問が多いけど流行ってるの?
それとも全部同じひとが質問してるの?
0196デフォルトの名無しさんNGNG
>>189
JLabel使えばいいんじゃないの?
0197デフォルトの名無しさんNGNG
Inteface/Implementsについて、
JavaFAQとかも見てみたんだけど、
いまひとつメリットが理解しきれない。
DQNにもわかるような解説のあるサイト、ないですか?
0198デフォルトの名無しさんNGNG
>>197
サイトは知らないが、java.utilのソースを見てみたらいいかも。
Collection関連ね。
0199189NGNG
>>195
なんか難しそうだけどやってみる
サンクス
0200デフォルトの名無しさんNGNG
>>174
俺XPだけど普通に動いてるよ

>>176
pack使え
各コンポーネントが収まるサイズを計算してフレームのサイズが決まってくれる
その際各コンポーネントには推奨サイズを設定すること

ついでにいえば格子ならJTable使った方がらくかもしれんが
初心者には勧めにくいか
0201デフォルトの名無しさんNGNG
>>195
以下のサイトでも参照してくれ。
http://support.microsoft.com/default.aspx?scid=fh;JA;lifean12
0202デフォルトの名無しさんNGNG
public static void doStaticMethod(){
}

みたいな感じで定義するstaticメソッドを使う際、
クラス名.doStaticMethod()
と呼び出しますけど、staticメソッドというのは、
インスタンスが1つのみってことなんですか?
いや、インスタンスを生成可能なクラス内に
staticメソッドがあるとしたら、
そのクラスのインスタンスを複数作っても、
呼び出されるstaticメソッドは、1つのみってことなんでしょうか?
仮にその場合、並列動作している他の複数スレッドから
同時に呼ばれた場合などは、コンフリクトします?



0203デフォルトの名無しさんNGNG
>>202
staticメソッドは、インスタンスとは無関係だよ。
だから、クラス名.メソッド()という呼び方をしても、
インスタンスの入った変数.メソッド()という呼び方をしても
動作は全く変わらん。
staticメソッドの内部でクラス変数を読み書きしている場合は、
同時アクセスでコンフリクトする可能性がある。
0204デフォルトの名無しさんNGNG
>>203
なるほど。ありがとうございました。
ソース書いて試してみます。
0205176NGNG
>>200
ありがとございます。

JPanelでsetPreferredSize(400, 400)
して、
JFrameでpack()
したらうまくできました。
0206145NGNG
>>172
> >>155
>
> JDBCドライバでおまじないのようにClass.forName()しなきゃいけないのは、
>
> 単にDriver実装クラスのクラスイニシャライザがDriverManager#registerDriver(Driver)
> を呼び出しているから、というだけの話。
>
> 別のタイミングで同じ事をするようにすれば、Class#forName()を呼ぶ必要はない、
> って知ってた?

うーむ、もう少し分り易くおねがいぽ。
0207145NGNG
>>206
ついでに言うと、何故普通にnewするんじゃ駄目なのかが分からないぽ。。
0208デフォルトの名無しさんNGNG
>>207
JDBC 1.0の糞仕様をいまだにひきずってるだけ。
誰が見ても糞仕様だよ。
0209デフォルトの名無しさんNGNG
>>206
DriverManager#registerDriver(Driver)呼べば事足りると思ってる厨がいるみたいだけど、
信用してはいけない。
ドライバの種類によって独自の初期化処理をやってたりするから、
糞仕様でもすなおにClass.forName()使っとけ。
0210デフォルトの名無しさんNGNG
java.util.regexで正規表現を使いたいんですが、
あaびーbしーcでー
という文字列から、あ、びー、しー、でーを取り出すには
どうしたらいいんでしょうか?
あabしーc
など、日本語の部分が無い場合もヒットするようにすると、

Pattern pattern = Pattern.compile(".*a.*b.*c.*");
Matcher matcher = pattern.matcher("あaびーbしーcでー");

でマッチするのは分かるのですが、そこから必要な要素を抽出する
方法がわかりません。どう書けばいいのでしょうか?
Perlだと
$a = $1; $b = $2;
みたいな感じですが…。
0211145NGNG
>>208
糞Java本は、何故Class.forName()を使うのか全然書いてない罠。
0212デフォルトの名無しさんNGNG
文字列"あaびーbしーcでー" から「あ」「びー」「しー」「でー」を取り出す

Pattern pat=Pattern.compile("[^abcd]+");
Matcher mat=pat.matcher("あaべーbしーcでーd");

ArrayList texts=new ArrayList();
while(mat.find()) {
  texts.add(mat.group());
}

動的配列textsに取り出した文字列が格納される・・・・・
0213デフォルトの名無しさんNGNG
>>212
mat.find()で部分シークエンスを見ていって、mat.group()で一致部分を
取ってくるという事ですよね
それならPattern.compile(".*a.*b.*c.*");とすると、aとかbとかも
一致部分に含まれてしまうから、必要部分だけを抽出することはできない
という事でしょうか?
0214212NGNG
>>212
す、すいません。質問の意味がよく分からないのですが・・・・
212は、210で与えられた課題、文字列からあ、べー、しーを取り出すのを
回答したのです。
質問の本質は何なのでしょうか・・・
0215デフォルトの名無しさんNGNG
Pattern pattern = Pattern.compile("(.*)a(.*)b(.*)c(.*)");
Matcher matcher = pattern.matcher("あaべーbしーcでー");

if(matcher.matches()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
}
0216デフォルトの名無しさんNGNG
>>215
ああ、凄いそれです
要するに区切り文字で区切られた文字列から必要な要素のみを抽出したかっただけでして
abcだのわけ分からんこと書かなかったら良かったですね

08/27 22:00 ほげ,ひげ,はげ

Pattern pattern = Pattern.compile("^[0-9]+/[0-9]+ [0-9]+:[0-9]+ (.*),(.*),(.*)$");
Matcher matcher = pattern.matcher("08/27 22:00 ほげ,ひげ,はげ");

if(matcher.matches()){
 month = matcher.group(1);
 day = matcher.group(2);
 hour = matcher.group(3);
 min = matcher.group(4);
 hoge = matcher.group(5);
 hige = matcher.group(6);
 hage = matcher.group(7);
}

てな感じで…。これで合ってますよね?
つかgroup()て0じゃなくて1から始まるんですね
どうもありがとうございました
0217デフォルトの名無しさんNGNG

ImageIO.read() でbmpファイルが展開できません。
Javaでbmpファイルを表示するにはどうすれば
よいのでしょうか?
0218デフォルトの名無しさんNGNG
>>217
1.4まではbmp標準対応してないです
1.5からは標準で読めるように

ImageIOで少し検索すれば対応フォーマットとかすぐわかるところだろうに

ちなみにbmpを扱う方法はいくつかある
が、この質問レベルから見てたぶん理解は無理
0219デフォルトの名無しさんNGNG
アプレットで表示してある文字は取得できるんですか?
ttp://homepage1.nifty.com/7/
↑こういったページから
「ビギナー向け〜」
と言う文字を取得など
0220デフォルトの名無しさんNGNG
System.out.println(0*0) ;
上記の書き方で実行した場合には
0*0の結果である0がきちんと表示されるのですが、

計算結果を改行して表示させようと上記の1文を、
System.out.println(0*0\n1*1) ;
このようにしたら「¥92は不正な文字です」と言われてしまうのですが、
計算結果を改行表示させる為にはどうしたらよいのでしょうか?


どなたかご教授くださいませんでしょうか…
0221デフォルトの名無しさんNGNG
>>219
なんでそんなことしたいの?

>>220
System.out.println(0*0+"\n"+1*1);
文字列は+で連結
0222デフォルトの名無しさんNGNG

こんにちは
現在ホームページを作成していましてアプレットを使用します。
そのアプレットの機能をあまり多くの人に同時に使用されるとサーバーに
負担がかかってしまうため、アプレットの中にスレッドで待ち行列を作ろうと
思っています。
ここで質問なんですが、同時に訪問者が3人アプレットを起動したとして
その待ち行列は機能するのでしょうか?
(複数のブラウザで上記のスレッドは機能するのでしょうか?)
0223デフォルトの名無しさんNGNG
ニヤニヤ
0224デフォルトの名無しさんNGNG
msjava.dllが見つかりませんというエラーが出てjavaが起動しなくなりました。
もう一度msjava.dllを入れるにはどうしたら良いでしょうか
0225デフォルトの名無しさんNGNG
>>222
おそらくサーバーへの送受信によって自身の動作を
逐一決めるという「特殊」アプレットを用いてると思われますが
アプレットに待ち行列を作るのではなく、サーバーの方に
作ってください。
0226デフォルトの名無しさんNGNG
>>218
JFC、とりわけ誰もが最初にはじめやすいイメージ関連を理解して
少しお調子に乗ったバカの一つ覚え君が、得意気になって回答してるってのが
ありありとわかるレスだなw
0227デフォルトの名無しさんNGNG
↑なんか突然得意気になって煽ってるバカ
0228デフォルトの名無しさんNGNG
Javaで、「Sat, 28 Aug 2004 00:05:55 GMT」のような日付表現を得たいのですが、
どのクラスで解決できるのでしょうか?

初歩的な質問で申し訳ございませんが、
よろしくお願いいたします。
0229デフォルトの名無しさんNGNG
>>228
ここで解決できるかと
http://www2s.biglobe.ne.jp/~yuuki_ki/java_date1.htm
0230デフォルトの名無しさんNGNG
長さ不明の複数の要素を同時に格納したい時、Javaではどう書くのが一般的なのでしょうか?
例えば以下のPerlコードのような事がやりたい時、Javaではどう実装しますか?

my $foo = "foo";
my $bar = 123.456;
my @hoge = (0, 1, 2, 3); # 長さ固定
my @tako = (0, "a", 1, "b"); #長さが動的に変化する
my %aho = ('key1' => 'var1', 'key2' => 'var2'); #長さが動的に変化する
my @data = ();

push(@data, ($foo, {
 'bar' => $bar,
 'hogeref' => \@hoge,
 'takoref' => \@tako
 'ahoref' => \%aho,
})); # 何回pushされるか不明

$は変数、@は配列、%はハッシュ、\はリファレンス
pushは配列の最後にリストを追加します
動的配列はVector、ハッシュはHashtableで表すのが一般的なのかなぁとは想像できるのですが、
リファレンスと無名ハッシュをJavaではどう書くのかがさっぱりわからないのです。
0231デフォルトの名無しさんNGNG
>>230
クラスFooを定義してそれを配列に突っ込め

ArrayList data = new ArrayList();
Foo foo = new Foo(123.456, hoge, tako, aho);
data.add(foo);
0232デフォルトの名無しさんNGNG
>>228
SimpleDateFormatを使えばおK

Date d = new Date();
SimpleDateFormat f = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.US);
System.out.println(f.format(d));
0233デフォルトの名無しさんNGNG
>>231
どうもです
リファレンスって使わないんですね
0234デフォルトの名無しさんNGNG
>>233
別に配列でもいいけど、
PerlとちがってJavaは型制限がきついからね。
キャストとかかえってめんどう。
0235デフォルトの名無しさんNGNG
>>233
Javaでは、intとかcharとかの基本型以外

すべて

Perlでいうリファレンスです。
0236デフォルトの名無しさんNGNG
>>230
動的配列はArrayList
ハッシュはMap
リファレンスはオブジェクト型の値そのもの
無名ハッシュは
Map $variable = new TreeMap() {
  {
    put("name", "suzuki");
    put("s○x", "male");
    ・
    ・
  }
};
0237デフォルトの名無しさんNGNG
あの、サーブレットが使える有名なレンタルサーバはどこになりますか?
0238デフォルトの名無しさんNGNG
みんなの心の中にあります。
0239デフォルトの名無しさんNGNG
238 名前:デフォルトの名無しさん[] 投稿日:04/08/28 11:57
そんなもんしらねーよ
0240デフォルトの名無しさんNGNG
元のメソッドにthrowsがないとき
オーバーライドしたメソッドはRuntimeExceptionをthrowできますか?
0241デフォルトの名無しさんNGNG
>>217
>ImageIO.read() でbmpファイルが展開できません。

JAVADOCのJAVA ImageIOの所(C:\j2sdk1.4.2_05\docs\ja\guide\imageio\index.html)
の下の方にJava Advanced Imagingと書かれたリンクがあるからそこから

ttp://java.sun.com/products/java-media/jai/index.jsp
へ飛ぶ。上の方に

Java Advanced Imaging Image I/O Tools 1.0_01-rc is now available.
とあるから更に飛ぶ。すると、

Reader-writer plug-ins are supplied for the BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats.
と有るから、ここからダウンロードしてインストールすればOK
0242デフォルトの名無しさんNGNG
>>240
RuntimeException のサブクラスと Error のサブクラスは全てのメソッドで throw できる。
0243デフォルトの名無しさんNGNG
>>242
thanks
じゃあゼロ割のArithmeticExceptionとかも
全てのメソッドでthrowできるってことですね
0244デフォルトの名無しさんNGNG
です。っつかゼロ除算なんて滅多にやらんからすっかり忘れてた。
0245219=143NGNG
>>221
143の質問の仕方だと誰も食いついてくれないので・・・
本来の目的は、143の為替の価格
(ttp://www.forexwatcher.com/quotes.htm)
を取得したいんです。
Yahooファイナンスはhtmlのソースで更新してくれ
取得が容易なんですが更新頻度が目的に満たないので、
アプレットの表示内容を取得する方法を聞いてみました。
出来ませんよね。
0246デフォルトの名無しさんNGNG
>>245
人の作ったアプレットを?
取得できるようにしてあれば取れるけど。
作った人に聞くか解析でもしてみれば。
0247デフォルトの名無しさんNGNG
為替データってどっかでWSDL使ったお試しサービスやってなかったっけか?
0248222NGNG

もうひとつ質問させていただきます
アプレットを呼び出す記述をrun()で囲むと(Jsp、Servlet側)、
その記述はアプレットの中でも有効なのでしょうか?
0249220NGNG
221さんに書いて頂いたモノで確かにできました。
深夜にありがとうございました。


しかしそこでまた疑問が生まれてしまうのですが、
(1) System.out.println("おはよう。\nこんにちは。\nこんばんは。");
上記の文では「¥n」はただそれだけで改行の役目を果たしているのに(結城本からの引用です)
(2) System.out.println(0*0+"\n"+1*1);
こちらの文ではなぜ「\n」だけで改行をしてくれないのでしょうか?

(1)では""の中に全ての文字列が収まっており、
(2)では\nという改行する為の文字列を間に挟んでいるカタチだから…なんでしょうか?

0250デフォルトの名無しさんNGNG
\nは文字列の中に現れないとダメなの。
0251デフォルトの名無しさんNGNG
>>249
入門書でも読んでから始めたほうが良い
0252デフォルトの名無しさんNGNG
結城本を読んでるみたいだが・・・
0253デフォルトの名無しさんNGNG
>>249
¥nは改行を表す文字に対応した表記なのです。
改行は目に見えないので、¥から始まる特別な書き方をして表します。
このような文字をエスケープ文字といい、他にもあります。
文字なので、通常は文字列を表す""中で使われることが多いです。
もちろん、改行文字そのものとして'¥n'として使う場合もあります。
ですので、以下のコードは結果が異なります。

System.out.println(1 + "¥n" + 1);
System.out.println(1 + '¥n' + 1);

わからなければ、入門書へ直行して下さい。
0254デフォルトの名無しさんNGNG
ResultSetはインターフェースなのに、メソッドが実相されているのは何故なんでしょうか?
0255デフォルトの名無しさんNGNG
>>249
馬鹿ですか?
0256デフォルトの名無しさんNGNG
自分なりに考えたことと、250さんのカキコで納得がいきました。
253さんの書いて下さった(1+'\n'+1)の実行結果には疑問が残っているので結城本に戻ります。
(後半部分がなぜ2になるのかわかりませんので)

251-253さんありがとうございました。
0257デフォルトの名無しさんNGNG
理由は追求せず先に進んでしまいなさい。そのうち分かる。
0258デフォルトの名無しさんNGNG
>(後半部分がなぜ2になるのかわかりませんので)

最初何書いてるか分からなかったぞ、、、
不安になるやっちゃな
それはそうじゃなくて、12がでてるのさ

1+ (改行の文字コードである)10 + 1 = 12
0259デフォルトの名無しさんNGNG
>>254
ガイシュツ
0260デフォルトの名無しさんNGNG
>>258さん
文字列が並記されて12に見えるのはない。
ということを説明して下さってありがとうございます。

しかしやはり今はまだ'\n'がなぜ10になるのかがわかりませんので、
257さんが書いて下さったように、とりあえず先にいかせて頂きます。

257さん、258さん有り難うございました。
0261デフォルトの名無しさんNGNG
すみません。
Javaにおける参照渡しと値渡しについて簡潔に説明してもらえませんか?
0262デフォルトの名無しさんNGNG
>>261
Javaには(C++等で言うところの)参照渡しはない。

参照型の値渡しと、プリミティブ型の値渡しがあるのみ。
0263デフォルトの名無しさんNGNG
Javaを始めて10日くらいです。自分では解決できませんでした。
どうしてテキストエリアに書き込めないんですか?ソースは下記の通りです。
勉強不足なのは承知ですが、一日かかっても分かりません。知恵をお貸しください。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.io.*;

public class n extends JFrame{

Toolkit tk = getToolkit();
Dimension dim;

public Dimension getDefaultToolkit() {
dim = tk.getScreenSize();
return dim; }

public static void main(String[] args){
n myApp = new n();
myApp.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}});

myApp.setBounds( 130, 130, 600, 350);
myApp.setVisible(true);
}
0264263-2NGNG
//続き
n(){
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.addTab("JButton", createPanel1());
Container content = this.getContentPane();
content.add(tabbedPane, BorderLayout.CENTER);
}

private JPanel createPanel1(){

JPanel p = new JPanel();
final JTextArea myText = new JTextArea();

myText.setLineWrap(false);
myText.setFont(new Font("Monospaced",Font.PLAIN,16));

//スクロールペインを作成してテキストエリアをセット
JScrollPane myScroll = new JScrollPane(myText);
myScroll.setPreferredSize(
new Dimension(getDefaultToolkit().width, getDefaultToolkit().height));

p.add(myScroll);
return p;
}

}
0265デフォルトの名無しさんNGNG
すんません、質問です。宜しくお願いします。

下記PGの出力結果は『100 0』になるそーなのですが、、、

Stack st1 = new Stack();
Stack st2 = new Stack();
st1.push(new Integer(100));
st2 = st1;
System.out.println( st1 + " " + st2 );


『st2 = st1』によって、
Stack型の変数st2は、st1の領域を指しているのだから、
出力結果も『100 100』になると思っているのですが。。。

私の頭、どの辺でズレちゃってるのでしょうか?
0266デフォルトの名無しさんNGNG
Java使った時点でずれてるかもしれませんね。
0267148NGNG
Resultset rs = stmt.executeQuery(sql)
って、どの本にも念仏のように書いてありますが、何でインターフェースがインスタンスを作れるのか分かりません。
>>1のWikiにも「呼び出し形式のみ規定するものです」と書かれていますし。。うーん(-_-ι)。
0268デフォルトの名無しさんNGNG
DB Oracle につないでいたモジュールがあるのですが、
Oracle を切断して、Access に切り替えたところ、
SQLExecption no data found が発生するようになりました。
Pool の設定でドライバをOracle のものからAccess のものに変更したせいでしょうか?
0269デフォルトの名無しさんNGNG
>>267
悩め悩め
ここがオブジェクト指向のもっともきもとなるところだから
分かればびっくりするくらいに使いまくるぞ
0270デフォルトの名無しさんNGNG
>>263
テキストエリアには書き込めてる。
しばらくキーを連打してれば左端から文字が出てくる。
createPanel1()で作成してるJPanelがフローレイアウトのままなので
スクロールビューの起点が、テキストエリア内の右の方へと
ずれてしまってる。パネルpにボーダーレイアウトをセットすれば
一応解決する。しかし外にもツッコミどころはたくさんありますが。。。

0271デフォルトの名無しさんNGNG
>>265
そのプログラムでは100 100にも100 0にも
ならないような。。。
0272( ’ ⊇’)NGNG
 
0273デフォルトの名無しさんNGNG
>>267 インターフェイスがインスタンスを作っているのではないよ。
ドライバ内部で生成されたインスタンスを、インターフェイスの型を持つ変数に代入して扱っているだけだ。
0274デフォルトの名無しさんNGNG
おはようございます。

http://www.ff.iij4u.or.jp/~ch2/bbsmenu.htmlのサイトから、GETしてHTMLを取得するのですが、
そのHTML内を見てみると、改行と数値「7EE」が混入されてしまいます。
通常は混入されないものです。
なぜなのでしょうか?
下記の7EEだけに限らず、他の行でも変な数値が混入されます。


<BR><BR><B>生活</B><BR>
<A HREF=http://life5.2ch.net/kankon/>;生活全般</A><br>
<A HREF=http://life5.2ch.net/okiraku/>;その日暮らし</A><br>
<A HREF=http://life5.2ch.net/homealone/>;一人暮らし</A><br>

7EE
<A HREF=http://life5.2ch.net/sportsclub/>;スポーツクラブ</A><br>
<A HREF=http://hobby7.2ch.net/bath/>;お風呂・銭湯</A><br>
<A HREF=http://life6.2ch.net/anniversary/>;記念日</A><br>
<A HREF=http://life6.2ch.net/sousai/>;冠婚葬祭</A><br>
<A HREF=http://life5.2ch.net/baby/>;育児</A><br>
0275274NGNG
sock = new Socket(server, 80);
sockin = new BufferedReader(new InputStreamReader(sock.getInputStream()));
sockout = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));

sockout.write("GET " + "/~ch2/bbsmenu.html HTTP/1.1\r\n");
sockout.write("Content-Type: text/html"+ "\r\n");
sockout.write("Host:" + server+ "\r\n");
sockout.write("Accept: text/html, */*" + "\r\n");
sockout.write("User-Agent: Monazilla/1.00 (gbrowser/1.0)" + "\r\n");
sockout.write("\r\n");
sockout.flush();

StringBuffer sb = new StringBuffer();
while ((str = sockin.readLine()) != null) {
System.out.println(str);
}
0276デフォルトの名無しさんNGNG
ところで、URLじゃなくってSocket使う意味あるの?
0277デフォルトの名無しさんNGNG
>>274
やってみたけど別に変な文字とか入らないよ
URLConnectionでも試してみたけど問題ないよ
0278デフォルトの名無しさんNGNG
>>276
別にないでしょ
Socketでやると、自前でレスポンス解析しなきゃいけないから面倒
0279デフォルトの名無しさんNGNG
>>278
おいしい餌を作るには、もう一手間と愛情が大事。
ね?
0280デフォルトの名無しさんNGNG
279=274
0281デフォルトの名無しさんNGNG
>>275のコードよりURLConection使った方がまじで倍以上速いんですけど
どうしたらいいでしょうか?
0282274NGNG
やっぱ、

<A HREF=http://comic6.2ch.net/ymag/>;少
800
年漫画</A><br>

と800というものが入りますね。
なぜだろう?

あと、別にURLConnectionでもいいですよ。
今は実験段階として試してるだけですから。
速さとか考えてないです。
0283274NGNG
やっぱ、

<A HREF=http://comic6.2ch.net/ymag/>;少
800
年漫画</A><br>

と800というものが入りますね。
なぜだろう?

あと、別にURLConnectionでもいいですよ。
今は実験段階として試してるだけですから。
速さとか考えてないです。
0284デフォルトの名無しさんNGNG
>>282
毎回同じ再現性ないのか?
じゃ回線品質の問題だろ
0285デフォルトの名無しさんNGNG
>>274,282
HTTP/1.1の仕様です。
RFC2616 section3.6を見てください。
0286デフォルトの名無しさんNGNG
>>284 >>285

今度はよくなりました
<A HREF=http://comic6.2ch.net/comic/>;漫画</A><br>
<A HREF=http://comic6.2ch.net/rcomic/>;懐かし漫画</A><br>
<A HREF=http://comic6.2ch.net/ymag/>;少年漫画</A><br>
<A HREF=http://comic6.2ch.net/wcomic/>;週刊少年漫画</A><br>
<A HREF=http://comic6.2ch.net/gcomic/>;少女漫画</A><br>

回線品質が悪いといっても、
最終的にはエラーのない受信をしてくれないことには・・・。
エラーがあったら、サーバへデータの再送をしてもらって、正確な受信をするというのが通信の基本だと思いましたが。

HTTP/1.1の仕様なんですか・・・。
信頼性のある通信をJavaで行うためにはどうすればいいのですか?
送られてくるデータはそのままきちんと受信される。
エラーのあるデータをそのまま受信して終わりみたいな信頼性無視ではなくて。
0287デフォルトの名無しさんNGNG
<A HREF=http://sports7.2ch.net/boxing/>;ボクシン?

ボクシング板のところの最後でおかしくなってます。
ンの後でエラーかなんかで受信やめてるんですかね?

どうも初心者なのでいまいちわかりません。
0288デフォルトの名無しさんNGNG
>>285
この件とは全然関係ないと思うけど実際にレスポンス確認した?
ただの生HTMLだよ
0289デフォルトの名無しさんNGNG
>>287
レスポンスヘッダのContent-Lengthを取得して、
実際に受け取ったバイト数と違ってたら再取得。

そのまえに、URL使ってコード書き直して試してみたら?
0290デフォルトの名無しさんNGNG
URL使って試してみます。
他のサーバというか、2ちゃんねるサーバとの通信で不具合なんて全く無いんですが、
なぜか、2チャンネル板リストがあるhttp://www.ff.iij4u.or.jp/~ch2/bbsmenu.htmlと通信すると何か変なことになっちゃいますね。

URL使ってコード組みなおしてみます。

皆様、本当にご返答ありがとうございます。
すいませんでした。
0291デフォルトの名無しさんNGNG
なんかやっぱり同じ箇所でエラーになるみたいw
http://comic6.2ch.net/rcomic/ 懐かし漫画
http://comic6.2ch.net/ymag/ 少
<A HREF=http://comic6.2ch.net/wcomic/>;週刊少年漫画
0292デフォルトの名無しさんNGNG
<A HREF=http://comic6.2ch.net/rcomic/>;懐かし漫画</A><br>
<A HREF=http://comic6.2ch.net/ymag/>;少
<A HREF=http://comic6.2ch.net/wcomic/>;週刊少年漫画</A><br>
0293デフォルトの名無しさんNGNG
>>274
HTTPのメッセージボディの転送方法には、フツーにデータを送るのと
もう一つチャンク転送方式というのがあります。アナタがアクセス
したURLはチャンク形式で送ってるのでしょう。
レスポンスヘッダのTransfer-Encodingフィールドを見てください。
chunckedという値があるかもしれません。
チャンク形式では、数値―改行―バイナリデータの一部塊―改行―数値・・(繰り返し)
というフォーマットでボディが送られてきます。
数値とはその塊のザイズです。よって普通にストリーム読み込みをすると
データ内に改行と数値が含まれてしまいます。chunked転送形式で読み込んで
みてください。
0294デフォルトの名無しさんNGNG
>>274
URLConnectionを使えば、それも自動的にやってくれますから
それが一番楽な方法なんですが・・・・・
0295デフォルトの名無しさんNGNG
>>268

。
0296デフォルトの名無しさんNGNG
>>293
チャンク形式で送ってるかどうか確認してから書いてるか?
0297デフォルトの名無しさんNGNG
このスレの上の方で触れられていることなんですが、
JavaのドキュメントってHTML形式のオンラインドキュメント
や書籍などを手動でたどって探すしかないんですか?

ほげほげしたいってとき見たいにメソッドなどの逆引きはできないんでしょうか?

エディター(vimなど)からドキュメント参照を支援してくれるものなどはありませんでしょうか?
vimだと↓みたいなスクリプトがあったんですが、
ttp://www.vim.org/scripts/script.php?script_id=358
System.out.printlnだとSystemしか検索できません。

manコマンドに-kを組み合わせて使ったり、
vimからC言語の関数を調べるときには、調べたい関数の上にカーソルを置いて
Kキーを押したりしてmanを引いたりしていました。

よろしくお願いします。
0298デフォルトの名無しさんNGNG
>>297 IDE使えば?
あとオンラインドキュメントを全文検索するのにgoogleを
活用するのもいいね。java.sun.comに検索範囲を限定したり
さらに細かい検索条件付けたり。
0299デフォルトの名無しさんNGNG
正規表現の話なんですが,

ID,AUTHER,MESSAGE
IDは数値,AUTHERとMESSAGEは文字列,AUTHERとMESSAGEは空でも良い

という形式の文字列から,カンマを区切り文字として各要素を取り出す時,
AUTHERやMESSAGEにカンマが含まれていた場合,つまり

ケース一 10,Ryutaro,Hashimoto,hogehoge
ケース二 10,RyutaroHashimoto,yes,I love Java
ケース三 10,Ryutaro,Hashimoto,yes,I love Java

というケースにも対応できるようにするためには,どうマッチングルールを書けばいいのでしょうか?
ケース三は無理なんじゃないかと思ったりするんですが….
0300デフォルトの名無しさんNGNG
>>299
スレ違い
0301デフォルトの名無しさんNGNG
checkPermission()のチェックによってアクセスが許可されないと判定された場合にはaccess denied (java.lang.RuntimePermission getProtectionDomain )
と出るようにしたいのですが
import java.security.*;
public class AccessControllerTest {

/** 処理の開始のメソッド */
public static void main( String argv[] ) {
try {
AccessControllerTest test
= new AccessControllerTest();
RuntimePermission rp
= new RuntimePermission( "getProtectionDomain" );
AccessController.checkPermission( rp );
ProtectionDomain domain
= test.getClass().getProtectionDomain();
System.out.println( domain.toString() );
}
catch( Exception e ){
System.err.println( e.getMessage() );
}
}
}
このような形で良いのでしょうか?
0302デフォルトの名無しさんNGNG
>>299
言いたいことがわからない
0303デフォルトの名無しさんNGNG
>>299
正規表現うんぬんじゃなくて不可能。
データ構造のルールがおかしいのは分かる?

まず一般的な CSV だったら要素にカンマが含まれる場合はダブルクォートで囲む。
ただ、パース側でそんな判定すんのはメンドイから、要素はすべてダブルクォートで
囲むと楽。
0304デフォルトの名無しさんNGNG
>>299
言い忘れた。ダブルォートで囲った場合、要素にダブルォートが含まれる場合は
一般的にはダブルォートを二重化する。
0305デフォルトの名無しさんNGNG
>>303
そうですか,やはりデータを取得・生成した時点でそういう処理をしておく
必要があるのですね
ありがとうございました
0306デフォルトの名無しさんNGNG
>>296
2ちゃんの板は確かチャンクだった。
それ以前にボディの途中に数値と改行がまざってると言ったら、
チャンク以外にないだろ。
HTTP分かってるのか?
0307148NGNG
私はperlerなのですが、イメージとしては、
1. ResultSet rs で、Resultset型クラス(ResultSetのメソッドと構造体付き)のメモリ空間を予約する。
2. stmt.executeQuery()で、ResultSet型のクラスを返す。
要するに、メモリ領域を確保するためだけに、1が必要ということなのでしょうか。

あと疑問なのは、インターフェースでメソッドの実装をしてしまうのもありなのでしょうか。
0308デフォルトの名無しさんNGNG
1、ResultSet rsでは、アドレス数値を格納するだけのメモリ領域を
 確保する。
2、executeQuery()は、ResultSet型のインスタンスを返す。
  このメソッド内でResultset型インスタンス(ResultSetのメソッドと
  構造体付き)のメモリ空間を確保する。

インターフェースのメソッドだけを実装するクラス、無名クラスを
作るのはよく行われる事。
0309訂正NGNG
1、ResultSet rsでは、アドレス数値を格納するだけのメモリ領域を
 確保する。
2、executeQuery()は、ResultSet型のインスタンスを返す。
  このメソッド内でResultset型インスタンス(ResultSet内の構造体)
  のメモリ空間を確保する。

インターフェースのメソッドだけを実装するクラス、無名クラスを
作るのはよく行われる事。
0310デフォルトの名無しさんNGNG
>>307
勉強もせず、推測だけで物事を判断するあなたは名探偵ですね。
転職してください。
0311デフォルトの名無しさんNGNG
>>307
1は、単にResultSetへの参照を格納するための変数を宣言しているだけだよ。
実際にメモリの割り当てを行っているのはstmt.executeQuery()で、
この中ではResultSetの実装クラスがnewされている。
つまり、

class PostgreSQLResultSet implements ResultSet {
...

のような、クラスがどこかで定義されていて、
executeQueryの中で new PostgreSQLResultSet(...)
が行われているはず。
PostgreSQLResultSetはResultSetと互換性があるので、
ResultSet型の変数に格納できるわけ。

>あと疑問なのは、インターフェースでメソッドの実装をしてしまうのもありなのでしょうか。
上のように、インターフェースをimplementするクラスはインターフェースのメソッドを実装できる。
というか、そうするためにインターフェースがある。
例えばOracleResultSetとか、MSSQLResultSetというようなクラスが
ResultSetをimplementしていれば、全部ResultSetとして扱えるので、
JDBCを利用する側はResultSetの実装クラスが何であるかを気にしなくてもよいという
利点があるわけね。
0312307NGNG
>>310
まだ学生なんですよ。ちなみに筑波大の理系です。
あなたはどこの大学ですか?w
0313310NGNG
代々木アニメーション学院ですが、何か?
0314310NGNG
>>313は偽物です。
本当はペパーダイン大です
0315デフォルトの名無しさんNGNG
>>307
あのっさあ、何でショートカットしようとするわけ?
ちゃんと勉強せずにポイントだけわかろうと手抜きするからそうなるんだよ。
初心者入門用の本すら読んでないだろ?
おまけに全然自分でやろうって気がないのな。聞いて全部済ませる気か?
インターフェースでメソッドの実装だの何だの、自分で試して見ればわかることだろうが。
0316デフォルトの名無しさんNGNG
>>306
今問題になってるURL分かってるか。2chの板じゃねーぞ。
0317デフォルトの名無しさんNGNG
筑波大の学生ってこんなのばっかりなの?
日本の科学技術の未来は暗いなぁ
0318デフォルトの名無しさんNGNG
さて、>>307は煽って早く質問の答えを知ろうとする作戦に出たが
その粗末な煽りかたで作戦は失敗に終わり、
このスレでは教えてもらえなくなったわけだが。
0319148NGNG
>>309
>>311
なるほど、ありがとうございます。

>>310
>>315
>>318
確かに、勉強不足でスマソ。
0320デフォルトの名無しさんNGNG
>>315-318
もう二人の方に教えてもらったからいいですよ。
理解できました。物事のポイントを押さえる事の何が悪いんですかねぇ?
しかし嫉妬は怖いですね。
最後にもう一度聞きましょう。私は筑波の理系です。
あ  な  た  は  ど  こ  の  大  学  で  す  か  ?
0321デフォルトの名無しさんNGNG
>>320
高卒です・・・・
0322デフォルトの名無しさんNGNG
高卒の奴はこの板から出てけよ。(禿藁嘲笑)
0323デフォルトの名無しさんNGNG
>>320
俺は中卒だが、少なくともお前よりは人に質問するときの心得はある。
大丈夫か? 筑波大の理系は。
0324デフォルトの名無しさんNGNG
ファイルダイアログからTransferHandlerでドラッグ&ドロップした
ファイルを、JListのある特定のセルに落としたいのですが
ドラッグ中のマウスカーソルがファイルダイアログの外に出た後の
マウスカーソルの位置の取得方法が分かりません。
どうすれば位置が取得できるのでしょうか?
0325デフォルトの名無しさんNGNG
>>323
中卒の嫉妬って怖いですね。
あなたは、この板に居ていいと思ってるんですか?
0326デフォルトの名無しさんNGNG
>>320
結局教えてもらってばっかりだなw
0327デフォルトの名無しさんNGNG
筑波の恥さらしめ。消えろ。
0328デフォルトの名無しさんNGNG
>>325
この板? どういう意味?
今はフリーSE で色々な企業まわって業務 SE や PG に業務モデリングや Java の
教育してる身だから Java 初心者が何を知りたいか、この板は勉強になるんでね。
まー、筑波大のあんたは業務系なんか関係ないか知らんけどね。
0329デフォルトの名無しさんNGNG
自分で動かないで他人に頼りっぱなしを「何が悪い」と開き直り、
学歴を振りかざして優越感丸出し。
本当、あんた筑波の恥さらしだよ。頼むから二度と来るなよな。
0330デフォルトの名無しさんNGNG
>>320
筑波のパチンコ屋「大学」ですか?それとも筑波大の敷地に入りましたか?
筑波大気分味わえて、よ か っ た な 。 小 卒 ! !
0331デフォルトの名無しさんNGNG
>>320
小卒ですが何か。
0332デフォルトの名無しさんNGNG
ただの学歴煽りだろ。放置しとけ。
0333デフォルトの名無しさんNGNG
いや〜俺マサチューセッツ工科大卒なんだ・・・

*言うだけなら誰でも*
0334デフォルトの名無しさんNGNG
筑波大ってそんなに良い大学なの??
あまりいろんな大学のことは良く知らないんだけど…
0335デフォルトの名無しさんNGNG

   彡川川川三三三ミ〜  プウゥ〜ン
   川|川/  \|〜 ポワ〜ン    ________
  ‖|‖ ◎---◎|〜        /
  川川‖    3  ヽ〜      < 筑波大だけど文句ある?
  川川   ∴)д(∴)〜       \________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \妄想命_     |  |    |__|
  | \      |つ   |__|__/ /
  / ドキュソ氏ね | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
0336デフォルトの名無しさんNGNG
>>334
*言うだけなら誰でも*

筑波大は一応国立(くにたちじゃないよ)だから。
0337デフォルトの名無しさんNGNG
もまいら全員マ板逝け。
0338デフォルトの名無しさんNGNG
筑波の名を出しただけで、こんなにもレスが伸びるとは
みなさん、本当に私に嫉妬してるみたいですね。
そんなにうらやむ事じゃないですよ。どうぞあなたたちも
勉強して筑波に入ってください。一応年齢に関係なく誰でも
受験資格はありますからね。
0339デフォルトの名無しさんNGNG
>>338
言うだけなら誰でも。

まあ俺はマサチューセッツを首席で卒業したから君とは格が違うのだよ。格が。
筑波だか竹馬だか知らんが日本の大学で偉そうにしている愚民どもが。
0340デフォルトの名無しさんNGNG
俺は大学院出たよ。
0341デフォルトの名無しさんNGNG
俺はMITの教授だよ
0342デフォルトの名無しさんNGNG
俺はイェール大だ。MITにはかなわんな。。。
0343デフォルトの名無しさんNGNG
俺カリフォルニア大バークレー校だ。
0344デフォルトの名無しさんNGNG
俺は筑後川波力発電大>>338脳内校、略して筑波大だ。
0345デフォルトの名無しさんNGNG
俺は神大だ。
0346デフォルトの名無しさんNGNG
俺は神。俺こそが神。
0347デフォルトの名無しさんNGNG
×神戸大学
×神奈川大学
○神大学
0348297NGNG
>>298
レスありがとうございました。
IDEの導入を考えてみようと思います。
0349デフォルトの名無しさんNGNG
学歴ヲタには英語をテストしてやりゃいいな。
(   )内に適当な語を(a)〜(d)より選べ。
All three are about war, though none is about combat. Perhaps representing
a new generation of war films, they (   ) not on the soliders who fought
and died but on the women and families left behind.
(a)concern (b)deal (c)discuss (d)focus
俺は高校のとき解けた。
0350デフォルトの名無しさんNGNG
> a new generation of war films, they (   ) not on the soliders who fought
soldier じゃなくて?
0351デフォルトの名無しさんNGNG
>>350
全然。theの使い方を考えろ。というより語法問題。
0352デフォルトの名無しさんNGNG
the soliders=All three are about warじゃねーの?
0353デフォルトの名無しさんNGNG
All your base are belong to us.
0354デフォルトの名無しさんNGNG
You is a big fool man. ha ha ha.
0355デフォルトの名無しさんNGNG
>>351
soliders って soldiers のスペルミスじゃないん?
0356デフォルトの名無しさんNGNG
You is.
0357デフォルトの名無しさんNGNG
You be.
0358デフォルトの名無しさんNGNG
You bee.
0359デフォルトの名無しさんNGNG
soldiersならアレだな。脳内筑波大君は消えたの?
0360デフォルトの名無しさんNGNG
>>355
釣りじゃry
0361デフォルトの名無しさんNGNG
soliders って知らんのですが、それだと別の解釈になるんすか?
0362デフォルトの名無しさんNGNG
>>361
>>360
0363デフォルトの名無しさんNGNG
He said that that that that that that that that boy referred to was supposed to indicate, was out of place in the sentence.
0364デフォルトの名無しさんNGNG
"Two grandmothers, with their two granddaughters; Two husbands, with their two wives;
Two fathers, with their two daughters; Two mothers, with their two sons;
Two maidens, with their two mothers; Two sisters, with their two brothers;
Yet only six in all lie buried here; All born legitimate, from incest clear."
Explain this - how is everyone related.
0365デフォルトの名無しさんNGNG
What is broken when you name it?
0366デフォルトの名無しさんNGNG
ダイソーにて
「ザ・アクセサリー」
0367デフォルトの名無しさんNGNG
thou
0368263_1NGNG
>>270
ありがとう。なんとかなりました。

>>364
そんなことをここで聞いてどうするの?
いた違い。

それと、もう一つあるんですが、現在選択中のタブはどう取得すればいいですか?
下だとインデックスが0になります。

public class Test1 extends JFrame {

Container myContainer = null;

private JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);

public Test1(String title) {

super(title);

myContainer = this.getContentPane();

myContainer.setLayout(new BorderLayout());

JLabel myLabel1 = new JLabel("ひとつ目");
JLabel myLabel2 = new JLabel("ふたつ目");
JLabel myLabel3 = new JLabel("みっつ目");
JLabel myLabel4 = new JLabel("よっつ目");

//続く
0369263_1NGNG
//続き
tabbedPane.add("Label1", myLabel1);
tabbedPane.add("Label2", myLabel2);
tabbedPane.add("Label3", myLabel3);
tabbedPane.add("Label4", myLabel4);

getContentPane().add(tabbedPane);

JMenuBar myMenuBar;
JMenu myInfoMenu;

JMenuItem myTabCountMItem;

myMenuBar = new JMenuBar();
setJMenuBar(myMenuBar);

myInfoMenu = new JMenu("現在選択中なのは " +
Integer.toString(tabbedPane.getSelectedIndex()) + "番タブ");
myMenuBar.add(myInfoMenu);

myTabCountMItem = new JMenuItem("タブの総数は " +
Integer.toString(tabbedPane.getTabCount()));
myInfoMenu.add(myTabCountMItem);
}
0370デフォルトの名無しさんNGNG
スレ違い氏ねよ
0371デフォルトの名無しさんNGNG
すいません質問なんですが、

./MyBeans/Bean1.class を JavaBeans にするとき
$jar cvfm Bean1.jar manifest MyBean/Bean1.class って指定しますよね?

この場合、マニフェストファイルって現在のディレクトリ(./)に置かなくちゃいけないんですよね?

MyBeans ディレクトリに保存してしまうと
作成はできても実際使うときにエラー出しますよね?
0372デフォルトの名無しさんNGNG
JavaBeansの定義が、狭いような気がするが。
「実際使うとき」がどういう環境を指してるのかわからんし、「エラー出しますよね?」などと同意求められても、どんなエラーかわからんし。
0373デフォルトの名無しさんNGNG
>>324
JListにリスナー設定しろよ

>>369
リスナーの中でやれよ

>>371
マニフェストはべつにカレントになくても取り込むよ
0374デフォルトの名無しさんNGNG
>>368
一つ目のタブでいいんじゃないの。
0375デフォルトの名無しさんNGNG
こんにちは

JLabel jL = new JLabel("ボタン");
jL.setSize(300,20);
jL.setBackground(Color.GREEN);

上記のソースでビルド・起動しても、
JLabelのバックグラウンドカラーが変わりません。
試しに、フォアグラウンドカラーは変わりました。

jL.setForeground(Color.GREEN);

JLabelのバックグラウンドカラーを変えるためには、
何か他に手続きがいるのでしょうか?
0376デフォルトの名無しさんNGNG
そういう時は、setOpaque(true)だ。
Javaをはじめて3ヶ月。やと人の役に立てたような気がする。
0377375NGNG
>>376
解決しました
ありがとうございました
0378デフォルトの名無しさんNGNG
JPanel panel = (JPanel)getContentPane()
と
Container panel = getContentPane()
は
同じ
?
0379デフォルトの名無しさんNGNG
Jakarta Projectのように、オープンソースライブラリを作成している、
なんとかHouseっていうプロジェクトがあったと思うのですが、
名前を思い出すことができません。

ご存知のかた、教えてください。
0380デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01b.html
0381デフォルトの名無しさんNGNG
>>378

同じではない。前者は場合によってエラーになる。
Containerで受ける方が行儀がいい。

そもそもJFrame#getContentPane()が実装しているRootPaneContainerインター
フェイスでは、Container getContentPane() というシグネチャになっている
ので、実体としてJPanelが返って来るという保証はない。
たとえばJFrame#getContentPane()(=JRootPaneへの委譲)みたいに、実装によっ
てはJPanelが返ってくるかもしれんというだけのこと。

JPanelが返ってくるのが分かっているならJPanelにキャストしてもいいが、
自分以外が実装したものでinstanceofでチェックもせずに無条件にキャスト
するのは行儀が悪い。そうしている場合、実装が変わっても文句は言わない
こと。
0382デフォルトの名無しさんNGNG
>>381
サンクス。
半分分かって半分分からんorz
後者だと間違いないでよろし?
0383デフォルトの名無しさんNGNG
1行で書くなら、Containerにしとけ、で。

仕様上はContainer返すとしか決まってないんだから、やってみたら
実体がJPanel(Containerの間接的サブクラスだからContainerとして
扱える)だったからって暗黙の期待はするべからずということ。
0384デフォルトの名無しさんNGNG
>>383
了解〜
0385デフォルトの名無しさんNGNG
jdkのsrc.jarをかち割ってjavadocかますとどえりゃー事なります。
どつく作った奴のスペックはどんなんなの!自分のマシンjava.beanでもうへこたれます。
2THzの2TBぐらいいるでしょこれ、
privateなもんまでドキュメント化されてるのどっかで見ませんでしたか?
0386ケン ◆KENNYY/YXo NGNG
(ケン ´・∀・`)ヌルポ
0387384NGNG
>386
ありがとうケン!その方法でもっかい試してみるよ
0388ケン ◆KENNYY/YXo NGNG
(ケン ´・∀・`)だれだテメー
0389デフォルトの名無しさんNGNG
>>385
cat /dev/null > src.jar
したらスペックが貧弱でも大丈夫ですよ
0390デフォルトの名無しさんNGNG
普通はecho -n '' > src.jar
0391デフォルトの名無しさんNGNG
>>373
APIドキュメント見てもいまいち分からないんですが、JListと同じように設定すればいいんですか?

>>374
タブで管理してタブごとにファイルの読み書きをしたいので、タブのインデックスをメニューバーで使用したいです。
0392デフォルトの名無しさんNGNG
>>385
確かに時間かかるな。
src.jar 全ソースで 4分41秒 もかかったよ。
private もつけたし。

CPU が 2THz だったら 0.3 秒くらいかな。たぶん。
0393デフォルトの名無しさんNGNG
サーバーからファイルをクライアントへダウンロードする場合
ダウンロードダイアログを表示し、ファイル名と保存場所を指定するのが
一般的だと思いますが、
ダウンロードダイアログを出さずにプログラム上で指定した
ファイル名、保存場所に保存させることは可能でしょうか?
調べたのですが実現方法が分からないので、知っている方がいたら教えてください。
お願いします。
0394デフォルトの名無しさんNGNG
>>393
すばらしいセキュリティ意識ですね。
0395デフォルトの名無しさんNGNG
>>393
じゃ、俺はダウンロードしたらお前の PC のシステムディレクトリを
上書きするプログラムを書きたい。ダイアログ無しで。

まー、ほんとにやりたいんだったら、WindowsUpdate がやっていることを
ネットワークトレースして見れば?
0396デフォルトの名無しさんNGNG
org.apache.tools.zip.ZipOutputStream を使用して ZIP ファイルを作成したいのですが、
setEncoding でエンコーディングに "Windows-31J" や "Shift_JIS" にしても
ファイル名が Shift_JIS になりません。
バイナリエディタで見ても何でエンコードされたのか不明です。
(UTF-8 でも ISO-2022-JP などのほかの日本語コードでもありませんでした。)

どなたかうまく行っている方、アドバイスください。
0397デフォルトの名無しさんNGNG
>>396
java.net.URLEncoder
0398デフォルトの名無しさんNGNG
>>391
JListにマウスリスナーを仕掛けて、その中で
JList#locationToIndex(Pointlocation) で取得したインデクスを
保存しておく。もちろんmouseExitedでクリアーも忘れずに。
ドロップ処理の中でその値を取得して、ドロップ先を特定する。

0399デフォルトの名無しさんNGNG
>>398
ダメなのです。
swingドラッグサポートが開始されて、マウスカーソルがドラッグ&
ドロップ処理中に移ると(TransferHandler#getSourceActions、
#exportAsDragが呼び出されると)、イベント発生元のコンポーネント
を含む全コンポーネントのマウスリスナーの呼び出しがシャットダウン
されてしまうのです。マウスイベント発生通知がJAVAのシステム部分?で
独占されてしまってるみたいなのです。
そのシステム部分?からマウスカーソルの位置情報を知るにはどうすれば
いいのでしょうか?
0400デフォルトの名無しさんNGNG
>389-390
ありがとう消えてった!わっかんないてそれ向きそれでいいの??なんか裏テクなのかと決めちったぜ
危ないからほんと

>392
それ嘘でしょ?ありえないでしょ??本当なら何が違うの?jdk?もし未使用?
オプションは?失敗してはいろいろ引数かえてたら

javadoc -d ../doc -private -use -windowtitle "Java 2 Platform SE 5.0" \
-doctitle "Java 2 Platform SE 5.0" -breakiterator -splitindex \
-sourcepath ./src -nohelp -quiet -nonavbar -linksource -nonavbar \
-linksource -subpackages *

こんなんなっちゃってました、antでやったほうがいいの??あっちのほうが余計くたばりそうだけども
これって-Xmxとか入りません?
0401デフォルトの名無しさんNGNG
>>400 javadocのヘルプくらい読め。
0402デフォルトの名無しさんNGNG
Frameをつかって、Panelのaddとremoveをやってパネルの切り替えをしています。
Appletをつかってaddとremoveで切り替えようとするとうまくいきません。
(removeはできるがaddが反映されない)
validateを呼び出して再配置をしてみましたがうまくいきませんでした。
appletで部品の切り返ってどうすればよいですか?
0403デフォルトの名無しさんNGNG
>>398
JList#getDropTarget()でDropTagetを取得して、
DropTargetListenerをしかける。
DropTargetDropEvent#getLocation()
0404デフォルトの名無しさんNGNG
カードレイアウトを使おう!
0405デフォルトの名無しさんNGNG
まず、日本語だな。
0406デフォルトの名無しさんNGNG
>>403
おお、ありがとうございました!
0407デフォルトの名無しさんNGNG
>>400
4分は ant だよ。maxmemory
0408デフォルトの名無しさんNGNG
あるオブジェクトをシリアル化しようと思ってます。そのとき、
Imageのようなシリアル化できないオブジェクトがフィールドとしてある場合
そのフィールドだけシリアル化の対象外にすることはできますか?
0409デフォルトの名無しさんNGNG
transient
0410デフォルトの名無しさんNGNG
>>409
こんなキーワードあったんですね。初めて知りました&使います。
ありがとうございました。
0411デフォルトの名無しさんNGNG
>>410

言っておくが、transient指定するとシリアライズ対象外になるんだから、
その部分をどうやって保存/復元するかは自分で決めないといかん。

再現時に無視できるフィールドなら気にしなくてもいいけど、たとえば
Imageを

private void writeObject(ObjectOutputStream out) throws IOException
を定義してピクセル値の配列で出力、
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
を定義して、その配列を読み取って再構成

する必要があるかもしれない。

0412デフォルトの名無しさんNGNG
しかし、なんかネタっぽい質問だな。
例の単発分かりきった質問厨じゃないか?
0413デフォルトの名無しさんNGNG
>>411
transient指定したImageは代わりにPixelGrabberでint[] pixelsにして
このint配列をシリアル化するようにしました。

復元するときはint[] pixelsからcreateImage(MemoryImageSource)で
Imageを再構成しました。

>>412
ネタじゃないです・・・オブジェクトのシリアル化機能自体最近知って感動してます。
今まではフィールドごとにテキストで出力しようとしてました。
0414デフォルトの名無しさんNGNG
>401その言葉かなりぐっときたどうも
-helpで表示される以外にオプションがこんなにあるんね、あとは1.4と1.5の違いにたまげた
やりたかった日本語1.4docをまーじつーるのお力拝借して1.5のsrcにねじ込む。
それで1.4|=1.5docできない、の。か?@assert?眠すぎでわかんないけど、

>407
antかなりすっごい使い勝手よすぎでした。反則気味にjavadocより早かった、気になって追っかけて見たら生で叩いてる。のかな?もーだめだ
エラーじゃばじゃば出ますがなんとかいけそうです。1.5と互換の問題で作らないほうが
ありがとうございましたおやすみなさい
0415デフォルトの名無しさんNGNG
質問ですが、

StringBufferクラスにsubstringという部分文字列を取り出すAPIがありますが、
以下のようなデータを決められたフォーマットにしたがって取り出していくのですが、

200005141092ブロードアピール 570松永幹

このデータをsubstringで取り出すと、半角と全角を同じ「1」のオフセットとして扱うため、半角として30文字取り出したいのに、substringだと
全角30文字として取り出せれてしまい、データがずれてしまいます。

StringBuffer(String)にある文字列を半角として部分的に取り出すことは可能でしょうか?


0416デフォルトの名無しさんNGNG
>>415
30byte取り出したいって事か?
フォーマット決まってるなら、半角の文字数+全角の文字数指定すればいいだろ。
0417デフォルトの名無しさんNGNG
二つ質問させてください。

 フレームの中に複数のパネルを配置して各々の場所で何らか作業する場合、
それらのパネルは一つ一つスレッドを使って作業させた方がよいのでしょうか?
 またスレッドは百個くらい起動させても同機がとれるものなのでしょうか?
0418デフォルトの名無しさんNGNG
>>417
スレッドに分けるかどうかは作業の内容による。
スレッドの同期は自分で取らなきゃだめ。
0419デフォルトの名無しさんNGNG
>>400
JavadocはAntで使うのが常識だよ。
俺の中では
0420デフォルトの名無しさんNGNG
>>414
> >407
> antかなりすっごい使い勝手よすぎでした。反則気味にjavadocより早かった、気になって追っかけて見たら生で叩いてる。のかな?もーだめだ
> エラーじゃばじゃば出ますがなんとかいけそうです。1.5と互換の問題で作らないほうが

何が何を生で叩いてるのだ?
どんなエラーが出るのか?
お主が書いたAntのjavadocタスクのコードを見せてみろ
0421デフォルトの名無しさんNGNG
JListのデフォルトのマウス動作は、プレスするとその一つのセルだけを
選択状態にしますけど、こういう各コンポーネントのデフォルトのマウス
イベント処理を無効にするにはどうすればいいのでしょうか?
ドラッグサポートを使いたいのでremoveMouseListener()以外の方法で
お願いします。
0422デフォルトの名無しさんNGNG
>>418
レスありがとうございます。
たとえばボタンだけ配置されているパネルとかは
スレッドに分ける必要はないのでしょうか?
0423デフォルトの名無しさんNGNG
>>415
結局、そのデータで馬名が日本語の場合、C言語だと2バイトになるけど、
Javaの場合UNICODE扱いだから、1バイトになって処理されるのが問題なんですよね?

ならば、その文字が英字なのか?そうでないのか?を調べればいいのではないでしょうか?
Stringクラスに正規表現をつかって文字列内の情報を調べるものがあります。

matches(String regex)
regexには正規表現を指定してください。javadocに詳細があります。

そこで、matches([0-9])みたいにその文字列が0から9の数値なら〜みたいに文字列を調べればいいのです。
0424デフォルトの名無しさんNGNG

JavaAppletによって描いて出来た画像をサーバーに保存したいのですが、
どうすれば良いのでしょうか?

画像データとしてCGIに送るのかと思い、調べたのですが解りませんでした。

キーワードだけでも教えていただければ頑張って調べます。

あほなので出来れば解りやすくお願いします。
0425デフォルトの名無しさんNGNG
そのサーバーがどのプロトコルを用い、どんな受付方法を設定してるかで
千差万別だけど、最も一般的なHTTPなら、URLConnectionでつないで、
それから得たOutputStreamインスタンスで送ろう。
あとはサーバーの問題です。
0426デフォルトの名無しさんNGNG
>>424
CGIでバイナリを受け取るのって、実は文字を受け取るより簡単だと思う
ただサンプルは少ないかもな
0427424NGNG
>>425
>>426
ありがとうございます。
良く解ってないのですが、頑張って調べていきたいと思います。
0428デフォルトの名無しさんNGNG
正規表現についてお尋ねします。
String TestString = "123abc456";

このTestStringの中に、"abc"が入っているかどうかを
判断するにはどのようにしたらよいのでしょうか?
0429デフォルトの名無しさんNGNG
>>428
スレ違い。正規表現スレいけよ
0430デフォルトの名無しさんNGNG
スレ違いって訳でもないよ。
TestString.matches(".*abc.*")
でOK
0431デフォルトの名無しさんNGNG
単に文字列が入っているか調べるだけなら
TestString.indexOf("abc")で-1が戻ってないか判定するだけでもよさそう。
0432デフォルトの名無しさんNGNG
>>430
レス有難うございます。ご指摘の通り試したところうまく動作しました。
Perlで正規表現使ってたんですけど、Javaとの違いにまだ慣れてないみたいです。
勉強します_| ̄|○

>>431
う…、そう言われればそうでした。
0433369NGNG
どうしてコンパイルすら通らないんでしょうか?

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class Test extends JFrame implements ChangeListener {
JLabel label = new JLabel("項目を選択>インデックスを表示");
JTabbedPane tabPane = new JTabbedPane();

Test() {
JLabel myLabel0 = new JLabel("ひとつめ");
JLabel myLabel1 = new JLabel("ふたつめ");
JLabel myLabel2 = new JLabel("みっつめ");
JLabel myLabel3 = new JLabel("よっつめ");

tabPane.addchangeListener();
getContentPane().add(label, BorderLayout.NORTH);
getContentPane().add(tabPane);

//続く
0434369_2NGNG
//続き
tabPane.add(myLabel0);
tabPane.add(myLabel1);
tabPane.add(myLabel2);
tabPane.add(myLabel3);
}

public void stateChanged(ChangeEvent e) {
label.setText(Integer.toString(tabPane.getSelectedIndex()));
}

public static void main(String s[]) {
Test myApp = new Test();
myApp.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
myApp.setBounds( 130, 130, 640, 480);
myApp.setVisible(true);
myApp.setTitle("Test");
}
}
0435デフォルトの名無しさんNGNG
>>433
コンパイル時にどこでどんなエラーメッセージが表示されるのかぐらい書けよ
0436デフォルトの名無しさんNGNG
>>433
ここが変
tabPane.addchangeListener();
0437デフォルトの名無しさんNGNG
java2 SDK1.5をインストールしたらアンインストールできなくなりました。
どうすればいいですか?
0438デフォルトの名無しさんNGNG
>>437
・あきらめる
・OSから再インストール

好きな方を選べ
0439デフォルトの名無しさんNGNG
コントロールパネルからアンインストールできないんですか?
0440デフォルトの名無しさんNGNG
>>439
はいそーなんです。
0441デフォルトの名無しさんNGNG
>>440
・該当のレジストリを消す。
・インストールディレクトリ(JDK)を消す。
・システムディレクトリの java.exe とか(JRE)も消す。
・窓の手とかでアプリ追加/削除のエントリを消す。

で、アプレットが動かなくなると。
0442デフォルトの名無しさんNGNG
質問させてください。
今Javaでアプリケーションを作ってみようと思っています。
GUIに使うものとしてswingを考えていたのですが、
動作が遅いと聞いたので、AWTとどっちがいいか迷っています。
AWTとSwingってそこまで速さに違いがあるのでしょか?

ちなみに作るコードは500KB位と考えています。
どうかよろしくお願いします。
0443369_2NGNG
>>435 >>436

すみません。
シンボル: メソッド addchangeListener ()
場所 : javax.swing.JTabbedPane の クラス
tabPane.addchangeListener();

シンボルtabPaneが解決出来ないと出ます。JDK1.4.2_5です。

ラベルにインデックスを出したいのですが・・
0444デフォルトの名無しさんNGNG
標準に設定されたブラウザにアドレスを与えて
ブラウザを起動させたいんですけどどうしたらいいですか?
0445デフォルトの名無しさんNGNG
>>443
もう解答は上に出てるよー。
addChangeListener()に、パラメータがないんだよー。
かっこの中にChangeListenerの実装インスタンスを入れておくれよー
0446デフォルトの名無しさんNGNG
>>442
どっちも大して変わらないよー。
と言うか、AWTは未完成のGUIコンポーネントなので
今使う意味は全くないですよー。
何だかんだ言ってもSwingが最もポピュラーなんですよー。
速度がそんなに気になるならSWTをつかっておくれよー。
0447デフォルトの名無しさんNGNG
>>444
JAVAの質問じゃないよー
0448デフォルトの名無しさんNGNG
>>443
API仕様をよく見ろ
0449デフォルトの名無しさんNGNG
>>447
おまえ日本語読めないのか
0450444NGNG
>447
javaプログラムでイベントを受けた際に
>444のような処理を行いたいんです。
0451369_2NGNG
>>445 >>448

最初は
addchangeListener(this)としていたんですが、cが小文字なのを気付きませんでした。

ヒントを下さりありがとうございます。
0452デフォルトの名無しさんNGNG
アプレットで,イベントを受け付けた際に,ブラウザ内の別フレームにHTML
を出力するプログラムがうまく動きません.
コンパイルは通るのですが,ソースの
static AppletContext appletcontext;
の部分でエラーが起こります.
この場合,どのような原因が考えられるでしょうか?

import java.applet.*;
import java.net.*;

public class applet extends Applet
{
static AppletContext appletcontext;
public applet()
{
appletcontext = getAppletContext();
try
{
URL url = new URL(getDocumentBase(),"frame.html");
appletcontext.showDocument(url,"frame");
}
catch(MalformedURLException e){}
}
}
0453デフォルトの名無しさんNGNG
何かアプレット系の質問多いですね。
0454デフォルトの名無しさんNGNG
サーブレットの質問です。

コンテントタイプをiso-8859-1で設定している入力画面から
全角文字が入力された場合エラーにしたいのですが、全角
文字の判定方法がわかりません。

コンテントタイプをシフトJISにすればできるのですが、
コンテントタイプは変えられないので困っています。
0455デフォルトの名無しさんNGNG
おはようございます、起きぬけで恐縮ですが質問させてください。
Java Applet から CGI プログラムを呼び出して、返って来た
バイナリデータを byte b[] に収めたいと思い、以下のような
ルーチンを作りましたが、問題があります。

byte b[] = null;
InputStream in = null;
URLConnection uc = null ;

try {
URL u = new URL(getCodeBase()+"getdata.cgi");
uc = u.openConnection();
in = uc.getInputStream();
byte buf[] = new byte[16384];
int n;
System.out.println("Content-length: " + uc.getContentLength()); // ここで -1 が返る
ByteArrayOutputStream bos = new ByteArrayOutputStream();

// ここに問題がある?
while((n = in.read(buf, 0, buf.length)) != -1){//
bos.write(buf,0,n);
}

in.close() ;
b = bos.toByteArray();
(以下継続)
0456デフォルトの名無しさんNGNG
(455続き)
この方法で処理を行うと、一見するとデータが読み込めているように
見えるのですが、実際に読み込まれたデータは、0x0a のデータが
0x0d,0x0a に置き換わってしまい元のサイズより大きくなってしまい
ます。どうやらテキストデータのCRLF置き換えが勝手に行われている
ようなのですが、この問題を回避する方法はありますでしょうか?
よろしくおねがいします。
0457デフォルトの名無しさんNGNG
>>452
getAppletContext()をコンストラクタじゃなくてinit()で行う かな。
コンストラクタ実行時点ではAppletStubが設定されてないから。

>>454
元々Shift_JISやWindows31Jに含まれる文字しか入ってこない
前提があるのならgetBytesして判別もありだと思うけど、まあICUみたいな
ライブラリ使うのがまともじゃないかな。

>>455
それ、元のCGIからは確実に0x0aで吐き出されているの?
他の手段で確認した?
0458457NGNG
ほんとはcontent-type: textのコンテンツは改行
コードは<CR><LF>ってことになってるから0x0aで
送ってもらうこと自体がアレ。みんな守らないから
クライアントも0x0aも想定してコード書かないと
いけないけどね。
0459454NGNG
>457さん

それはこんなやつでしょうか。

public boolean byte_str_check( String i_str_data)
{
int str_len1 = i_str_data.length();

//エンコード
try {
i_str_data = new String(i_str_data.getBytes("8859_1"), "Shift_JIS");
} catch(Exception e) {
return false;
}
//lengthの比較処理
}

こちらは試してみたのですが、GetBytesでうまく全角文字に変換されません。
引数に与える文字コードが間違っていますか?
0460454NGNG
>457さん

それはこんなやつでしょうか。

public boolean byte_str_check( String i_str_data)
{
int str_len1 = i_str_data.length();

//エンコード
try {
i_str_data = new String(i_str_data.getBytes("8859_1"), "Shift_JIS");
} catch(Exception e) {
return false;
}
//lengthの比較処理
}

こちらは試してみたのですが、GetBytesでうまく全角文字に変換されません。
引数に与える文字コードが間違っていますか?
0461454NGNG
>457さん

それはこんなやつでしょうか。

public boolean byte_str_check( String i_str_data)
{
int str_len1 = i_str_data.length();

//エンコード
try {
i_str_data = new String(i_str_data.getBytes("8859_1"), "Shift_JIS");
} catch(Exception e) {
return false;
}
//lengthの比較処理
}

こちらは試してみたのですが、GetBytesでうまく全角文字に変換されません。
引数に与える文字コードが間違っていますか?
0462デフォルトの名無しさんNGNG
3連続で荒らすとはやるな
0463デフォルトの名無しさんNGNG
455 です。 > 457 氏
すまんす、ご指摘の通り、CGI(Perl)側の問題のようでした。
Win上でローカル試験してるんですが、きちんと binmode の
出力を指定しているにも関わらず、0x0d,0x0a 変換していま
した。Linux 上でリモート試験したら正常に動きました。
以後は Win & Perl の問題なのでそっち方面で解決します。
ご指摘感謝&吊ってきます。
0464デフォルトの名無しさんNGNG
vectorでオブジェクトを追加した場合、vectorにはオブジェクトへのポインタが入るのでしょうか?
それとも追加するオブジェクトのコピーが生成されるのでしょうか?
0465デフォルトの名無しさんNGNG
>>464
ポインタが入る
0466デフォルトの名無しさんNGNG
vectorと小文字で書かれているからSTLのスレか何かと思ってしまった。
内部では配列に代入しているだけなので、あなたのいうポインタです。

コピーを生成して代入していると仮定すると、Vectorに格納されるすべ
てのインスタンスは、Cloneableを実装しているか、Serializableを実装
しているか、といった限定が付きそうなものですが、実際にはそうでは
ありませんね。
0467414NGNG
>420、ご報告までに、生で叩くってのは書いた本人も意味わかりません。無視してください
<target name="javadoc">
<javadoc destdir="${docs}"
author="true"version="true"
locale="ja"sourcepath="src"
charset="Shift_JIS"encoding="ms932"docencoding="ms932"
maxmemory="256m"access="private"failonerror="false"
splitindex="true"windowtitle="Java 2 Platform, Standard Edition, 1.5.0">

<packageset dir="src"><include name="**/**" /></packageset>
<doctitle><![CDATA[<EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Standard Ed. 5.0</b></EM>]]></doctitle>
</javadoc></target>

[javadoc] パッケージ javax.imageio.spi のソースファイルを読み込んでいます...
[javadoc] javadoc: java.lang.OutOfMemoryError: メモリを増やしてください。
[javadoc] たとえば、Sun の classic もしくは hotspot VM では、-J-Xmx32m のように
[javadoc] -J-Xmx オプションを使用します。
[javadoc] 61 errors
[javadoc] 224 warnings
BUILD SUCCESSFUL
Total time: 41 minute 35 seconds
お亡くなりになります。何も作られません。<include name="org/**" />でまわすと
19 errors
3808 warnings

BUILD SUCCESSFUL
Total time: 13 minutes 11 seconds
なんかエラーは出ますが、最後までいきます。
これは完全にスペックの問題ですね?指定してる256mも実際256しかないので150mぐらいしか使えないんじゃないかと、PC100のメモリー最近はもう売ってないですし、困りました。当然かなりスレ違い野郎ですね。
入れ食いエラーの内容は、"assert はキーワードなので識別子として使うことはできません。"でした。
0468デフォルトの名無しさんNGNG
おぉ、そっか。
だとするとArrayListなんかもポインタか
ちょいとコレクションフレームワークを復習しよう
0469デフォルトの名無しさんNGNG
>>465-466
ありがとうございます。

mallocが使えないんで苦労していましたがこれで何とかなりそうです。
0470デフォルトの名無しさんNGNG
>>468
そのまえに、Javaの参照を勉強しなおせ。
0471デフォルトの名無しさんNGNG
Javaでmallocとか意味わかんねぇ・・・
0472デフォルトの名無しさんNGNG
Cは知ってるんだぞ、というささやかな主張だ。
言語別に勉強できてないことを露呈したわけだが。
0473デフォルトの名無しさんNGNG
というか、Cでもムダにmallocしてそうな悪寒。
0474デフォルトの名無しさんNGNG
文字のデータを切り取るメソッドを作りたいのですが
下のようにしているとスタート値が0で終了値が30の時には
30文字を取りに行ってしまいます

30文字ではなくて30byteで取りたいのですがどのようにすればいいのでしょうか
ご教授お願いします

返り値はStringで返したいです


String getSubData( String str, int s, int e ){
 String substr;
 substr = str.substring(s,e);
 return substr;
}
0475デフォルトの名無しさんNGNG
getBytesする。
0476デフォルトの名無しさんNGNG
"hoge".hashCode()のように文字列リテラルのハッシュ値等は定数式にはなれないのでしょうか?
static finalで宣言してもinterfaceで実装してもコンパイラに定数式じゃないと怒られてしまいます
0477デフォルトの名無しさんNGNG
>>475
こういう人って文字コードとか文字幅とかどう考えてるんだろ?
0478474NGNG
たとえば帰ってくるデータが

0000あいうえおかきくけこ123asdああああ

みたいな文字列で

00
00あいうえおか
きくけこ123
as
dああああ

の様に切り分けたいんです、、さっきのちょっと直してみたんですが全然ダメでした・・・

byte[] substr;
substr = str.substring(s,e).getBytes();
return substr.toString();
0479デフォルトの名無しさんNGNG
>>478
 長さをbyteで計算して切り出したいのに、getBytesする前に
substringしたら意味ないだろう。あとbyte[]からString
にもどすときはStringのコンストラクタ使う。
 でもさ、474のやりたいことは、多分こういうことじゃないと
思うけどね。
0480デフォルトの名無しさんNGNG
ちょっとやりたいことが明確になってないので書いて見ます

切り分ける元の文字列はネットワークから取得してきたString

単純にsunstringすると30文字取ってきてしまうのでアレ

byteで30byte取ってくる、マルチバイト文字列が入っていても可能でなければならない

メソッドからreturnするときはString型で返したい。


ってな感じなんですけども。。。
0481デフォルトの名無しさんNGNG
まあおそらく日本で主に使われている環境でいわゆる半角文字を30文字
拾ってきたいってことなんだろうなあ。手抜きするならShift_JISに
変換して自前で切り分け処理だろうけど、ちゃんとするならICUかな。
0482デフォルトの名無しさんNGNG
>>478
元のデータの文字コードは気にしなくていいのか?

byte[] sbyte = str.getBytes("エンコーディング入れる");
byte[] pbyte = new byte[(e - s)];
for (int i = s, j = 0; i < e; i++, j++) pbyte[j] = sbyte[i];
return new String(pbyte, "エンコーディング入れる");

だいたいこんな感じ。
0483デフォルトの名無しさんNGNG
アプレットを使っていて、JDK1.4.2_05にバージョンアップしたら
java.security.AccessControlException: access denied (java.lang.RuntimePermission charsetProvider)
とエラーが発生するようになりました。
どうしたら解消しますか?
ご教授お願いします。
0484474NGNG
ありがとうございました!!!

>>478様のソースで完璧に問題なく動きました

ちなみにエンコーディングはサーバーで処理するんで考えなくても大丈夫です。。。

みなさまありがとうございました。
0485デフォルトの名無しさんNGNG
>>484 30byte目がマルチバイトの1バイト目だったらどうするとかなんも考えてないのね。
まあ474の視点で問題ないならいいや。
0486474NGNG
サーバー処理で30バイト目にはマルチバイトの1文字目は来ない設定でやってるので大丈夫です

度々説明が足りませんでした、、、とにかくありがとうございました!
0487デフォルトの名無しさんNGNG
なんで Swing の入力検査ってイベントじゃないんですか?
JComponent#setInputVerifier(InputVerifier iv) で入力検査を実装できますが、
なぜ JComponent#addInputVerifyListener() のようにしなかったのでしょうか?
イベントになっていないからだと思いますが、ほとんどの IDE の GUIエディタが
この入力検査のスケルトンを吐いてくれません。めんどくさいです。
0488デフォルトの名無しさんNGNG
>>487
バグパレードにRFEよろ。
0489デフォルトの名無しさんNGNG
まぁ1.3から導入と言うところからして完璧後付だし、
setなのでプロパティのところで簡単に出来るだろ
0490デフォルトの名無しさんNGNG
iアプリですが、低レベルAPIでgifアニメの使用はできますか?
0491デフォルトの名無しさんNGNG
おまいぐらい低レベルだと無理
0492デフォルトの名無しさんNGNG
>>490
すれ違い

【初心者歓迎】iアプリ相談室
http://pc5.2ch.net/test/read.cgi/tech/1089530578/
0493デフォルトの名無しさんNGNG
byte配列 byte[] をStringに変換するには
どうすればいいのでしょうか?

初歩的な質問ですいません。
0494デフォルトの名無しさんNGNG
>>493
String a = new String( bytes[] );
0495デフォルトの名無しさんNGNG
>>494
ありがとうございました

あと一つ申し訳ございませんが
byte[]として作った配列の長さを調べるにはどうすればいいのでしょうか?
Byte[] by = strbuf.toString().getBytes();
としてbyte配列を作ったとしても、そのbyte配列の長さがわかりません。
Stringの文字列とは異なる部分が出てくるはずですから。
0496デフォルトの名無しさんNGNG
>>495
int len = by.length

Javaを初めから勉強し直せっていうか、勉強中?
Java関連の本とか読んでないのか?
0497デフォルトの名無しさんNGNG
>>496
ありがとうございました
助かりました
0498デフォルトの名無しさんNGNG
Java関連の質問ということでここに書きます。

Java歴7年、2ch歴1年の中年オヤジです。
なぜ、2chでは Null Pointer Exception.(ぬるぽ) が流行っているのですか?
IE経由で見ても、アプレットやJSPを使っている気配はないし、
2chブラウザ?でも、Javaでできているものはなさそうだし。

それに、こんなに多くの人が集まる2chで
Javaプログラマーがそんなにいるとはとても思えません。

2chを見ていれば、いつか分かると思って一年。
結局疑問は深まるばかりでした。
0499デフォルトの名無しさんNGNG
調べもしないでだまーって待ってたんだ。
歴が長くなるだけで無能な人なんだろうな。
0500デフォルトの名無しさんNGNG
ぬるぽ
0501デフォルトの名無しさんNGNG
>>498
マ板で聞け
0502デフォルトの名無しさんNGNG
>>499
無駄な知識は増えました。

プログラム系のスレの特徴は書き込みを見て、
あなたみたいに技量をプロファイリングする人が多いです。
これは、他の板には少ない大きな特徴です。
人付き合いが下手で理屈っぽい人が多いという、
プログラマーの傾向がよく出てます。
0503デフォルトの名無しさんNGNG
>>501

有り難うございます。
行ってきます。
0504デフォルトの名無しさんNGNG
>>502
プロファイリングというのは>>502のようなやつですか。
0505デフォルトの名無しさんNGNG
ぬるぽ
なんか使ってる奴は童貞でハゲ
0506デフォルトの名無しさんNGNG
1年も見てて板違いな質問をするとは・・・
0507デフォルトの名無しさんNGNG
>>502
あなたも相手をプロファイリングしてるということで、人付き合いが下手で理屈っぽいプログラマーの傾向がよく出てるわけですね。
0508デフォルトの名無しさんNGNG
調べずに板違いな質問をし、自分のレスで自爆するおじさんがいるスレはここですか?
0509デフォルトの名無しさんNGNG
いま流行りはArithmeticException
0510デフォルトの名無しさんNGNG
eclipseの動作が重すぎて使えません。
ちなみに3.0なんですが他に軽いのはないものでしょうか?
0511デフォルトの名無しさんNGNG
メモ帳
0512デフォルトの名無しさんNGNG
vi
0513デフォルトの名無しさんNGNG
>>511,512
ですよね…。
0514デフォルトの名無しさんNGNG
>>510
自分で作っちゃえ
0515デフォルトの名無しさんNGNG
>>513
マシンの増強は選択肢に無しか?
0516510NGNG
>>514
プログラムも初心者なもので。

>>515
お金がないんです。
0517デフォルトの名無しさんNGNG
>>516
初心者ならエディタ+javacで頑張るのもいいんじゃないかな。
0518デフォルトの名無しさんNGNG
>>510
http://www.vector.co.jp/vpack/filearea/win95/prog/java/
いっぱいあるよ。
0519518NGNG
http://java.sun.com/j2se/1.4.2/ja/download.html

これを忘れてた。NetBeans
0520デフォルトの名無しさんNGNG
>>519
netbeansも重いじゃん
0521デフォルトの名無しさんNGNG
eclipse が重い? バカ言うなって。
eclipse が重いってことは、作成したプログラムも重いってこった。
素直にパソコン買い替えとけ。
0522デフォルトの名無しさんNGNG
たぶんwin32ネイティブも最近のアプリならヘビーすぎてきついだろうな
もちろんIEは3までだよな
0523デフォルトの名無しさんNGNG
>510
DevBoosterつーのがあるぞ。なかなかいい。
0524510NGNG
>>517

初めはそれで頑張らないと勉強にならないっていうのも見たんですけど、
やっぱりエディタでしこしこ書くのは辛いんですよね。まあそんぐらい頑張れって話なんですが。

>>518

有り難うございます。試してみます。

>>520

netbeansも重くて無理でした。


0525510NGNG
>>523

有り難うございます。早速調べてみることにします。
0526デフォルトの名無しさんNGNG
メモリぐらい差せ。
NetBeansは192MBからだぞ。使えるのは。せめて128MB。
ただ、メモリ128MBあって重いといってるなら、我慢して使え。

補完もないエディタでしこしこと無駄な努力するのは、べつにJavaの勉強にはならないよ。
javacでコンパイルも、コマンドプロンプトの勉強にはなるだろうけど、あまりJavaの勉強とは関係ない。
使うライブラリをちょっと増やすとjavacはめんどくさくなるし、antは初心者が最初から使うにはどうかと思うし。

単純な入力ミスで悩むなら、補完やエラー表示のあるエディタ使って、他のことで悩む方が有意義。
0527510NGNG
>>526

確かに…。入力ミスで何回か悩んだ事あります。

ちなみにメモリは64MBです。終わってます。
0528デフォルトの名無しさんNGNG
>>527
窓から投げ捨てて新しいマシン買え
もしくはエディタで我慢しろ
0529デフォルトの名無しさんNGNG
eclipse 3は2に比べてけっこう重いと思う。
少しの間だけど反応なしに陥るときがしばしばある。
結局2に戻した。
メモリは256MB
0530デフォルトの名無しさんNGNG
3を今使うことないじゃん
マイナーバージョンがあがるまで待とう
0531デフォルトの名無しさんNGNG
>>529
NetBeansはバージョンあがるたびに軽くなるのにね。
NetBeans4も、なんとなく軽くなった気がする。
0532デフォルトの名無しさんNGNG
>>529
Eclipseには将来IBM JDKが搭載されるらしい。
けど、3.0で何を使ったら重たいのだ?
0533531NGNG
念のため補足しておくけど、入力のレスポンスは、NetBeansは仕組み的にEclipseには敵わないけどね。
0534デフォルトの名無しさんNGNG
>>532 もうIBM JDK抱き合わせのeclipse、配布始まってるよ。
0535デフォルトの名無しさんNGNG
NetBeansって内部で独自のイベント回しだっけ
あれなくなればかなり早くなるのになぁ
SwingのシステムLAFになった3.6はだいぶいいやね
J2SE5のネイティブLAFで動かせばどうなるか激しく気になるけど

0536デフォルトの名無しさんNGNG
質問です。
アプレット上からディスク上にファイルを出力しようと試みたんですが、
アクセス権限エラーが発生してうまくいきませんでした。
調べた結果、ポリシーファイルをクライアント上に用意されてあるらしく、
それにアクセス権限を追加し、うまくいきました。
問題は、JavaScriptからアプレットを呼び出したときのみ、
なぜかうまくいきません。これは、仕様なのでしょうか?

0537デフォルトの名無しさんNGNG
Apache+TomcatでWebサーバーを構築しています。
なんとかFullGCを起こしたいのですが良い方法はありませんか?
0538デフォルトの名無しさんNGNG
タブ区切りのテキストファイルの、例えば Matrix.txtで
ab
11001
21002
31003
... ...

を配列形式で
[a][b]
[1][1001]
... ...

と読み込むにはどうすればいいでしょうか?
最終目標は、1+1001,2+1002,...と計算させたいと思っています。
※縦長ですみません
0539デフォルトの名無しさんNGNG
テキストを一行ずつ読み込んで
java.lang.String#split(regex);
で切ればいいんじゃね?
0540デフォルトの名無しさんNGNG
>>529
それは俺も強く実感した。
P3 866MHz Mem256MByte のマシンに
Eclipse 3 を入れてたとき。
0541デフォルトの名無しさんNGNG
お前らPC買い換えろ。IBMの最新のに。
0542デフォルトの名無しさんNGNG
>>538

ライブラリーの StringTokenizer がお勧め。
google 検索すれば、解説サイトがいっぱいHitするから。
0543510NGNG
>>523

DevBooster軽かったです。しばらくこれを使ってJavaの勉強をしてみようと思います。
0544デフォルトの名無しさんNGNG
>>535
激しく気になるなら試せと・・・
0545デフォルトの名無しさんNGNG
まだRCだからなんとも
0546デフォルトの名無しさんNGNG
java.lang.Voidってなん?なに?なぜ?java.lang.Nullはなくて?
0547デフォルトの名無しさんNGNG
戻り値なし(返値の型がvoid)のメソッドをリフレクションで扱うときに、
java.lang.reflect.Method#getReturnType()が返すくらいかな。
0548デフォルトの名無しさんNGNG
>>538,>>542
勝手に作ってみたw

import java.util.*;
public class StringToken{
public static void main(String[] args){
String[] str=new String[]{"a\tb","1\t1001","2\t1002","3\t1003"};
String[][] matrix=new String[3][2];
int i=0,j;
StringTokenizer st;
for(i=0;i<3;i++){
st=new StringTokenizer(str[i],"\t");
for(j=0;j<2;j++){
if(st.hasMoreTokens())matrix[i][j]=st.nextToken();
}
}
for(i=0;i<3;i++){
for(j=0;j<2;j++){
System.out.print("(i="+i+",j="+j+")["+matrix[i][j]+"] ");
}
System.out.print("\n");
}
}
}
0549548NGNG
Split版作って試してみたら、自宅PCはJ2sdk_1.3だった。。。_| ̄|○
0550デフォルトの名無しさんNGNG
>>545
それでも、激しく気になるのなら試せ、と。
そして結果を教えてくれ。w
0551デフォルトの名無しさんNGNG
>>538
たぶんStringTokenizerを使わなきゃもっと短くなるはず。
がんばって5行にしてくれ。健闘を祈る。(違

import java.io.*;import java.util.*;class z{static public void main(String[]a)
throws Exception{File f=new File(a[0]);byte[]b=new byte[(int)f.length()];new
FileInputStream(f).read(b,0,(int)f.length());StringTokenizer t=new
StringTokenizer(new String(b),"¥t¥n");String[][]c=new String[(t.countTokens()/2)
][2];int[]x=new int[2];for(int i=0,j;t.hasMoreTokens();i++){for(j=0;j<2;j++){
c[i][j]=t.nextToken();x[j]=Integer.parseInt(c[i][j]);}System.out.println(x[0]+
"+"+x[1]+"="+(x[0]+x[1]));}}}
0552デフォルトの名無しさんNGNG
>>551
win対応で StringTokenizer t=new StringTokenizer(new String(b),"\t\r\n");
0553デフォルトの名無しさんNGNG
>>551
6行w

import java.io.*;import java.util.*;class z{static public void main(String[]a)
throws Exception{File f=new File(a[0]);int i=0,j,l=(int)f.length();byte[]b=new
byte[l];new FileInputStream(f).read(b,0,l);StringTokenizer t=new StringTokenizer
(new String(b),"¥t¥n");String[][]c=new String[(t.countTokens()/2)][2];int[]x=new
int[2];for(;t.hasMoreTokens();i++){for(j=0;j<2;j++){c[i][j]=t.nextToken();x[j]=
Integer.parseInt(c[i][j]);}System.out.println(x[0]+"+"+x[1]+"="+(x[0]+x[1]));}}}
0554546NGNG
>547
java.lang.reflect.Method#getReturnType()なるほど
リフレクションっての理解に時間がかかりました。もう5時です。
これってすさまじくないですか?いやー聞いてみるものでした。すんばらしい情報ありがと
おもしろくて試しに色々やっちゃいましたよ。結論は多用すると地獄ですが
これ以外に利用法ないです?さらっと探すとないんだけど、もしVoidってこれだけの為にあるの?
さてもう5時です。
0555デフォルトの名無しさんNGNG
>>523 >>543
あの吐き気がするほどのセンスの悪さに耐えられるなら
0556デフォルトの名無しさんNGNG
こんにちは

AWTにCanvasがありますよね
このCanvasをJPanelにaddして、そのJPanelをJScrollPaneにsetViewportViewしたんですが、
スクロールさせると、スクロール範囲外にもCanvasの内容が描かれてしまいます。

Graphicsクラスを使い描画できるSwingのクラスのクラスはないのでしょうか?
おそらく、AWTとSwingとがかみ合わないからだと思うのですが。
0557556NGNG
//JPanel
jP = new JPanel();
jP.setPreferredSize(new Dimension(1000,1000));
jP.setBackground(Color.BLUE);
jP.setLayout(null);

//Canvas関連の初期化
mc = new MyCanvas();
mc.setBounds(100,100,200,200);
mc.setBackground(Color.CYAN);
jP.add(mc);

//JScrollPane関連の初期化
setViewportView(jP);
0558デフォルトの名無しさんNGNG
>>556
普通にJPanelに描画できるよ
CanvasのかわりにJPanel使えばOK
0559デフォルトの名無しさんNGNG
>>539
そんなやり方するんだったらStringTokenizer使った方がいいかと思われ。
0560デフォルトの名無しさんNGNG
ガイシュツだった
0561556NGNG
>>558
ご返答ありがとうございます

JPanelからgetGraphicsでオブジェクトを取り出し描画したんですが、
NullPointerが発生してしまいます。
どうしてなのでしょうか?

Graphics g;
g = jP.getGraphics();
g.drawLine(10,10,100,100);
0562デフォルトの名無しさんNGNG
>>561
Graphicsは、paintComponent()のの引数からとる。
JPanelはサブクラス化しないとダメだよ。
0563デフォルトの名無しさんNGNG
>>556
JComponent
0564556NGNG
>>562
ご返答ありがとうございました

解決しました。
初歩的な質問に答えていただきまして
本当にありがとうございました。
0565デフォルトの名無しさんNGNG
>>546

似たようなところでは、Integer.TYPEみたいなのがある。

Class#getMethodでMethodオブジェクトを取ってくるときは
同一名で型の異なるメソッドを区別するために引数の型
を表すClassの配列をあたえてやるわけだけど、このとき、
int foo(int i)とint foo(Integer i)を区別するために、
それぞれ Integer.TYPE と Integer.class を使う。

TYPEを使うのはそれくらいかな。voidは引数になりようが
ないので、返値の型くらいでしか需要はないです。
0566デフォルトの名無しさんNGNG
すいません、質問です。
Java Beans の PropertyEditorSupport クラスを継承する形でプロパティエディタを自作しています。
getCustomEditor() を使って GUI エディタを表示させるところまではできたのですが、
ここで変更した値というのはどうやって呼び出し元に戻せばいいのでしょうか?
firePropertyChange 使っても何故か反映されない・・・。

テスト環境は NetBeans 3.6 です。よろしくお願いします。
0567デフォルトの名無しさんNGNG
>>566
PropertyChangeListenerを登録しる
0568デフォルトの名無しさんNGNG
すいません、質問いいですか?
前にディスプレイデバイスが破損して修復した後から
アプレットが表示されなくなってしまいました。
sun javaを入れたり、設定はすべてあわせたのですが
全然直らないし何が原因なのかさっぱりです。

ちなみに東芝、ダイナブックの
動作環境がwinMEのIE6です。
0569デフォルトの名無しさんNGNG
うん、なんていうか板違いだよね。
0570デフォルトの名無しさんNGNG
すいません、スレ違いでしたか…。
0571デフォルトの名無しさんNGNG
>>567
レスどうもです。

結局のところ PropertyEditorSupport クラスを継承したクラスの中に(内部クラスとして)
カスタム GUI を実装してそれを getCustomEditor() で返す、っていう手を使ったら
上手くいってしまったんですが、どうなんでしょう、、、
なんか根本的な解決になってないというか、、、。
0572デフォルトの名無しさんNGNG
Javaほどプログラミングしやすいものは見たことがない。
すごいよJavaは。
0573デフォルトの名無しさんNGNG
RMIで教えてください。
codebaseをftpにて定義したいのですが、この場合ユーザ名、パスワードを指定して
URLを記述することは可能ですか?
また、クライアント〜サーバ間にて異なる物理ディスク環境の場合、http以外だと
どのような手段がよいでしょう?
0574デフォルトの名無しさんNGNG
StackTraceの読み方がわかるサイトってありませんか?
だーっと出てくるけど、何のことかサパーリわからないので。
あれがわかるとデバッグがやりやすくなるんでしょうか?
0575デフォルトの名無しさんNGNG
読み方もなにも、
Exception in thred "スレッド名" 例外クラス名: 例外メッセージ
at 例外が発生したクラス名.メソッド名(それを含むファイル名)
at ↑を呼び出したクラス名.メソッド名(それを含むファイル名)
at ↑を呼び出したクラス名.メソッド名(それを含むファイル名)
...(以下繰り返し)
だけだろうに。
0576デフォルトの名無しさんNGNG
>>575
それはそうなんですけど、それをデバッグにどう生かしたらいいかが
よくわからんですよ
0577デフォルトの名無しさんNGNG
>>576
デバッグっていうか、何がどこで起こってるかわかるだけ。
0578538NGNG
> タブ区切りのテキストファイルの、例えば Matrix.txtで
a b
1 1001
の質問でしたが、542のカキコがあった時点で StringTokenizerクラスの
nextToken()を使って書いちゃいました。
 
539,542,548,552,553,554 さん、ありがとうございました。
0579一流プログラマーNGNG
ヴぉけども!MSの仕組みさえわかればなにもダッシュだろが!!
0580デフォルトの名無しさんNGNG
>>572
逆に言えば、最近になってようやく使える言語ができたって事で
振り返ってみると、これはちと驚きだな。
JAVA自体もようやく使える形になったのは1.2からだし、それまでの
主流言語はなんとC++。 しかし、STLは1999年前後にようやく
正式登録されてるという始末。
大昔から星の数ほどプログラミン言語は存在してるのに、まともなのは
全然ないとは、やっぱり有志や研究所で作るのはダメで、それが即
利益に直結するような営利企業が作らないとダメって事なのか。。。
0581デフォルトの名無しさんNGNG
>>580
Javaがその時期にでてきたのは基礎理論の発展によるだろが。
同じような時期から、Rubyなど、個人が作った使える言語も増えている。
もちろんある程度の市場性を持って使い物になるためには営利企業主体である必要があるわけだが、それは当たり前の話だ。
0582デフォルトの名無しさんNGNG
会社の生死にかかわるからなぁ
0583デフォルトの名無しさんNGNG
>>581
オブジェクト指向言語の実用化は、1997〜8になってようやく完成されたと
いう事なのだろうか。
海外じゃsmalltalkは結構メジャーだったとはいえ、JAVA登場以前の
OOPでもっともメジャーだったのは、結局エセOOP言語のC++だった。
プログラミング言語の発達は想像以上に遅いな。
0584デフォルトの名無しさんNGNG
>>583
言語の前に、コンポーネント技術の壁の方が大きかったのではないかと。
0585デフォルトの名無しさんNGNG
>>583
自分がメジャーになってる言語しかみてないだけ
0586デフォルトの名無しさんNGNG
>>577
場所を確かめてくしかないってことか
ありがと
0587デフォルトの名無しさんNGNG
>>586
そんなことは言ってない。
デバッガ使え。
0588デフォルトの名無しさんNGNG
>>585
メジャーになってない言語はうんこ。自己満足でしかない。
0589デフォルトの名無しさんNGNG
>>588
言語をメジャーにして金儲けするのは自己満足ではないのか?
0590デフォルトの名無しさんNGNG
言語談義はスレ違いです(はぁと
0591538 & 578 ですNGNG
再びアドバイス願います。
 例えば次の5個のファイルと、その中身が
Txt1.txt 中身:12 34
Txt2.txt 中身:56 78
Txt3.txt 中身:90 12
Txt4.txt 中身:34 56
Txt5.txt 中身:78 90

となっていたとき、それぞれの中身の足し算を
12+34=46
56+78=134
...

となるように、ファイル単位で連続して行うにはどうすればいいでしょうか?
(ファイルの個数だけインスタンスを発生させるという考え方でいいので
しょうか?)
0592デフォルトの名無しさんNGNG
>>591
なんのインスタンスを発生?させるつもりだ
インスタンスは発生するもんじゃないし。
0593デフォルトの名無しさんNGNG
>>593
そんなに揚げ足とるなよ
生成と書きたかったんだろ

>>592
それでいいけど、Javaでやる意味がないんじゃない?
なんかのスクリプト使えば?
たとえば、awkならこんな感じ

#!/usr/bin/awk
{print $1 "+" $2 "=" $1 + $2}

使い方は
awk -f add.awk Txt*.txt
0594デフォルトの名無しさんNGNG
>>573
FTPのURIにユーザ名とパスワードを含める書式はこんな感じ。

ftp://yourname:[email protected]/pub/

でも、JavaのライブラリってFTP対応してた?
0595デフォルトの名無しさんNGNG
>>593
揚げ足というか・・・ケアレスミスじゃないだろ、明らかに。
どうみても、インスタンスあたりの理解不足だ。
勝手にファイル数分繰り返せっちゅうねん。
0596573NGNG
>>594 そうなのです、その書式だとExceptionが・・。
どなたか、RMIでcodebase指定をftpでやった人いません?
やっぱanonymousでしょうか。。
0597591(538&578 )ですNGNG
正規の表現では「インスタンスの生成」ですね。失礼しました。

>>593
スクリプトて「シェル・スクリプト」のスクリプト?聞いたことはあります。
ところで「awk」って何ですか? Googleで調べる際には「スクリプト awk」
十分ですか?
僕が理解できる範囲のものであれば、awkとやらでやってみます。
0598597への追加NGNG
でもやっぱ、Javaで収まるならそうしたい。
0599デフォルトの名無しさんNGNG
>>597
つうか、キーワードわかってるなら調べろよ、と。
ていうか、勝手にファイル数分繰り返せと。
0600デフォルトの名無しさんNGNG
>>597
別にawkを使えっていってるわけじゃないよ
perlでもrubyでもすきなもんを使えばいいけど
例えばperlなら
#!/usr/bin/perl
while(<>) { ($x, $y) = split; printf "%s+%s=%s¥n", $x, $y, $x+$y; }
って感じでスクリプト系だとお手軽でしょ
決まった形式のデータを足し算したいだけならこれで十分かなという話
0601デフォルトの名無しさんNGNG
>>591
import java.io.*;
public class ReadAndCalc {
public static void main(String[] args) throws IOException {
for (int i = 1; i <= 5; i++) {
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("txt" + i + ".txt"), "utf-8"));
try {
String[] array = in.readLine().split("\\s+");
System.out.println(Integer.parseInt(array[0]) + Integer.parseInt(array[1]));
} finally {
in.close();
}
}
}
}
0602デフォルトの名無しさんNGNG
String[] array;
try {
System.out.println(Integer.parseInt((array = in.readLine().split("\\s+"))[0]) + Integer.parseInt(array[1]));
} finally {
in.close();
}
行数は変わらんな
0603デフォルトの名無しさんNGNG
try {
String[] array;
System.out.println(Integer.parseInt((array = in.readLine().split("\\s+"))[0]) + Integer.parseInt(array[1]));
} finally {
in.close();
}
今日暇なんだよ
0604デフォルトの名無しさんNGNG
>>601
try節不要だからとっぱらっていいよ
0605デフォルトの名無しさんNGNG
>>604
try節ごととっぱらっていいのか?
0606デフォルトの名無しさんNGNG
>>604
イヤン
0607デフォルトの名無しさんNGNG
>>598
> でもやっぱ、Javaで収まるならそうしたい。
Javaでawk, PerlやRubyと同じことをしたければ
Jakarta OROを使うことをおすすめしまする。
0608デフォルトの名無しさんNGNG
>>605
try節内で強制終了を起こすような事態もおこりえないのに
try-finallyをやっているからいらんということで。

try-catchが本当に必要かどうかはEclipseとかを
使って調べることをお勧めする。
Eclipse3.0の設定でどういうときに警告を出すかを簡単に設定できるので
それを使ってtry-catchが必要かどうかを判断できる。
必要がなければそこに黄色い波線が現れる。
到達不可能な例外、起こらない例外などを警告してくれる。
0609デフォルトの名無しさんNGNG
>>607
標準のじゃだめなんか?
それに、勧めるならGroovyの方が。
0610デフォルトの名無しさんNGNG
>>608
例外が発生しないからといって、try節ごと取り除いて処理を省いてもいいものか。
0611デフォルトの名無しさんNGNG
>>608
そうじゃなくて元のプログラムが
throws IOExceptionを定義してるから
いらないだけ
0612546NGNG
>>565
またもや仰られた事への理解に時間がかかりました。関心させられるばっかりで、奥が深い。
教えるのうまいね夢中で調べちゃったよ、全てをObjectとして表現でるぜjavaすげー、考え方が広くなった、ありがとう

俺java厨してる?危険?

java.langパッケージってすごい洗練されてんですね。興味がとまんねーのでここから出直してきます。
0613デフォルトの名無しさんNGNG
>>608
BufferedReader#readLine()でIOException起こるよ。
あとRuntimeExceptionも。
0614デフォルトの名無しさんNGNG
throws IOExceptionを外しましょう、と
0615デフォルトの名無しさんNGNG
外したら自分で例外処理かかなきゃなんねーべ
0616デフォルトの名無しさんNGNG
あほか、finallyは要るだろうが。
0617デフォルトの名無しさんNGNG
>>601のtryブロックが何のためにあるのかも理解してないな。
こういうやつが例外セーフでないコードを書くわけだな。
0618デフォルトの名無しさんNGNG
finallyは例外処理とはいいません。でも必須
0619597への追加NGNG
600, 601, 602, 603, 604, 605, 606, 607, 608
609, 610, 611, 613, 615 さん有難うございました。
(人名重複の際はご容赦下さい)

無事、希望通りの計算結果が出ました。ただし、当方はJava2(SE)1.3を
使用していますので、split()は使えず、代わりにnextToken()を使いました。

なお、try-finally は付けたままにしておきました。

重ねて御礼申し上げます。
0620デフォルトの名無しさんNGNG
                        |
       ____.____    |
     |        |        |   |
     |        | ∧_∧ |   |
     |        |( ´∀`)つ ミ |
     |        |/ ⊃  ノ |   | 1.3
        ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄    |
                        |
0621デフォルトの名無しさんNGNG
Javaって例外が発生したら問題がおこるプログラム書くのが普通なのか?
throwsあるからtry自体要らないって発想が危ないと思うが。
throwsあるからcatchは要らないならまあまだ分かるが。
0622デフォルトの名無しさんNGNG
スコープ内で開いたファイルディスクリプタは
スコープ抜けたら自動的に解放されますが?
0623デフォルトの名無しさんNGNG
>>621
ってか、こんな使い捨てプログラムで例外発生しても、問題なんか起こらない。
0624デフォルトの名無しさんNGNG
スコープ抜けるが参照がなくなるの意味ならいつかはね。
0625デフォルトの名無しさんNGNG
>>622
この場合のスコープとはなんですか?
この場合のファイルディスクリプタとはなんですか?
0626デフォルトの名無しさんNGNG
>>621
使い捨てじゃないプログラムを書いたときに改めて問題になるだけ。
こんなやつは腐るほどいる。

ここまでの流れで、使い捨てだから問題ないという理解に見えたか?
俺には使い捨てだろうが重要なプログラムだろうが関わりなく「不要だ」にみえたが…
0627デフォルトの名無しさんNGNG
>>626
> 使い捨てだろうが重要なプログラムだろうが関わりなく「不要だ」にみえたが…

極端なやつだ。
0628601NGNG
誰かまとめろよ
0629デフォルトの名無しさんNGNG
ようするに、使い捨てだろうが何だろうが全力投球のコードを書けということだな
おまえのいうことはわかったよ
俺は使い分けるけどな
0630デフォルトの名無しさんNGNG
>>628
例外処理は、作るものの性質によって使い分け。
以上。
0631デフォルトの名無しさんNGNG
ちげーよ。
使い捨てだったらそんな処理要らんて書くんなら、
ちゃんと「使い捨てだから不要なんだ」ってことが分かるようにかけよってこった。
誰が常に全てを考慮せにゃならんて書いた?

>>627
これに関しちゃ、>>621の言ってる内容についてじゃなくて、
これまでの>>604-611辺りの話について書いてるんだよ。

どう読んだって、「今回は使い捨てだから気にしなくていい」って話じゃないだろ。
どう考えても、一般的な話としてこのコードならtryは不要だって書いてるだろ。

これを読んだやつがどう理解するかといえば、
throwsで列挙してる例外はcatchしなくていいからtryは不要だってなってしまうんだよ。
0632デフォルトの名無しさんNGNG
同意
0633デフォルトの名無しさんNGNG
リフレクションを使い、Class型のオブジェクトから
public static finalで宣言されているフィールドの値を
とってくることはできないでしょうか?

Class cl=getClass();
Field publicField=cl.getField(PUBLIC_STATIC_FINAL_FIELD_NAME);
String str=(String)publicField.get(cl.newInstance());

のようにnewInstanceを使えばもちろんとってこれるのですが
staticなフィールドはインスタンスを生成しなくてもとってこれる
フィールドなので、何か腑に落ちません。
newInstanceを使わないでとってくる方法はないのでしょうか?
0634デフォルトの名無しさんNGNG
>>631
そんなもん処理による。
0635デフォルトの名無しさんNGNG
>>633
null渡せばいいの。
0636633NGNG
633ですが633の質問にちょっと関連した質問を・・。
実は、633は
ServletのFilterでリクエストされているサーブレットの
特定の名前で宣言されている
public static finalなフィールドの値を読み
その値によって動作を振り分けるというようなことをしているのですが
この、そもそもリクエストされているサーブレットのClassを特定し
Class型のオブジェクトを生成するところもちょっと苦労しています。。
現在はConstantクラスで
/** Servletマッピングパス */
public static final String SERVLET_MAPPING_PATH = "/servlet/";
と宣言しfilterクラスで
Class cl = Class.forName(request.getServletPath().replaceFirst(Constant.SERVLET_MAPPING_PATH, ""));
とし、
http://DOMAIN/CONTEXT-PATH/servlet/foo.bar.Baz
といったurlでfoo.bar.Bazをとりだす。。。といったことをしています。
これだと、マッピングが完全修飾クラス名であることが制限となってしまい
やはり腑におちません。
いろいろ調べたのですが完全修飾クラス名そのものずばりを取得する方法が見つかりません。。。
デバッグでしらべるとdoFilterでわたされるFilterChainの中の
servlet.servletClassに格納されているようですが・・・それを取り出す手段。。。ってことになるとおもうのですが。。
解決策ご存知の方ご教授ください
0637633NGNG
>>635
あ・・・!そうか!
nullを渡したところできました。
ありがとうございます。
0638デフォルトの名無しさんNGNG
>>636
まずその設計をなんとかしろ
0639デフォルトの名無しさんNGNG
>そんなもん処理による。
んなこた分かっとるって何度言ったら…
0640633NGNG
>>638
すいません。。(汗
こういうのはやはり外部ファイルに書き出す、、、とかでしょうか。
0641デフォルトの名無しさんNGNG
>>639
おこりんぼさんね
0642デフォルトの名無しさんNGNG
ウフフ
0643デフォルトの名無しさんNGNG
>>640
URLとサーブレットのマッピングはweb.xmlでやれるだろ?
なんでそんなことやってんの?
0644633NGNG
>>643
>>633をやりたいからなんですね。。
もっとぶっちゃけていってしまうと
対象のサーブレットには
使用するフォームビーンクラスが宣言されていたりします。。
(ここも「その設計なんとかしろ」といわれそうだ・・・)
public static final Class FORM_CLASS = FormSearch.class;
みたいな。。で、これをとってきて
filterでフォームビーンを構成して。。みたいなことをしてます。
strutsだと既に用意されているようなことだとおもうのですが
(strutsは使ったこと無いので詳しくはしらないのですが)
strutsを使えない事情もありまして。。。
strutsだとstruts-configとかで設定するんでしたね、、
そうしろってことかなぁ。。。
0645デフォルトの名無しさんNGNG
>>644
Strutsは違うよ
Strutsの場合は単一のServletで受けてから振り分けてる
そうした方が楽だよ
0646デフォルトの名無しさんNGNG
リフレクションのことは忘れて一から設計しなおせ
0647633NGNG
>>645-646
自分もそうしたいのは山々なんですが・・。
実はこのプロジェクトには後から入りまして、、
ソースを見て「なんじゃこりゃー」と叫んでしまいました。
フレームワーク的な考えは一切なく各々のコーダーが
各々のやり方でコーディングしていてValidationなんかもしてなかったのです、、、
struts導入を提案しましたがあえなく却下され
(これは私の知識と経験不足のせいですね)
自分は今のソースになるたけ影響を与えずにフレームワーク的なものを
導入することを許されたのみでした。。。
幸運なことにFilterには手を付けていなかったようなので
そこを拠点になんとかいろいろやろうと奮闘しているという状況だったりします。
自分自身もJavaは2ヶ月程度の経験なのでどこまでやれるかわかりませんが。。
0648デフォルトの名無しさんNGNG
>>647
サーブレットからサーブレット呼ぶのは簡単だよ
ひらめいた?
0649デフォルトの名無しさんNGNG
大変なのはわかったが混乱に拍車をかけようとしているように思える。
まぁ頑張れ
0650633NGNG
>>648
RequestDispatcher経由で取れるかな・・と
言われて今調べましたが。。。
うーんそれっぽいメソッドは無いですね。。。
includeしちゃう、、とか。。?
0651デフォルトの名無しさんNGNG
リフレクションから離れろって、、、、
0652デフォルトの名無しさんNGNG
そもそも自分でサーブレット作ってもServletContextはどうすんの?
コンテナ管理されてるものに手を出しちゃダメだよ
0653デフォルトの名無しさんNGNG
>>619
2chでいちいち面倒くさそうなお礼レスを返すとは
お前も暇人やなー。
フィードバックだけしときゃええってのによ
0654デフォルトの名無しさんNGNG
>>621
藻前は例外の極意がまだわかってない。
例外でテクニックを検索せよ。
Javaの鉄則、格言、とかの本嫁
0655デフォルトの名無しさんNGNG
>>631
そもそもmain()上で動かす時点で例外処理はいい加減でも構わない。
Servlet, JSPにしてもブラウザに表示する部分で
下手にcatchしてprintStackTrace()されても
お客さんに「なんだこれは!? Tomcatのログに何かエラーメッセージがでているぞ! 早急に直してくれ!」
といわれるのがオチ。下手にthrowsとかthrow new とかするとそれをどうにかしろと言われ徹夜が続く。

顧客の為にif文とかを使ってcatch節のなかでわざとreturnするとか、わざとcatch節を空にするということはよくある。
とくに、
そのクラス事態がJSPにforward/redirect転送せずその場でブラウザに出力するServletやJSPや
main()メソッドのように外部から参照され依存されることがないときは
ユーザインターフェース部分は仕方が無くそうするケースがある。

さすがに内部のロジック、依存元クラス、フレームワーク、ライブラリ、Modelの開発ではそういう酷いことはしないが。

JSPの画面遷移で、入力フォームをセッションやパラメータで渡すときはちゃんとcatch節に
エラー、例外、ログ情報をため込んでセッションに入れておくが。
0656デフォルトの名無しさんNGNG
「独習java」の最初の例題をコマンドプロンプトを通じてしようとしたのですが、
j2sdkのbinのサブディレクトリのパスの通し方を忘れました
親切な方教えてください
0657デフォルトの名無しさんNGNG
>>636
> 633ですが633の質問にちょっと関連した質問を・・。
> 実は、633は
> ServletのFilterでリクエストされているサーブレットの
> 特定の名前で宣言されている
> public static finalなフィールドの値を読み
> その値によって動作を振り分けるというようなことをしているのですが
> この、そもそもリクエストされているサーブレットのClassを特定し
> Class型のオブジェクトを生成するところもちょっと苦労しています。。
> 現在はConstantクラスで
> /** Servletマッピングパス */
> public static final String SERVLET_MAPPING_PATH = "/servlet/";
> と宣言しfilterクラスで
> Class cl = Class.forName(request.getServletPath().replaceFirst(Constant.SERVLET_MAPPING_PATH, ""));
ここでgetServletPath()とするところがあれだな。
URLを取り出したければ
request.getContextPath()を使うだろ普通。
getServletPath()ではサーバ上の絶対パスを拾ってしまいドメインがとれんぞ。
getContectPath()を使えばいちいちString#replaceFirst()つかう必要もなくなるぞ。

0658デフォルトの名無しさんNGNG
>>650
> >>648
> RequestDispatcher経由で取れるかな・・と
> 言われて今調べましたが。。。
> うーんそれっぽいメソッドは無いですね。。。
> includeしちゃう、、とか。。?

おい、forward()はどうした。
sendRedirect()でもいいが、パラメータ渡せないな。
0659デフォルトの名無しさんNGNG
getURL()とかなかった?
0660デフォルトの名無しさんNGNG
>>656
>>1のリンク先wikiを読んだか?
0661デフォルトの名無しさんNGNG
>>633がやりたいことは

ただのリンク張りか?

だったら
request.getContextPath() + / + web.xmlで指定したディレクトリ名とか + サーブレット名

で十分。ドメインなんていらない
あとはweb.xmlをどうするか。
0662takkaNGNG
はじめまして。質問させていただきます。

ウィンドウ操作中にエラーメッセージボックスを表示させます。
エラーメッセージボックスはモーダルダイアログとします。
エラーメッセージボックス表示中、ウィンドウにマウスカーソルを
当てると、マウスカーソルが待ち状態(砂時計)表示になるとします。
でも、Windowsの場合はマウスカーソルが待ち状態(砂時計)表示になりませんでした。
HPやSolarisといったUNIXではマウスカーソルが待ち状態(砂時計)表示になります。
なぜでしょうか。
OSの仕様なのでしょうか。
0663デフォルトの名無しさんNGNG
>>644
なんでgetClass()を使うんだか。getName()にすればええんでは。
あとはjava.lang.reflectを使って(ry
0664デフォルトの名無しさんNGNG
>>662
ロギングAPIかJakarta Log4j, AspectJでログを取れ。
0665633NGNG
>>658,661
いや、、、
最終的には単に
chain.doFilter
しちゃうのです。
そのまえにFormBeanのクラスをとってきて
FormBeanをリクエストのパラメータから自動構成して
(ここでValidationもやっちゃうValidationがNGだったら共通入力エラーjspにforwardする)
setAttributeで構成されたFormBeanオブジェクトをセットして
サーブレットではそれをとりだすだけ。。ってなことをやりたいのです。。
0666デフォルトの名無しさんNGNG
いまさら気づいたんだが、>>626と>>631で書いてる、
>>621ってアンカーは、>>623の間違いだった…orz
0667デフォルトの名無しさんNGNG
>>665
> >>658,661
> いや、、、
> 最終的には単に
> chain.doFilter
> しちゃうのです。


全然pathとか関係ない話じゃないか
0668デフォルトの名無しさんNGNG
>>654例外の極意
おしえてくれ〜
0669デフォルトの名無しさんNGNG
Javaの例外はSleep(30000)の代わりに使える。
0670デフォルトの名無しさんNGNG
勉強になりますた。
0671デフォルトの名無しさんNGNG
JavaをWindowsの実行ファイルにする、フリーソフトありませんか
0672デフォルトの名無しさんNGNG
jet
gjc
0673デフォルトの名無しさんNGNG
jetってすげー高ぇ〜・・・
こんなの買うならJBuilder買った方が(ry
0674デフォルトの名無しさんNGNG
>>671
run.batというファイルを用意し、
テキストエディタにこう記述する


java クラス名


はいこれでダブルクリックするだけでできあがり
0675デフォルトの名無しさんNGNG
>>671
jarで圧縮するときマニフェストファイルを含め
ブートストラップクラスを記述し

拡張子exeで圧縮する。
これでWindows実行ファイルに早変わり。
ダブルクリックするだけで実行できます
0676デフォルトの名無しさんNGNG
ファイルからの読み込みで、読み込むテキストには"|"でくぎってあり数字や文字列が書いてまります。
それらを抜き出して新しいテキストファイルをつくりたいんですが
String tokenizerをつかってnextTokensでそれぞれを取り出した時、
取り出した数字や文字列に配列みたいに変数名で順番に番号をふることはできますか?
0677デフォルトの名無しさんNGNG
>>676
ん?なぜそんなことをする必要がある?
0678デフォルトの名無しさんNGNG
いつもabstractがどうたらこうたらというので悩まされています。
ググったり本で調べたりすると「抽象メソッドを持つクラス」「そのクラスの中で実装していないクラス」とありますが
どういう事か意味不明です。


今、以下のようなクラスを作り、main関数がある別のクラスでインスタンス化して使おうとしたんですが
abstractとして宣言しろと言われてしまいます。
(import文省略)

public class Player{
public Player(){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("char.gif");
}
}

何故これが「abstractとして宣言する必要がある」のか教えてください。
0679デフォルトの名無しさんNGNG
クラスファイルを完全修飾クラス名からInputStreamもしくはバイト配列で
読み出す方法はありませんか?

0680デフォルトの名無しさんNGNG
Class#getResourceAsStream(String)

なんでこんなにReflectionが流行ってるんだ?
0681デフォルトの名無しさんNGNG
>>678
Playerにはimplementsで何か指定してない?
0682デフォルトの名無しさんNGNG
>>681
Runnableを指定してました・・・・
しかし、これが絶対必要なんです。
なんとかなりませんか?
というか何故implementsがあるとダメなんですか?
0683デフォルトの名無しさんNGNG
…
0684デフォルトの名無しさんNGNG
implements Runnableしたということは、自分か自分のサブクラスで
Runnableで宣言してあるメソッド(public void run())を実装するよ、
と表明しているのと同義。それをしてない以上怒られて当たり前。

ここまで説明させて「なんで?」なんて聞くなよ?
0685デフォルトの名無しさんNGNG
>>684
わかりやすい回答をありがとうございました。
runは後で作ればいいやと思ってたのが間違いだった・・・orz
0686デフォルトの名無しさんNGNG
JVMを開始してからの経過時間を取得したいのですが、
どうすればよいのでしょうか?

開始時のcurrentTimeを保持しておいて、取得したい時の
currentTimeとの差を求めるしかないのでしょうか。
0687デフォルトの名無しさんNGNG
それのなにがいやなのか・・・
0688デフォルトの名無しさんNGNG
>>675
拡張子exeで圧縮ってどういうことでしょう?
0689デフォルトの名無しさんNGNG
自己レススマソ
専用ソフトがあるようでした。
ttp://wiredstyle.net/documents/launch_java_app/
0690デフォルトの名無しさんNGNG
>>689
JSmoothというのもあるので、試してみると面白いかも。目に付く機能は以下のとおり。
・JVMの自動検出(Sun JVM、MSJVM、ソフト組み込みなどから選択可能)
・JVMが見つからなかった時に、ブラウザで指定したURLを開く機能
これでJava Pluginのダウンロードサイトを指定すればJVMのインストールが簡単になるはず。

ライセンスがGPLだけど、このソフトで作った実行ファイルはGPLの対象にならないのもうれしい。
0691690NGNG
すまん、URLを忘れてました。こちらです。
ttp://jsmooth.sourceforge.net
0692デフォルトの名無しさんNGNG
javaでファイル検索プログラムを作りたいのですが、
引数1で調べるディレクトリの指定、
引数2でファイル名やワイルドカード等の検索キーの指定をしたいのですが、
今は正規表現(Matcher&Ptternクラス)を使ってやっているため、
例えば全てのファイル検索なら.*と指定しなければなりません。

WINDOWSのエクスプローラのような検索指定、
*.*なら全てのファイル&フォルダを検索(自分のプログラムでは、*.*だとエラー)
*.javaなら拡張子がjavaの全てのファイル&フォルダを検索、
testならファイル名にtestが入っているファイル&フォルダを検索というようにしたいです。

このような引数指定をできるようにするには、どうしたらいいのでしょうか?
0693デフォルトの名無しさんNGNG
>>689
なぜexeにする必要があるのか?
JavaWebStartを使うか、マニフェストファイルに記述してダブルクリックするだけの
起動にどんな不満があるのか?
0694デフォルトの名無しさんNGNG
>>692
Javaでファイル検索するなら、Jakarta Luceneがおすすめ
0695デフォルトの名無しさんNGNG
javaでオブジェクト指向を学びたいんですが、
class設計やアクセス制御などをある使う必要がってあまり難しくない程度のw

「課題」を出してもらいたいです。
よろしくお願いします。
0696デフォルトの名無しさんNGNG
>>692
JakartaのOROに、glob(*.javaとかのパターン)をPerl5正規表現に変換する奴があります。
(*.*を全ファイルと解釈するって、ピリオドを含まないファイルはどうなるんだろう?)
0697デフォルトの名無しさんNGNG
>>694
出たな!!! ジャカルタ厨!!!
ジャカルタコモンスもいいが、あればかり使うと・・・
0698デフォルトの名無しさんNGNG
>>693
上に挙がってたサイトに各手法の考察が載っているが、それが不満にならない?
ttp://wiredstyle.net/documents/launch_java_app/
正直ちょっと古いかおかしいとは思うけど。
Active-XとJavaPlugin使えばJREは自動的に最新になるんだし、
JWSの別途インストールなんて問題にならない。
サーバの設定云々も実は不要だったりする。

何が何でも「exeくれくれ」には正直辟易するけど、
実行可能JarやJavaWebStartが、問題のまるでない完璧な解な訳ではないので
そんなに目の敵にしなくてもいいと思う。
>>689-690で示したような個性的な機能を持ったランチャー作成ツールもあるんだし、
exeにする利点は大いにある。

まあ、理由が「Javaは遅いらしいのでWindowsネイティブアプリにしたい」とかだったら
あなた同様私もげんなりするわけですが。
0699デフォルトの名無しさんNGNG
antしか使ってないのにJakarta厨言われてもorz
(つーか、antはもうJakartaですらないな)
前に使ったことがあるから知ってただけだよぅ
0700デフォルトの名無しさんNGNG
>>694
それはファイルの内容での検索だと思われ。
0701689NGNG
>>690
ソフト紹介ありが�d。

漏れも今まで実行可能jarで配布してたんだけどなんかjarのダブルクリックって違和感がある・・・
JWSってのは使い方知らなかったけど面白そうなので今度調べてみます。

そういえばeclipseもjavaで作られてるって聞いてるけど、インストーラー付のexeもjavaプログラムでできるのかな。
0702デフォルトの名無しさんNGNG
エクリプスのexeって、プラグ印を全部クラスパス指定してなんか起動するだけじゃないの?
0703デフォルトの名無しさんNGNG
>>695
現在、クラスは設計するものではなく、存在を調べて使用法を学ぶ
ものなのです。
0704デフォルトの名無しさんNGNG
>>695
インベーダーゲーム作ってください。
0705デフォルトの名無しさんNGNG
ちょっと気になったので質問させてください。
JAVAのSwingはJAVAが持ってる独自UIですよね。
それじゃ、UNIXなどでXが入ってないPCでも、
Swing使ったJAVAアプリを立ち上げると、
それはGUIが立ち上がるんでしょうか?
0706デフォルトの名無しさんNGNG
ありえないと思うけどなぜだろう
0707デフォルトの名無しさんNGNG
>>705
グラフィックカードの管理の機能はない。
0708デフォルトの名無しさんNGNG
guiguiたちあがるよ
0709デフォルトの名無しさんNGNG
>>705
KDEもGTKも独自UIだが、Xが入っていないと使えない。
0710デフォルトの名無しさんNGNG
誰かJavaでディグダグつくってくれませんか

自分では作れなかったので

敵が高速でよってくるスピードを少し遅くしたものを

お願いします。
0711デフォルトの名無しさんNGNG
KDEじゃねぇや、qtだった。
0712デフォルトの名無しさんNGNG
Velocity anakia で質問なんですが・・・
Windows上で XML(UTF-8) -> VSL(UTF-8) -> と処理しようとすると
文字化けして、 ???? ってなってしまうんですが、これって velocity.properties で対応するしかないんでしょうか?
0713705NGNG
>>707
>>709
なるほど。
やっぱ無理なんですね。
ありがとうございました。

>>708
  _, ._
( ゚ Д゚) …
0714デフォルトの名無しさんNGNG
はじめまして、JAVAプログラマーの見習いをやっています。
見習といっても、何ができるでもなく
つい1週間ほど前に会社からプログラマ転向の命令が下りました。
現在は教本を使い(スタートアップJava 技術評論社)
本の通りにプログラムを作ってみたりしていまして
一応、空のウインドウを作るところから初めて
多少本を見ながらですが、if文、for文までは使えるようになりました。
ですが、いまいちしっくり来ません。
なんというか、メモ帳にタイピングの練習をしてるような?気分なのです。
とりあえず、Javaと言うものの概念(クラスやオブジェクト指向)は
なんとなしに解ったのですが、肝心のプログラム自身を
何を作ったらいいのか、どう練習や勉強をしたらいいのか解りません。

先輩の方々はどういう勉強法をされましたか?
またどんなプログラムを作って勉強されていましたか?
馬鹿げた質問かもしれませんが
会社からは「独学で覚えろ」としか言われてませんので
本当に解らないのです;;
よろしくお願いいたします。
0715デフォルトの名無しさんNGNG
>>714

まずは自分では作らず、人のプログラムをいじることから始める
0716デフォルトの名無しさんNGNG
>>714
まず、自分がほしいと思うようなソフトを思い浮かべる。
難しいのは避けて、こういうのあったらちょっと便利〜と思える物。
それを作るために、どういう処理が必要なのか。
どういう事を覚えないといけないのか。
それらを目標に勉強してみては?

もしくは、サンプルとかで載ってる簡単なツールのソースを参考に、
そこから自分の気に入るように改良したりするのも勉強になるし。
0717デフォルトの名無しさんNGNG
質問させてください。

JAVAから外部プログラム(UNIXのシェル)を実行して、
その外部プログラムが終了する(戻り値を得る)までJAVA側は待機する
にはどうしたらよいのでしょうか?
0718717NGNG
↑
言い忘れました。外部プログラムはCOBOLです。
0719デフォルトの名無しさんNGNG
CORBAでも使うとか。
0720デフォルトの名無しさんNGNG
CORBAですか!
標準のJ2EE APIだけじゃ到底無理なんですか?
0721デフォルトの名無しさんNGNG
>>717
java.util.Process#waitFor
java.util.Process#exitValue


0722721NGNG
まちがえた。java.langだからなんもせんで使える。
0723717NGNG
>>722
おお!
これならなんかできそうですね!
いや、まだ設計段階なんで、試すことはできませんが、
「できるかどうか」だけ知りたかったんです。
ありがとうございました!
0724ヤンスNGNG
マップチップを使ったタイリング表示を上手く行きませんどこかコードの記述が間違っているのでしょうか?
二次元配列の要素数をランダムで入れたときは表示されるのですがコメントで消してある二次元配列の方を使うと、まったく表示してくれません
どの辺が間違っているのか助言の方をお願いしたいです。
img = new Image[2];
img[0] = getImage(getDocumentBase(),"map1.gif");
img[1] = getImage(getDocumentBase(),"map2.gif");
/*
int map[][] ={
{1,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1}};
*/
map = new int[10][10];
for (int y=0; y<10; y++){
for (int x=0; x<10; x++){
map[x][y] = (int) (2 * Math.random());
}}}
public void paint(Graphics g){
int no;
for(int my=0;my<10;my++){
for(int mx=0;mx<10;mx++){
no = map[my][mx];
g.drawImage(img[no], 32*mx,32*my,this);
0725デフォルトの名無しさんNGNG
っていうか書いても10行くらいだろ
なんで試せないの?
0726デフォルトの名無しさんNGNG
>>724
その2次元配列を同描画しようとしたの?
0727712NGNG
>>712
結局、自分のやりたいことはVelocityのバグに阻まれているらしかったのでパッチを作った。
取り込まれるかわからんけど、VelocityのBugzillaに登録しておいた。
0728デフォルトの名無しさんNGNG
>>724
ていうかjava.awt.image.MemoryImageSourceのjavadoc見れ
サンプルコード付きで使い方説明してあるよ
0729デフォルトの名無しさんNGNG
>>724
map[][] の スコープがわからんのやけど、
それはちゃんと paintメソッドで参照できる場所にある?
0730ヤンスNGNG
スンマセン何を作っているか書いてませんでした
JAVAアプレットでミニゲームを作っているのです、そこでファミコンとかで
あったロードランナーとかブロック単位でマップを表示するってのをやりたくて・・・

>>725
何度もコンパイルして実行しているのですが・・・

>>726
ゲームで使うマップを描画しようとしてまして、0、が空間で1がブロックって感じで

>>728
ありがとうございます、早速みて見ます!

こんな質問に反応してくださってどうもです、未熟者の上爪垢も溜まっておりますので
0731デフォルトの名無しさんNGNG
もし
A a = new B();
ならA型の変数aにB型のオブジェクトを入れるという意味でいいんですか?
継承のところでスーパークラスはサブクラスのオブジェクトを参照できる
ってところで混乱しているんですが・・・
0732デフォルトの名無しさんNGNG
初心者の質問で失礼ですが、どうしても迷子になってしまったのでこちらに来ました

"HelloWorld" のプログラムで、コンパイルはできるのですが、実行ができません
環境変数の設定でCLASSPATHの設定がおかしいとのことですが、
「コントロールパネル」→「システム」→「システム環境変数の設定」で
パスの設定の仕方がわかりません
ピリオドを入れればいいという話ですが、、、

ちなみに現在の設定値は
C:\WINDOWS\System32\QTJava.zip
です。
既出のものかもしれませんが、よろしくお願いします
0733ヤンスNGNG
import java.applet.*;
import java.awt.*;
public class for2 extends Applet {
Image img[]; int map[][];
public void init(){
img = new Image[2];
img[0] = getImage(getDocumentBase(),"map1.gif");
img[1] = getImage(getDocumentBase(),"map2.gif");
/* int map[][] ={{1,0,0,0,0,0,0,0,0,1},
       {1,1,1,1,1,1,1,1,1,1},
       {0,0,0,0,0,0,0,0,0,0},
       {0,0,0,0,0,0,0,0,0,0},
       {1,1,1,1,1,1,1,1,1,1}};*/
map = new int[5][5];
for (int y=0; y<5; y++){
for (int x=0; x<5; x++){
map[x][y] = (int) (2 * Math.random());
}}}
public void paint(Graphics g){
int no;
for(int my=0;my<5;my++){
for(int mx=0;mx<5;mx++){
no = map[my][mx];
g.drawImage(img[no], 32*mx,32*my,this);
}}}}
0734デフォルトの名無しさんNGNG
>>731
何の本呼んでるか知らないけれどその本捨てた方がいいよ
0735ヤンスNGNG
>>729
733みたいな感じでコードを書いたのですが、どこか間違えているのでしょうか?
ネットや本等で何度みてもまったく同じに模写したのですが・・・・
ランダムじゃなく、自分で二次元配列に要素数を入れた方を画面に出力させようと
すると駄目なんです
0736デフォルトの名無しさんNGNG
>>734
この板その返しばっかりですよね
0737デフォルトの名無しさんNGNG
>732
・ファイル名がクラス名といっしょになっているか見る
・package指定をしていないならCLASSPATHはとりあえずいらない
・javaコマンドを実行するとき、ちゃんとそのディレクトリに移動して実行する
0738729NGNG
>>735
配列変数のそういう初期化の仕方って、
宣言時しかできないんじゃなかったっけ?

int map[][] って宣言した場所でしないと駄目じゃない?
0739デフォルトの名無しさんNGNG
>>737
パッケージ指定とCLASSPATH指定は関係ないでしょう。
まぁ、>>732だけの情報で何かいうほうが難しいが。
0740デフォルトの名無しさんNGNG
>>735
mapがインスタンス変数とローカル変数で定義されてるから、
ローカル変数が優先されてインスタンス変数は初期化されていない
0741デフォルトの名無しさんNGNG
>>732
java -classpath . HelloWorld

または
set classpath=.
したあと
java HelloWorld
0742デフォルトの名無しさんNGNG
プロファイリング機能がJ2SE5.0 では以前と比べて速くなったようですが、
正確な秒数で機能を比較することってどうやってやればいいのでしょうか?
お願いします
0743デフォルトの名無しさんNGNG
>>731
A a = new B();
が可能なのは、以下の二つの場合
1.BがAのサブクラスである
2.Aはインタフェースで、BがAを実装している

このようにすることで、BのインスタンスをAとして扱うわけだが
Aから継承したメソッドは使えるが、B固有のメソッドは使えなくなる。
こんな馬鹿なことは通常しないので、こんな例を載せるのは糞本。
0744デフォルトの名無しさんNGNG
初心者本じゃなくてアイディア本だったらありかもな。
上手く使えば使える手だし。
0745ヤンスNGNG
>>740
出来ました!やはり配列の宣言と代入を違う場所で行っていたのが
悪かったようです、この為にグーグルのリンクの表示文字がどれだけ紫に変わったことか・・・
ありがとうございました。
これで安心して爪垢掃除が出来ます。
0746デフォルトの名無しさんNGNG
>>743
初心者向けのコードとしてはたしかにそうかもしれないが
インターフェースプログラミングとか考えれば糞ってこたぁないでしょう

List list = new Vector();
とかふつーにするでしょ?
0747デフォルトの名無しさんNGNG
>>746
俺ならまずしないね
内部で使うのにインタフェースで扱ってどうするのさ
インタフェースってのは対外部向け
たとえばファクトリとかね

X image = XFactory.createX();

public X createX() { return new XImpl(); }

あとはインスタンス変数などで、インタフェースを通して変更がかかる奴

private List list;

public setList(List list) {this.list = list; }

内部で閉じてる変数は、インタフェースで受ける意味ないよ
0748デフォルトの名無しさんNGNG
>>743は、例の釣り師。
先月やたら出没して、最近ようやくおとなしくなったと思ったら
また登場しだすとは。。。
夏休みはもう終わったんだぞ。2学期が始まったのなら2ちゃんで
釣ってないで勉強しる!
0749デフォルトの名無しさんNGNG
>>748
違うよばか
インタフェース、日本語訳は界面
外界と内部を分けるための手段だよ
0750デフォルトの名無しさんNGNG
>>747
ああ、独りで作ってる限りはそれでもかまわないよ。
0751デフォルトの名無しさんNGNG
>>748
ああ、そうかそうか
つられた俺が悪かった
0752デフォルトの名無しさんNGNG
>>747
普通にするだろ。
0753デフォルトの名無しさんNGNG
>>747
「実行レベル」だけを考えればそうだが、コーディングレベルってのが
あるでしょ。
0754デフォルトの名無しさんNGNG
>>752
おまいら、何のために実装クラス作ってんの?
インタフェースで受けたら、protectedメソッドも
privateメソッドも呼べないんだぜ?
publicメソッドだけで内部処理のプログラミングしてんのか。
0755デフォルトの名無しさんNGNG
確実に釣りだな。
問題は真面目に質問してる初心者に釣りネタを吹き込むなって事だ。
0756デフォルトの名無しさんNGNG
>>754
意味不明
使用するために必要十分な機能をもつインターフェイスや基底クラスなら
なんらこまらんだろうが。
だいたい、誰も常に実装クラス型を使用しないなんていってない。

>privateメソッドも呼べないんだぜ
あほか、privateメソッド呼ばにゃならん場面でするわけなかろーが。
つうか、いつの間にかprotectedとかprivateとかが絡んでくるような
「内部処理」とやらの話に変わってるな。
0757デフォルトの名無しさんNGNG
すんません、Servletのことで質問したいのですが
とあるサイトからのみドメインでアクセスを
規制させたいのですが、飛んできたページのドメインを取得
するにはどうすればいいのでしょうか?

一応それっぽいのではRequestクラスのgetHeaderからrefereかなんかで
URL丸ごとは取れるっぽいのですが・・・ドメインのみってのは無理でしょうか
0758デフォルトの名無しさんNGNG
Refererからドメインを取得すればよいのでは・・・
0759デフォルトの名無しさんNGNG
>>757
Servlet使うならHTTPの基礎ぐらい勉強してください
0760デフォルトの名無しさんNGNG
>>757

URLって書式決まってんだから取れるでしょそれくらい。
java.net.URL のAPI の説明を見るとヒントがかかれている。
0761デフォルトの名無しさんNGNG
>>743
Iterator i = new ArrayList().iterator();
などというのもバカなことなのですね。
0762597への追加NGNG
write()を使ったファイルへの複数行の書き込み方が分かりません。
例えばfor文で
 1+2+3+・・・+10=55(式:m=m+1)
 2*2*2*・・・*2=1024(式:n=n*2)
が得られているとき、write()でこれらをファイルに改行の形で書き込むため、
ファイルのオブジェクトをfileを用い、
 file.write(m + "\n" +n)
ではヘンテコな書き込みになってしまいます。

どないしましょう?
0763デフォルトの名無しさんNGNG
>>762
FileOutputStream fs = new FileOutputStream("aaa.txt");
PrintStream out = new PrintStream(new BufferedOutputStream(fs));
out.println(m + "¥n" + n);
out.close();
0764デフォルトの名無しさんNGNG
閑話休題:日本とアメリカには借金時計のHPがあるらしい。
(核の時計をもじったもの)

TVで見たが、なんか高速のアクセスカウンターを見ているようだった。
興味がある人は勝手に検索してくれ。
0765デフォルトの名無しさんNGNG
まずは閑話休題の使い方をマスターしたまえ。
0766デフォルトの名無しさんNGNG
>>695
結城浩の「Java言語で学ぶデザインパターン入門」を嫁
0767デフォルトの名無しさんNGNG
>>697
> >>694
> 出たな!!! ジャカルタ厨!!!
> ジャカルタコモンスもいいが、あればかり使うと・・・
あればかり使うと? 何だって?
説明よろ
0768デフォルトの名無しさんNGNG
>>764
> 閑話休題:日本とアメリカには借金時計のHPがあるらしい。
> (核の時計をもじったもの)


JavaScriptでonLoadしているだけか。
それではリアルタイム性に欠けるではないか。
お主がJavaAppletかJavaWebStartで作り直せ
0769デフォルトの名無しさんNGNG
>>698
> >>693
> 上に挙がってたサイトに各手法の考察が載っているが、それが不満にならない?
> ttp://wiredstyle.net/documents/launch_java_app/
> 正直ちょっと古いかおかしいとは思うけど。
ほんとにめちゃくちゃなこといってる。

  Javaで開発したアプリケーションを配布する場合、 「どのようにしてユーザーにアプリケーション
  を起動させるか」といった問題があります。 Javaで作られたプログラム(CLASSファイル)は、基
  本的にはコンソールから実行する必要があるので、 EXEファイルのようにダブルクリックで簡単
  に起動させることはできないからです。 コンソールからしか起動できないのでは、そのアプリケ
  ーションを利用できるユーザーは限られてくるでしょう。

時代の流れに取り残された香具師が書いた説明ですな。JavaWebStartに関しても嘘八百ばかりならべてますなあ。
jarでも引数設定できるし。*BSDではちょい面倒でもWindows環境なら何もしなくても勝手にやってくれるので設定は激しく容易だし。
0770デフォルトの名無しさんNGNG
>>769
アイコン設定できないってのが問題よ

あとwebstartはsandbox内ということで根本的につかいかたが違う

開発者の目とユーザーの目はだいぶ違うということを覚えておくといい
アプリケーションはすべて個別のアイコンがあってデスクトップやスタートメニューに
ショートカットがあるもの・・・と認識している人は多いよ

どっちにしろラッピング程度なんだから目くじら立てることはないんじゃないの?
これを我慢できれば代替も可能・・・ってレベルで満足してくれるところならかまわんけどね
0771デフォルトの名無しさんNGNG
>>770
JavaWebStartなら、アイコン作ってデスクトップやスタートメニューにショートカット作ってくれるし。
0772デフォルトの名無しさんNGNG
>>771
肝心のsandboxってところ見落としてるぞ
0773デフォルトの名無しさんNGNG
eclipseってショートカットが作られたけど、Javaで出来てるんでしょ?
0774デフォルトの名無しさんNGNG
>>773
eclipseは、JVMを起動するexeファイルがある。
まぁ、こういう工夫をすればアイコンは問題なく設定できる。
そいや、引数でVMを動かす javaコマンドも指定できるし。
見た目にこだわるなら、こういう工夫をすればよいという例。
0775デフォルトの名無しさんNGNG
JavaプログラムからGnuPGを使用して暗号&復号を行いたいのですが、
復号時などでパスワード入力を求められる時、待ち状態になってしまい入力ができません。
具体的にはInputStreamのreadLine()メソッドで止まってしまい、
プロセスにパスワードが送れていないようなのです。
どなたかわかる方いらっしゃいますか?

OS:FedoraCore1
JDK:1.4.2
gnupg-1.2.2-3使用


Runtime run = Runtime.getRuntime();
Process pro = run.exec("gpg -o /home/hoge/hoge.txt /home/hoge/hoge.asc");

PrintWriter pw = new PrintWriter(pro.getOutputStream(), true);
pw.println("hogehoge");
pw.flush();
pw.close();

BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = inBr.readLine()) != null) {
System.out.println("in : " + line);
}

BufferedReader erBr = new BufferedReader(new InputStreamReader(err));
line = "";
while ((line = erBr.readLine()) != null) {
System.out.println("err : " + line);
}
inBr.close();
erBr.close();
0776デフォルトの名無しさんNGNG
>>775
readLineは改行が来ないと止まってしまう。
そこはreadLineを使わないようにする。
0777775NGNG
>>776
返信ありがとうございます。
readLineは使用せずに、readを使用してみましたが、結果は同じでした。
パスワードの入力待ち状態になってしまうようで、帰ってきません。
どうしたものか…
0778デフォルトの名無しさんNGNG
>>777
いやいや、そうではなく。
gnupg側がなんか表示してパスワード入力待ちになると思うんだが、その表示、たとえば「password:」が来たら読み込みを中止してこっちから書き込むようにする。
だから1文字ずつ読み込みつつ、目的とする文字列が来たかどうか判定するのよ。
0779775NGNG
>>778
残念な事にInputStreamを1文字でも読んだ時点でパスワードの入力待ちになってしまいます。
パスワードの入力部分は別プロセスなんでしょうか…
0780デフォルトの名無しさんNGNG
>>779
Outputのcloseが早すぎ。
flushだけにしておくがいい。
0781775NGNG
>>780
Outputのcloseを後半にしても動作は変わらずでした… orz
0782デフォルトの名無しさんNGNG
762です。
 解決しました。763さん有難うございました。
 
0783ゲッツNGNG
質問させてください。

jdbc.odbc.JdbcOdbcDriver接続で
MDBのデータをSelect文で抽出したいのですが、
Select * form Tabale like '%'
みたいなことをしたいのですが、%でうまく検索できません。
エスケープシーケンスでやればいいんですよね?

どのようにやるのかわからないので、教えてください。
0784デフォルトの名無しさんNGNG
>>783
select * from テーブル where カラム like '%キーワード%'
0785ゲッツNGNG
あ・・・
普通にできました。。。
''←で囲ってなかったせい?
なんか3時間ぐらい潰した・・・
0786ゲッツNGNG
間違えた
'%'←'で囲っていなかったせいかな?

>> 784
レスありがとうございました。
0787デフォルトの名無しさんNGNG
>>772
jarsignerでしょめいすればsandboxを抜け出せるかと思ったけど
0788デフォルトの名無しさんNGNG
>>772
さんどぼくすも、アプレットのものほど厳しくないし。
0789デフォルトの名無しさんNGNG
駄目な質問例
 その1 ◆ 名前、本文に「初心者」が入っている。
 その2 ◆ 2度目以降の書き込みに通し番号が入っていない。
 その3 ◆ 環境がなどが書かれていない、または小出しにしている。
 その4 ◆ 質問が1行のみ。
 その5 ◆ 質問文から要旨が汲み取りにくい。
 その6 ◆ 検索という言葉を知らない。自分自身で調べる気が全く無い。

※誠意のある質問には、誠意のこもったレスが返ってきます。
 レスを頂いたら、同じ症状の方の為に結果報告、お礼のレスも忘れずに…。
 みんなで助け合い、お互いのスキルUPを目指しましょう。

「初心者です」と前振りする奴の大半は
・自分で調べたくありません。
・自分のパソコンの環境等は自分の頭が悪くさっぱりわからないので勘弁してください。
・専門用語を使われても分かりません。調べません。
・金も時間も手間もかける気は全くさらさらこれっぽっちもねーから全部教えろ屑ども。
・問題が解決しても事後報告やお礼を述べるつもりはさらさらありません。
・四の五のいわずさっさっと教えろ糞ボケ

という意味であり、実質初心者以下の糞虫である。
0790デフォルトの名無しさんNGNG
JavaWebStartアプリはペタペタとコンポーネント貼るだけで完成しまつか?
0791デフォルトの名無しさんNGNG
vectorって文字列しか扱えないんでしょうか?
0792デフォルトの名無しさんNGNG
>>791
んなこたーない
0793デフォルトの名無しさんNGNG
Javaにvectorなんかあったんだ。
0794デフォルトの名無しさんNGNG
Vectorが扱えるのはObject型

プリミティブ型は扱えない
0795775NGNG
>>775です。解決しました。
GnuPGにバッチモードというオプションがあって、それを付けたら>>775のソースで動きました。
ありがとうございましたm(_ _)m
0796デフォルトの名無しさんNGNG
>>791
Vector でなく ArrayList をつかっとけ。
0797デフォルトの名無しさんNGNG
なんで初心者はVector使いたがるのかね
0798デフォルトの名無しさんNGNG
初心者ご用達のHPや本にVector使ってあるとか
0799デフォルトの名無しさんNGNG
ArrayListやHashMap使った改訂版出して欲しいやね
0800デフォルトの名無しさんNGNG
>>797
名前が短くて格好いいから。
非推奨(遅いという意味で)とはいえ、メソッドが多いから。
Listインターフェースにも、せめてgetFirstElement()とgetLastElement()
は入れて欲しかった。
あとawt.Listの名前は、ListPaneにして欲しかった。
0801デフォルトの名無しさんNGNG
>>790 もヨロ
0802デフォルトの名無しさんNGNG
今なおEnumerationを返す標準APIに、
名前違ってもいいからIterator返すメソッド追加して欲しい。
0803デフォルトの名無しさんNGNG
java house ってどーなったん?
0804デフォルトの名無しさんNGNG
場合によってはVector使わなくてはならない時もあるべさ。
0805デフォルトの名無しさんNGNG
もはやない
0806仕様晝無しさんNGNG
Javaプログラム中で他のjarファイルを起動する方法がわかりません。
下記のようにpackage bin 中に class Invoke というのをつくり、
package bin;
import java.io.*;
class Invoke {
public static void main(String[] args) throws IOException {
String[] cmd = { "Java -jar \"C:\\hoge\\piyo.jar\"" };
Process proc = Runtime.getRuntime().exec(cmd);
InputStream in = proc.getInputStream();
in.close();
}
}
そこでhogeフォルダのpiyo.jarファイルを起動するべく走らせると、
bin.Invoke.main(Invoke.java:19)
となってしまいます。
どなたか、他プロセスを起動するのと同様にjarファイルを起動する
方法を教えてください。
お願いします。
0807デフォルトの名無しさんNGNG
>>805
Swing等つかってないのか?

それにArrayListとは完全に同じではないぞ
「ほぼ」同じなだけだ
StringBufferとStringBuilderくらい違う
まぁ初心者向きというところからして同期処理入ってるVector勧めやすいのは確かだな
なんもしらんとマルチスレッドではまるかもしれんし
0808デフォルトの名無しさんNGNG
>>806
>そこでhogeフォルダのpiyo.jarファイルを起動するべく走らせると、
>bin.Invoke.main(Invoke.java:19)
>となってしまいます。
これは情報量0。ちゃんとどういう例外を出しているか前後を含めて
コピペすること。

あと、java.exeを呼ぶのではなく、URLClassLoaderの
インスタンスを生成してmainメソッドを呼ぶと
新しいVMが立ち上がらないので、状況によっては選択肢の一つとして
検討してもいいかも。
0809デフォルトの名無しさんNGNG
>>800
Jakarta Commons Connectionsを使えば
藻前が喜びそうなコレクションクラスが沢山見つかるぞ。
0810デフォルトの名無しさんNGNG
>>806
>String[] cmd = { "Java -jar \"C:\\hoge\\piyo.jar\"" };
これは
String cmd = "Java -jar \"C:\\hoge\\piyo.jar\"";
にするかもしくは配列ごとにくぎるかどっちかにすること。
0811デフォルトの名無しさんNGNG
>>800
> >>797
> 名前が短くて格好いいから。
> 非推奨(遅いという意味で)とはいえ、メソッドが多いから。
> Listインターフェースにも、せめてgetFirstElement()とgetLastElement()
いらんだろ。いきなりlist.iterator().next()で頭からゲットだ。
ラストはlist.get(list.size() - 1)で十分

0812デフォルトの名無しさんNGNG
>>807
>まぁ初心者向きというところからして同期処理入ってるVector勧めやすいのは確かだな

807のような馬鹿に早く滅んで欲しいと願ってる奴は多いだろう。
0813仕様晝無しさんNGNG
806 仕様晝無しさんです。
>>810様
起動できました!
ありがとうございます。
>>808様
勉強になりました。
今後は例外等はすべてコピーします。
また機会があればURLClassLoaderも
試して見たいと思います。
皆さん本当にありがとうございました。

0814デフォルトの名無しさんNGNG
>>812
禿同。っつか >>807 は初心者に毛がはえた程度だとおも。
0815デフォルトの名無しさんNGNG
>>807
あんな中途半端な同期なんぞに頼られても困る。前世紀の遺物は消えろ
0816デフォルトの名無しさんNGNG
つーかJava3発表してAPI一新きぼん
0817デフォルトの名無しさんNGNG
>>815
その中途半端な同期すらしらないで
「Vectorなんて使いませんよ、ArrayListでいいじゃないですか」
といってはまってるあふぉを見たことあるからなぁ

まぁ、Swing使ってるかどうかだろう
0818デフォルトの名無しさんNGNG
しんくろないずど すればいいじゃない
0819デフォルトの名無しさんNGNG
Swingなんか使うかアホ
0820デフォルトの名無しさんNGNG
>>817
Vectorと一緒に消えてください。それがみんなの願いです。
0821デフォルトの名無しさんNGNG
>>818
遅いから出来るだけ使わないようにしてる。
0822デフォルトの名無しさんNGNG
>>821
夜釣りですか。精が出ますね
0823デフォルトの名無しさんNGNG
>>822
ついでに例外も出来るだけ使わないようにしている。
生成するのに30秒とかかかるとやってられない。
ディスクガリガリ言わせるのも気になる。
0824デフォルトの名無しさんNGNG
全然面白くないんだけど
0825デフォルトの名無しさんNGNG
Swing好きですが。
0826デフォルトの名無しさんNGNG
>>811
> ラストはlist.get(list.size() - 1)で十分
で良いなら

> いらんだろ。いきなりlist.iterator().next()で頭からゲットだ。
は list.get(0) で十分なような。
0827デフォルトの名無しさんNGNG
ArrayListはイテレータよりインデクスアクセスが速い
0828デフォルトの名無しさんNGNG
>>790
JavaWebStartはアプリケーションの配布形式なので、そういう質問は適切じゃない。
ペタペタとコンポーネント貼るだけで完成したアプリケーションをJavaWebStartで配布すればいい。
0829デフォルトの名無しさんNGNG
ついでにいえばwebstartはアプレットもアプリケーションもできるしな
0830デフォルトの名無しさんNGNG
>>826
お前等ぬるぽ気にしろ
0831デフォルトの名無しさんNGNG
>>828-829
まじでつか。
普通にJavaアプリを作ってサーバーに置くだけ?

Javaと言えば普及したけど苦労、という話しか聞かないので意外だなあ。

スクエニが語る、ドラクエ・FFの携帯移植「苦労話」
ttp://www.itmedia.co.jp/mobile/articles/0409/07/news054.html
0832デフォルトの名無しさんNGNG
>>831
苦労した、ってそのサイトに書いてあるのはメモリサイズとの戦いだけじゃねぇか。
JavaじゃなくてもBREWでも同じ問題あるだろ。
一見Javaの問題に見える

「アプリが止まった時に、ライブラリがバグっているのか、アプリに問題があるのか問題の切り分けができない。」
も、BREWでも同じ事が言えるしな。
それにこれは、ここの開発者が問題の切り分けがうまくないだけな気もしないでもない。
ゲーム開発者は、処理効率をあげるのはうまいが、作業効率をあげるのはうまくないからな。
0833デフォルトの名無しさんNGNG
>>831
つうか、ちょっとはぐぐれよ。
なんでJavaWebStartのしくみと、苦労話が結びつくのかなぞ。。。
0834デフォルトの名無しさんNGNG
>>832
確かにその文脈は納得。

だけど、それとは別にWindows/Delphiでダイアログアプリのに比べると、Swing超苦しくない?
自分がSwing使ったのは数年前JB○ilderなんで状況変わってるかもしれないけど。
0835デフォルトの名無しさんNGNG
非チェック例外と非キャッチ例外ってなにが違うのですか?
0836デフォルトの名無しさんNGNG
>>835
非チェック例外 非検査例外の方がオフィシャルだが、unchecked exceptionなのでそれも可。
非キャッチ例外 そんな用語はない。
0837デフォルトの名無しさんNGNG
>>834
なにが苦しいのかによる。
0838デフォルトの名無しさんNGNG
>>836
http://www.amazon.co.jp/exec/obidos/ASIN/4797318570/ref=pd_bxgy_img_2/249-2326462-2123501#product-details
この本の例外処理をするの項で、

 Javaの例外には、「非キャッチ例外」というものがあります。
例)
int a = 1000, b = 0, c = 0;
c = a / b;

と、掲載されています。
0839デフォルトの名無しさんNGNG
>>835
非チェック例外とは、ヌルポなどコンパイル時にエラーが出ない例外であり、
非キャッチ例外とは、プログラム記述者がその非チェック例外をキャッチ
するコードを書かない為に、ThreadGroup#uncaughtException()に
処理が行ってしまう例外。
uncaughtのメソッド名の通り。
0840デフォルトの名無しさんNGNG
>>838
ネタか?ネタなのか?
林 晴比古あいかわらず笑わせてくれるな。
0841デフォルトの名無しさんNGNG
>>838
少なくともそれはuncaught exceptionの話ではないな。
0842デフォルトの名無しさんNGNG
>>840
たわけ!
非キャッチ例外は、正式用語じゃ。林先生をバカにすると承知しないぞ。
0843デフォルトの名無しさんNGNG
>>839
ウソではないが正しくもないな。
単純にcatchされなかった例外のことをuncaught exceptionと呼ぶけど、非キャッチ例外とは言わないと思う。
普通に「キャッチされなかった例外」
0844デフォルトの名無しさんNGNG
>>842
バカになんかしていない。
ネタに対して笑わない方がしつれいだぞ。
芸人のネタに気づかないのもしつれいだぞ。
0845デフォルトの名無しさんNGNG
結局835は、またしても例の釣り氏だったと。。。
0846デフォルトの名無しさんNGNG
だいたい非キャッチ例外だと日本語として意味がおかしくないか?
キャッチ例外に非ずってことか。
0847デフォルトの名無しさんNGNG
>>846
林先生の日本語をおかしいとか言うなぁ
0848835NGNG
なんかよくわかりませんが、「非キャッチ例外」でグーグルで検索しても1件しかヒットしないので、
メジャーじゃないことはわかりました。
0849デフォルトの名無しさんNGNG
>>848
しかも、非検査例外の誤用だしな。
0850デフォルトの名無しさんNGNG
誤用っつーか uncaught exception を直訳しただけっつーか。

他の文書と用語の統一をしようとかいう配慮が欠けてるのは確かだけど。
0851デフォルトの名無しさんNGNG
>>850
どうみても、unchecked exceptionを非キャッチ例外と書いてるのだが。
ちゃんと検索したのか?
0852デフォルトの名無しさんNGNG
byte short int long float double char boolean
これらと、Stringが区別される理由を教えてください。
0853デフォルトの名無しさんNGNG
>>852
その方が言語仕様上都合が良いと言語設計者が判断したからです。

っつうか、なぜその仕様になっているかという理由を考えてもしかたない。
そうなっているメリットデメリットを考えるのは意義があるが。
0854デフォルトの名無しさんNGNG
>>852
質問の意味がいまいちわからんが、
Stringは参照型でそこにあがってるのはプリミティブ型だけど。
違いは自分で調べれ。
理由と言われても違うから違うとしか言いようがない。
0855デフォルトの名無しさんNGNG
>>852の脳内ではPerlやPHPと比較されてんじゃないか?
0856デフォルトの名無しさんNGNG
文字列を表すプリミティブ型があってもいいじゃん!と思ったんじゃないかな
0857デフォルトの名無しさんNGNG
ボーランドのJBuilederX使ってます。

http://up.isp.2ch.net/up/e86d9bb7d1c6.java

のコードで

62 行で シンボルを解決できません。シンボル: 変数 jLabel1 場所 : untitled9.Test の クラス (62:5)

と出るのですが、何故でしょうか?
0858デフォルトの名無しさんNGNG
林晴比古。
この人の本読みやすい。
0859デフォルトの名無しさんNGNG
>>857
class TestにjLabel1が無いから。
0860デフォルトの名無しさんNGNG
>>857
jLabel1なんて物がTestクラスに無いから。
0861860NGNG
_| ̄|○
0862857NGNG
回答ありがとうございます。
class Test内に
Frame1 kita = new Frame1();
kita.jLabel1.setText("test!");
と書いて、エラーは消えるんですが実際実行しても何も起こりませんし、

Frame1をextendsしてもダメでした。

後、jLavel1は同じパッケージ内からだと参照できそうなんですが、私の勘違いでしょうか?(汗
0863860NGNG
>>862
クラス指定。
0864857NGNG
>>863さん
具体的にどう記述すればよいのでしょうか?スミマセン
0865860NGNG
>>864
俺の記憶が確かなら・・・
this.jLabel1は存在しないだろう・・・
Frame1クラスの変数をFrame1クラス以外で操作したいのなら・・・
Frame1.* となるのではないだろうか。
0866デフォルトの名無しさんNGNG
>>858
ウソがあって大切なこと書かなくていいなら、だれでも読みやすい入門本書けるね。
0867デフォルトの名無しさんNGNG
>>866
そう?
ちゃんと大切な事も書いてるけど。
って、何が大切な事で、何が大切な事じゃないのかがいまいち分からないけど。
俺には合ってる。
0868857NGNG
>>865
どうもです。
62 行で static でない 変数 jLabel1 を static コンテキストから参照することはできません。 (62:12)
と出ました。。
0869デフォルトの名無しさんNGNG
>>867
そりゃ、いろいろ書けば、大切なことも中には含まれるだろ。
その中に誰も使わない用語(造語)も含まれているわけだ。
どれが林用語で、どれが公式の用語か、公式じゃなくても通用する用語かわからないような本は、ちょっと問題だな。
ちゃんと(林用語)とでも書いててくれればいいのだが。
あと、レスにも(林擁護)とでも書いてくれれば助かる。
0870860NGNG
>>868
ごめ〜ん・・・
俺も勉強中でよくわかんないや〜・・・
しっかし・・・
ソース読んでみたけど複雑な事してるね・・・
たぶん、このjButton1_actionPerformedメソッド内で、
わざわざインスタンス作って、
その中で別クラスの変数操作しようとしてるからおかしくなってるのかな・・・?

Testクラスは・・・
public void test(JLabel l){
  l.setText("test!");
//  Frame1.jLabel1.setText("test!");
}

と、書き換えて・・・

jButton1_actionPerformedメソッド内は、
  Test test = new Test();
  test.test(jLabel1);

と、書き換えたらコンパイルは通ったよ。
0871デフォルトの名無しさんNGNG
>>869
>そりゃ、いろいろ書けば、大切なことも中には含まれるだろ。
だから、大切な事って例えばどの事よ?
じゃ、大切な事で含まれてない事って何よ?

>その中に誰も使わない用語(造語)も含まれているわけだ。
その用語ってどれよ?
さっきの「キャッチ例外」か?
ただの書き間違いだろ?

別に擁護するつもりはないが、
俺が勉強してる本にケチつけられたら気分いい物じゃないだろ。
そもそも、その叩きも具体的性に欠ける。
どれを見てそんなセリフを言ってんだ。
キミは自分のレスに「林が気に入らないだけ」とだけ書いといてもらえれば、
俺もわざわざレスしてみたりしない。
0872デフォルトの名無しさんNGNG
こんばんは。fedora1の環境ででjdeeをputtyから使っています。
でも、C-c C-v C-. で補完リスト一覧が出てきません。
どなたか設定をご存知でしたら、教えていただけないでしょうか。
0873857NGNG
>>870さん
その通りにしたら上手くいきました!
ありがとうございます!
0874デフォルトの名無しさんNGNG
Javaから話が外れるんですが、
よく変数名やクラス名やメソッド名の例で、
hogeとかhageとか使ってますが、
hogeとかhageとかっていったいどういう意味ですか?
0875デフォルトの名無しさんNGNG
fooとかbarと同じ意味だな
0876デフォルトの名無しさんNGNG
>>819
遅いからそれだけで使いたくないってだけですかい?
それとも?
0877デフォルトの名無しさんNGNG
誰か教えてください。

:
:
Vector vctr = new Vector();
:
(中略)
:
Iterator itr = vctr.iterator();
:
:

この場合に"itr"は何クラスのインスタンスになったのでしょうでしょうか?
0878デフォルトの名無しさんNGNG
>>823
> >>822
> ついでに例外も出来るだけ使わないようにしている。
> 生成するのに30秒とかかかるとやってられない。
> ディスクガリガリ言わせるのも気になる。

まるで携帯Java開発者のようだ。

>>829
それはいわゆるアプレットケーションだろう

0879デフォルトの名無しさんNGNG
>>877
そんなこと気にするな。
というかそういう捻くれた考え方するな
0880デフォルトの名無しさんNGNG
>>877
Vector の親クラスである AbstractList のインナークラス Itr という
クラスのインスタンスだよ。これで気がすんだか?
0881デフォルトの名無しさんNGNG
>>877
残念ながらitrはインスタンスにはなれないのだ。
0882デフォルトの名無しさんNGNG
>>879よ
>>877の言うことは漏れも気になる。Iteratorインタフェースには
メソッドの中身の記述がないが、ここでいう"itr"オブジェクトは
メソッドをいくつも持っている。一体メソッドの中身はどこに書い
てあるんだろうか?
0883877NGNG
>>880さんありがとうございます。
ところでAbstractListにインナークラスがあるっていうのは
どの本かドキュメントに載っているのでしょうか?
もし教えていただけると助かります。

ps.>>877で"でしょうか”の部分を二回繰り返してすみません。
0884デフォルトの名無しさんNGNG
>>882
Iterator インターフェイスはメソッドの仕様を規定する。
あと、補足説明は Vector っつーか AbstractList の iterator() メソッドに書いてあるし。

これらに規定された以上の実装依存の情報を使用すると特定バージョン依存になる危険がより高くなる。
0885デフォルトの名無しさんNGNG
>>882
イテレータインタフェースを実装してるクラスだろkusomamire
0886デフォルトの名無しさんNGNG
>>878
アプレットケーションではなくてWebStartのカプセルの仕方が2つあるということでは?
だからアプリケーションかアプレットかという次元の話とは少し違う>WebStart

WebStartはjnlpAPIを使ったもの・・・としかいえんね
0887デフォルトの名無しさんNGNG
>>883
気になるなら JDK のルートにある src.zip 展開しろ。
Abstract クラスのインナークラスと書いたが >884 のいうとおり
どのクラスのインスタンスかというのは意味がない。知る必要がない。

Abstract#iterator が返すのは Iterator インタフェースをもつオブジェクト
であり、それ以上以下でもない。
0888デフォルトの名無しさんNGNG
>>883
> ところでAbstractListにインナークラスがあるっていうのは
> どの本かドキュメントに載っているのでしょうか?

あー、言い忘れた。どこにも載ってない。
っつかわざと載せてないない。理由は・・・もう分かるだろ。
0889デフォルトの名無しさんNGNG
Iteratorの実装クラスが知りたい人は、

ArrayList list = new ArrayList();
Iterator it = list.iterator();
System.out.println(it.getClass().getName());
やってみるといいよ。

Vector使う奴は氏んでね
0890デフォルトの名無しさんNGNG
>>889
> Iteratorの実装クラスが知りたい人は、
> ArrayList list = new ArrayList();
> Iterator it = list.iterator();

あーあ、こんな書き方してる時点で、分かってないの
バレバレだな w
0891デフォルトの名無しさんNGNG
>>890
夜釣りご苦労さん。
別にそんなところでListなんか使わなくていいよ。
0892デフォルトの名無しさんNGNG
>>891
やっぱりな。突っ込んだのはそこじゃない。

> Iteratorの実装クラスが知りたい人は、
と書いて、Vector ではない別のクラスを持ち出したとこだが。
Vector と ArrayList の iterator メソッドが返す
インスタンスはたまたま同じなだけだ。

お前もまたインタフェースが分かってない
1人だということが証明された。
0893釣られてやろうNGNG
>Vector と ArrayList の iterator メソッドが返す
>インスタンスはたまたま同じなだけだ。

やられた。ここまで馬鹿だとは思わなかったよ・・・
誰もVectorの話なんかしてないよ。つまらんところしか見えないのな。

任意のインターフェースについて getClass().getName()でクラス名が取れるってことだ。
0894デフォルトの名無しさんNGNG
importができねー
なんでだよ

app1.java
-----------------------
import printer;

public class app1
{
public static void main(String[] args)
{
printer printer1 = new printer();
printer1.print();
}
}
---------------------------------
printer.java
---------------------------------
class printer
{
public void print()
{
System.out.println("Hello from Java!");
}
}
----------------------------------
app1.java:1: '.' がありません。

同じディレクトリにprinter.classがあるのにどういうことだふざけんな
0895デフォルトの名無しさんNGNG
>Vector と ArrayList の iterator メソッドが返す
>インスタンスはたまたま同じなだけだ。

ふーん、内部クラスなのに同じなの?
それはそれでなぞだねぇ
0896デフォルトの名無しさんNGNG
>>893
あほかお前は。スレ読み返せ。
で、Class#getName は無名クラスの場合は何を返すんだ?
今から調べるか? w
0897デフォルトの名無しさんNGNG
>>894
importいらんよ
0898デフォルトの名無しさんNGNG
>>895
どういう意味だ? 書き方が悪いのか。
実装が同じインスタンスを返す。
0899デフォルトの名無しさんNGNG
>>897
うをっ
ほんとだ
この参考書あてにならねーな
0900& ◆2F1nYDgaQo NGNG
>>896
>で、Class#getName は無名クラスの場合は何を返すんだ?

クラス名を返すが、それがどうかしたのか?
別に今から調べてもいいぞ。
0901デフォルトの名無しさんNGNG
ナンノハナシシテンノ?キミタチ?
0902デフォルトの名無しさんNGNG
半月前くらいに、なんとなく面白そうだったのでJavaに手を出してみた初心者です。
まずは簡単なアプリから…と、グラフィックビューアを作ろうかなと思っています。

現在、Java Advanced Imaging Image I/O Tools をインストールし
なんとかBMPの表示ができたところです。

さて、諸先輩方に質問です。
上記のアプリ(現在まだ作りかけですが)をJAR形式にまとめるとします。
この場合、アプリを使うユーザも自身の環境に、Image I/O Tool をインストールする必要があるのでしょうか?
もしくは、標準のランタイムだけで使う方法はあるのでしょうか?
なにとぞよろしくお願いします。


#ものは試しと、サブノートにjarファイルを持っていってみたんですが
#案の定、動きませんでした(笑
0903デフォルトの名無しさんNGNG
> この場合、アプリを使うユーザも自身の環境に、Image I/O Tool をインストールする必要があるのでしょうか?
ある。
0904デフォルトの名無しさんNGNG
質問させてください。
ifばっかり使うのと、else ifも使うのは何か違いがあるのですか?
0905デフォルトの名無しさんNGNG
>>904
馬鹿は芯でも治らない
0906デフォルトの名無しさんNGNG
エクスプローラのようなファイルツリーを作りたいんですけど、
エクスプローラライクなUIのアプリではルートがDesktopで、その下にMy Documents、My Computer、My Networkplaces
ってなってますよね。
そのDesktopのパスってどう書けばいいんでしょうか?
自分で調べてみようと思って、
File file=new File("c:\\");
String str=file.getParent();
としてみたら、strにはnullが返りました。
listRootsでドライブのリストはできますが、その上はできません。
listRootsで返るドライブのリストが最上位パスなんでしょうか?
0907902NGNG
>>903
ありがとうございます。
となると、自前なりネットなりでBMP関連のクラスを用意した方がいいかもしれませんね・・・。

>>904
さっそくだがJava暦半年の自分が答えてみる!(一度やってみたかったんだ)

 if A 〜
 if B 〜
のとき、AとB両方が成り立つ場合、もちろん両方実行される

逆に
 if A 〜
 else if B 〜
のとき、2つ目は「Aが成立せず、かつ、Bが成立する」ときにのみ実行される
 if A 〜
 else {
  if B 〜
 }
と書くこともできる

間違って…ないよね?
0908デフォルトの名無しさんNGNG
>>906
javax.swing.filechooser.FileSystemView とか使ってくれ。
0909907NGNG
Java暦半年ってなんだ、半月だよ・・・私は・・・ orz
0910デフォルトの名無しさんNGNG
java歴がどうこう言うレベルの問題じゃないな。
0911デフォルトの名無しさんNGNG
>>902
最初のifがtrueだったとき、後に続くifの括弧の中の比較をするかどうか。
0912デフォルトの名無しさんNGNG
>>902
JAIの.jar同梱すれ
0913デフォルトの名無しさんNGNG
>>905
なかなかイヤなヤツだな。
スレタイの「初心者大歓迎」っての外さないとな。

>>904
とにかく・・・
>>907とか、>>911が言ってる通りな感じです。
特別な意味がない限り、if-else ifを使うべき。
if-else ifだと、どこかで真になれば、そのifブロックから一発で抜けるけど、
ifをツラツラ書くと、その都度比較を行い、
無駄な処理をする事になる。
処理が重くなる。
0914デフォルトの名無しさんNGNG
>>912
ライセンスの再配布に関する条項で許可されてるなら、という但し書きを忘れちゃダメよ。
0915デフォルトの名無しさんNGNG
>>913
Java初心者は歓迎だけど馬鹿はお呼びでないよ。
>>910も書いてるけどJava以前の問題。
0916デフォルトの名無しさんNGNG
そんな必死になって責め立てるほどのもんでもなかろうに。

中級者面したVector馬鹿の方がよっぽど有害
0917906NGNG
>>908
FileSystemView fsv=new FileSystemView();
と書いてみると、
Cannot instantiate the type FileSystemView, since it is not a concrete class
とのことで、コンパイルできません。
以下に確認用のコード貼ります。import文なんかは省きます。
public class PathGetter
{

public static void main(String[] args)
{
FileSystemView fsv=new FileSystemView();
File[] str0=fsv.getRoots();
for (int i=0;i<str0.length;i++)
{
System.out.println(str0[i]);
}
  }
}
0918デフォルトの名無しさんNGNG
FileSystemView fsv = FileSystemView.getFileSystemView();
0919デフォルトの名無しさんNGNG
>>916
お前もたいがい頭悪いな。

いいか?if〜elseとif〜elseif〜elseの違いがわからないと言う、それそのものに対して馬鹿といってるんじゃない。
これだけならまだ初心者の範疇と言われればそうかも知れない。

こんな質問すらわざわざ2chに書き込んで答えてもらうのを待つしか
解決法を知らない奴に対して馬鹿と言っているんだ。
筋金入りの教えて君じゃねーか。
elseifのことだけで書き込むような奴だぞ。次はswichか?ループ文か?

だからjava以前の話だと書いたんだ。
0920デフォルトの名無しさんNGNG
まー綴り間違えた事に突っ込まれるんだろうけど
0921デフォルトの名無しさんNGNG
>>919
最初からそう書かないからいらんやり取りが続くんだ。

さっきからこのスレ、理由を省いて叩くだけの奴のせいでくだらんことでスレが伸びてる。
0922デフォルトの名無しさんNGNG
>>907,911,913
マジ感謝!
基本が大事だということが身にしみて分かりました・・・
0923906NGNG
>>918
駄目です…
そのようにしても
「FileSystemView.getFileSystemView cannot be resolved or is not a type」
と怒られます。
とりあえず明日またがんばってみて駄目なら又来ます。
レスくれたお二方(一人?)ありがとうございました。
0924デフォルトの名無しさんNGNG
>>922
>>919
0925デフォルトの名無しさんNGNG
PKCS12形式のクライアント証明書をJavaで使える形式にするにはどうするんですか?
0926デフォルトの名無しさんNGNG
JPanelにJScrollPaneを付けたのですが
画面の大きさを変えたりしてもスクロールペインが活躍してくれません。
パネルの大きさが認識されてないのでしょか?
ちなみにレイアウトマネージャとしてボーダーレイアウトを使用しております。
0927デフォルトの名無しさんNGNG
>>923

クラス名を紹介されたら、「どのパッケージのクラスか」は
自分で確認しよう。そしてAPIドキュメントも読もう。
0928デフォルトの名無しさんNGNG
println の ln はなんのことでしょうか。
0929デフォルトの名無しさんNGNG
>>928
Lineの略じゃねーの?
0930デフォルトの名無しさんNGNG
>>927
>>908 で完全限定名を紹介されてるから、
どのパッケージのクラスかは自明のはず。
0931デフォルトの名無しさんNGNG
>>930
なのにダメですといってるから>>927の意見なんだろ。
0932デフォルトの名無しさんNGNG
オーバーライドって英語で書くとなんですか?
overwrittenだとオーバーリトゥンですが。
0933デフォルトの名無しさんNGNG
>>932
override
0934デフォルトの名無しさんNGNG
物凄い初歩的な質問で恐縮ですが
KeyTypedイベントが起きたときに、"w"キーが押されたら"w"と出力したいのですが


keyTypedメソッド内で

if(e.getKeyChar().equals("w"){
System.out.println("w");}

とすると、
getKeyCharの後で「charは間接参照できません」
というコンパイルエラーが出てしまいます。
間接参照というものが理解できないんですが
どうしたらいいんでしょうか
0935934NGNG
カッコが1つ足りませんでした
if(e.getKeyChar().equals("w")){
System.out.println("w");}
です。
他に、char型の変数keyinput1を作り
keyinput1 = e.getKeyChar();
if(keyinput1.equals("w")){
System.out.println("w");}
としても駄目でした。
equalsが駄目なのかと思い
keyinput1 = e.getKeyChar();
if(keyinput1.compareTo("w")){
System.out.println("w");}
でも駄目でした

0936デフォルトの名無しさんNGNG
もしかしてthisキーワードって二通りの使い方がありますか?

・メンバ変数とローカル変数を区別するときに使う
・メソッドを呼び出したクラスオブジェクトの参照を保持する
0937934NGNG
自己解決しました
if(e.getKeyCode==KeyEvent.VK_W){
System.out.println("w");}
0938デフォルトの名無しさんNGNG
>>934
悪いことは言わないから入門書一冊買って読め
プリミティブ型と参照型の区別もついてないのに背伸びしようとするな
0939934NGNG
>>938
よくわかりませんが、夏休みの宿題だからそれどころじゃないんです
まあ、自己解決したし入門書はいらないと。
0940デフォルトの名無しさんNGNG
すげーな、どうやって解決したんだ?
0941デフォルトの名無しさんNGNG
>>936
そこに挙げられたものは2通りのうちのひとつでしかないな。
両方同じ。
0942934NGNG
パンがなければお菓子を食べればいい
もとい
入門書がなければAPIを読めばいい
です
0943デフォルトの名無しさんNGNG
APIを読むってソース読んだのか。
0944デフォルトの名無しさんNGNG
だったら初めからAPI Specification読めばいいじゃねーか。
0945デフォルトの名無しさんNGNG
JavaDoc嫁。
0946デフォルトの名無しさんNGNG
夏はまだ続いてる・・・と
0947デフォルトの名無しさんNGNG
大学で夏休みは9月いっぱいって所もあるしな
0948デフォルトの名無しさんNGNG
質問です
Javaでテキストファイルの行数を
スマートに調べる方法はないでしょうか?
BufferedReaderでreadLine()出来た回数で調べるのより
良い方法がありませんか?
0949デフォルトの名無しさんNGNG
改行コードを数えれば
0950デフォルトの名無しさんNGNG
>>948
その方法で十分スマートだと思います。
0951デフォルトの名無しさんNGNG
>>950
わかりましたそうします
0952デフォルトの名無しさんNGNG
それいけスマート
0953デフォルトの名無しさんNGNG
たまーに訳わからんレスが入るよな。
どうせならさ・・・

!スマート車関機

くらい訳わからないのが良い。
0954デフォルトの名無しさんNGNG
>>698
> サーバの設定云々も実は不要だったりする。

本当に不要なのか、はなはだ疑問。
MIMEタイプの設定がすでにそのサーバでなされているというのなら、
たしかに不要だろう。

サーバの設定をしなかった場合、
サーバ側がクライアントに返すMIMEタイプはどうなっていますか?
ちゃんと
"Content-Type: application/x-java-jnlp-file"になっていますか?


もしサーバの送るヘッダが上記の物ではないにもかかわらず、
>>698の環境において、JavaWebStartが起動するというのなら、
それは>>698の使っているブラウザなどのクライアント側が、気のきいたよくできたやつで、
拡張子などをたよりに、 JavaWebStartを起動してくれているだけではないだろうか。

つまり、サーバの設定を正しく行わないと、
気の聞かないトーマスな環境では正しく動かない恐れがあるのではないか。

//それいけスマートとはまた古風な。
0955デフォルトの名無しさんNGNG
>>926さんへ。
私の場合ですが、JPanelに画像を書いていたときそういうようになったことあります。
JPanelをDimension 使って、表示するとできました。
参考になればよいですが。
0956デフォルトの名無しさんNGNG
失礼します。いきます。

オブジェクトの受け渡しは、双方解釈できての
Serializable#writeObjectからSerializable#readObjectだけで通るものですか?
かなり不安いっぱいです。試したいのですが、まだ手元にAIXきません。見たこと触った事もありません
要塞見たいのがくるのでしょうか、要塞かどうかはいいです。
0957デフォルトの名無しさんNGNG
>>956
ちゃんと日本語しゃべれ
0958デフォルトの名無しさんNGNG
MSN%A5%E1%A5%C3%A5%BB%A5%F3%A5%B8%A5%E3%A1%A1
%B2%BB%C0%BC%A5%C1%A5%E3%A5%C3%A5%C8%A4%C7%A4
%AD%A4%EB%BF%CD%A4%A4%A4%EB%A4%AB%A4%CA%A1%A9

だれか、このコードを日本語化する方法知りませんか?
0959デフォルトの名無しさんNGNG
>>958
>MSNメッセンジャ 音声チャットできる人いるかな?

URLエンコードされた文字列。
Javaと関係あるのか?
http://www.tagindex.com/tool/url.html
0960デフォルトの名無しさんNGNG
二つほど質問です。

1.もともとAWTで作ってたものをSwingに作り変えてるのですが、
  コンパイル時に推奨されないAPIを使っていると出ます。
  (実行自体は問題なくできる)
  で、具体的にどこが推奨されてないかを特定する方法というか、
  ヒントみたいなものをいただけるとありがたいです
  (ちなみにJavaのバージョンですが、NetBeansの3.6にバンドルされてきたやつで分かるでしょうか?)

2.1と同じもので、AWTの時には、メニューが正しく表示できていたのですが、
  Swingに書き換えてから自家製のコンポーネントの下に隠れるようになってしまいました。
  (JButtonに対しては隠れていない)
  なぜでしょうか?

  ちなみに自家製のコンポーネントは、全部AWTで出来てるので、その辺が関係してるのかな?とも思いつつ
  他に聞けるところも無いので、ここで質問してみました。
  よろしくです。
0961デフォルトの名無しさんNGNG
AWTとの混在は厳しいよ
Swingがなんでlight weight componentと呼ばれてるか知っているかい
Swingのコンポーネントはそこにあるように見えて実はない
実際にはデータのみを管理してウィンドウに書かれた絵だから
0962デフォルトの名無しさんNGNG
レスどもです。
やっぱりAWTとの混在がやばげですか。
正直自家製のコンポーネントのほうはかなり作りこんじゃったので
Swingへ書き換えるには相当な気力が必要なんですよね。。。トホホ

メニューのとこだけでも回避する方法ないですかね?
0963デフォルトの名無しさんNGNG
どういったコントロール使ってるかによる
AWTコントロールでカスタマイズってあんまりできないから
参考程度でさっさとSwingで作り直すがよろし

まぁ、考え方が違うところが多いのでSwingになれるまでがきついかもしれない
なれればSwingでカスタムコンポーネントぺたぺたNetBeansではりつけれるので便利になるけどね
0964デフォルトの名無しさんNGNG
すいませんおちゃらけました、また弾けるかも知れませんが落着いて書いてみます。

都合でAIXを使う事になりそうでして。ばっさり割愛しますが、Objectの投げ合いをして吸い上げるようです。
そこでjavaの環境依存って実際本当にないのかが疑問になりまして、

とりあえず辿り付いたSerializableのAPIをちゃんと読んでみたわけですが、どうもしっくりこないと言うか
「直列化されます。」と単純に言い切られて納得できませんで、

AIX全くわかりませんが見ればIBMの提供するjdkが一般的だとか、そこでも疑問でして各ベンダで統一してる
上手く言えなさそうです


HelloWork hello = new HelloWork();
hello.writeObject(new ObjectOutputStream(socket.getOutputStream()));
 ↓
HelloWork work = (HelloWork)
(new ObjectInputStream(socket.accept().getInputStream())).readObject();

こんな感じで、helloとworkは同じになれます?環境とか関係ないものです?
説明無理でしたまた出直します。
0965デフォルトの名無しさんNGNG
>>964
RMI(Remote Method Invokation)で調べてからで直してこい。
0966デフォルトの名無しさんNGNG
>>960
非推奨メソッドについては、javacからなら-deprecationオプションを付けて
コンパイルすると教えてくれるのだが、NetBeansからどうやるかは知らない。
コンパイラを内蔵しているのではなく外部コマンドとしてjavacを呼ぶように
なっているのなら、与えるオプションを設定する方法はあるはず。

AWTとSwingの混在で、とりあえずメニューが隠れるのを回避するだけなら、
メニューをまだ1つも構築していない状態で、
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
しとくといいかもしんない。

0967960NGNG
>>963
レスありがとうございます。

 Swingへの書き換えについては、まだ微妙ですが、まとまった時間が出来たらやって見ようと思います。
 (表示する位置とか微妙な調整が面倒なんですよね。。。ちなみに作ってるのは将棋盤です)

>>966
 レスありがとうございます。

 おっしゃるようにNetBeansでは外部コンパイラを使用しています。
 で外部コンパイラのプロパティ(NetBeansで設定可能な)のところでは、
 -deprecationオプションが既に設定済みのようなのです。
 (実を言うと、この推奨されてない云々のメッセージはかなり前から意識していて、
  以前もいろいろ自分でいじくってみた事がありまして、、、
  デフォルトで設定されていたものか、自分で試しに設定したものか、
  今となっては記憶があやふやで良く分からない!)
 こちらはどちらかというとNetBeansの問題なのでしょうかね?

 それからおかげさまで、966で書かれたメソッド書いたら隠れずに表示されるようになりました。
 まだなんで表示されるようになったのか良く分かっていませんが、、、
 (この辺は963さんもご指摘のライトウェイトコンポネント云々を理解しないといけないのかな?)

 いずれは前にも書いたとおり、Swingへ書き換えをやろうと考えていますが、
 取り急ぎ気になる点が解消できました。
 改めて感謝感謝でした。
0968デフォルトの名無しさんNGNG
質問です
String型は
String str="hogehoge" と文字列をセットできるのに

StringBuffer型は
StringBuffer str="hogehoge" とするとエラーになるのは何故ですか?

また
StringBuffer str1=new StringBuffer("hogehoge");
StringBuffer str2=new StringBuffer("hogehoge");
とすると
str1.equals(str2)がfalseを返すのですが、何故でしょうか?
(String型だとtrueになります。)
0969デフォルトの名無しさんNGNG
>>968
> String str="hogehoge" と文字列をセットできるのに
仕様。String だけの特例。Integer i = 1 とかもだめでしょ。

> str1.equals(str2)がfalseを返すのですが、何故でしょうか?
> (String型だとtrueになります。)
APIドキュメント嫁。
String#equals
StringBuffer#equals (は実装されてないから Object#equals)
0970デフォルトの名無しさんNGNG
もしかして、SWT&jfaceって人気ないの?
0971デフォルトの名無しさんNGNG
>>969
なるほど。
ところでAPIドキュメントって何ですか?って聞いたら
怒られそうなのでやめときます。

String型の文字列プールの例外にはびっくりしました。
同じ文字列なら同じオブジェクトを参照するから
str1==str2がtrueを返すなんて知ってなきゃ分かるはずがない
0972デフォルトの名無しさんNGNG
>>971
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
大声で音読
0973デフォルトの名無しさんNGNG
>>971
> str1==str2がtrueを返すなんて知ってなきゃ分かるはずがない
これを知ってんのに API ドキュメントが分からないのか?

それはさておき、ほんとに分かってるのか。
以下の結果はどうなる?

String s1 = "a" + "b";
String s2 = "ab";
System.out.println(s1 == s2);

s1 = "a";
s1 += "b";
s2 = "ab";
System.out.println(s1 == s2);

s1 = new StringBuffer("ab").toString();
s2 = "ab";
System.out.println(s1 == s2);
0974デフォルトの名無しさんNGNG
とりあえずリテラルという言葉を覚えたほうがいい。
0975デフォルトの名無しさんNGNG
>>971
ああっ、馬鹿…
0976デフォルトの名無しさんNGNG
>>973
全部falseのような気がします
0977デフォルトの名無しさんNGNG
String型のリテラルは一度定義すると変えられないと書いてありました
ただ、単純な+操作だけはできて
別々のオブジェクトをあたかも結合して一つのオブジェクトに見せる
みたいな・・・
0978デフォルトの名無しさんNGNG
>>976
残念 1 つ目は true。
同一式での文字列結合はひとつの文字とみなされ、
同じコンスタントプールが使用される。
0979デフォルトの名無しさんNGNG
>>955
ありがとうございます。
解決しました!
0980デフォルトの名無しさんNGNG
>>973
なんでこれが全部trueになるの?
==はオブジェクト同士の演算なんだからfalseじゃないの?

s1.equals(s2) だったら全部trueになるのは納得行くけど・・・
0981906NGNG
とりあえず半分解決しました。
人様のアプリのスクリーンショットを見て、
ルート(\)
と書いてあったので、試しにパスに"\\"としてみたら、My DocumentsとRecycle binが
ツリーに現れました。
なぜかMy Computerが出ていませんが…
さらにぐぐってみます。
0982デフォルトの名無しさんNGNG
>>980
な、何いってらっしゃるんでしょう?
0983デフォルトの名無しさんNGNG
>>978
ふ〜ん

まぁ実際のところ、ソースん中で
 if(xx == yy){ /* */ } ;//いずれも非プリミティブ(String含む)
って記述みっけたら、書いた奴呼び出して即書き直し命じてもよろしいか?

そんとき、
「残念、同一式での文字列結合はひとつの文字とみなされ、
 同じコンスタントプールが使用されるんですよ。」
とでも言おうものなら、衝動的に殴ってしまってもよろしいか?
0984デフォルトの名無しさんNGNG
あ;いらね〜か
0985デフォルトの名無しさんNGNG
>>983
後半はよろしい。
しかし前半は元々そういう意図だったらどうすんだよ
0986デフォルトの名無しさんNGNG
つーか言語仕様の話だろ。実際のコーディングスタイルなんか自分のところで決めろ。
0987デフォルトの名無しさんNGNG
つーかよ、大概のオブジェクトは参照アドレスが違うから
特に自分がObjectを継承して作ったクラスのインスタンスは
==で判定しても問題ないよ
問題が出るのは、プリミティブラッパーとか、equals()を
オーバーライドしてるクラス
まあ、言御仕様上は、==をプリミティブ型に限定するか、
または==で,統一する方向で規定してほしかったけどね
プリミティブ型ってのが癌だったな
Javaがでてきた頃はマシンパワーが足りなかったから
こんな仕様にするしかなかったんだろ
0988デフォルトの名無しさんNGNG
==演算子をシンタックスシュガー扱いにして
コンパイラがequalsで比較するようなコードを吐けばいいのにね。
if (left == right) {...}
をこんな感じで処理とかさ
boolean _b;
if ((left instanceof Object) == false) _b = (left == right);
else if (right == null) _b = (left == right);
else _b = left.equals(right);
if (_b) {...}

そうすると実質演算子のオーバロード状態になるか。
0989デフォルトの名無しさんNGNG
>>987
>犬概のオブジェクトは参照アドレスが違うから
 ↑ 犬?犬って何だよ!?
www
0990デフォルトの名無しさんNGNG
>>877の知りたいことは
>>877のような初心者にとって知るだけ無駄な
トリビアな知識だな
0991デフォルトの名無しさんNGNG
>>954
> >>698
> > サーバの設定云々も実は不要だったりする。
>
> 本当に不要なのか、はなはだ疑問。
疑問があるなら実際にやってみろと。

> もしサーバの送るヘッダが上記の物ではないにもかかわらず、
> >>698の環境において、JavaWebStartが起動するというのなら、
> それは>>698の使っているブラウザなどのクライアント側が、気のきいたよくできたやつで、
> 拡張子などをたよりに、 JavaWebStartを起動してくれているだけではないだろうか。

最近のメーカー製PCはJavaWebStartが標準搭載されているので問題ないことばかりだが。
0992デフォルトの名無しさんNGNG
>>989
おめー里見八犬伝もしらねーの?
犬概といったら、八犬士のひとり犬概現八のことにきまってるだろ
0993デフォルトの名無しさんNGNG
>>989
> >>987
> >犬概のオブジェクトは参照アドレスが違うから
>  ↑ 犬?犬って何だよ!?
> www
↑
wwwってなんだよ? ワールドワイドウェブのことか?

それとも、ワイルドワイドウェストのことか?
0994デフォルトの名無しさんNGNG
>>992-993
あ!?お前ら何言ってるの??
日本語で書いてもらえませんか!?
さっぱりですよ??
0995デフォルトの名無しさんNGNG
すいません、質問です。
これからJavaをはじめようと思うのですが、コンパイラーというものはどこで売ってるのですか?
デオデオで訊いてみたのですが、売っていないといわれ途方にくれています。
よろしくお願いします。
0996デフォルトの名無しさんNGNG
>>994

ワイワイウェ〜〜〜〜〜〜〜〜〜〜スト!

                            by ヴィル・スミス
0997デフォルトの名無しさんNGNG
>>996
あ!?だから、それはなんなんだよ!?
0998デフォルトの名無しさんNGNG
>>995
> すいません、質問です。
> これからJavaをはじめようと思うのですが、コンパイラーというものはどこで売ってるのですか?
>>1を嫁。リンク先を調べればタダで手に入る。


でさ、デオデオって何?


new Thread(); を立てた
【初心者】Java質問・相談スレッド53【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1094860940/
0999デフォルトの名無しさんNGNG
>>997
映画
1000デフォルトの名無しさんNGNG
Java質問・相談スレは52回を以って終了とさせていただきます。
長らくのご愛顧ありがとうございました。

1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。