【初心者】Java質問・相談スレッド68【大歓迎】
1 :
デフォルトの名無しさん :
2005/06/19(日) 02:30:37
2 :
デフォルトの名無しさん :2005/06/19(日) 03:28:49
3 :
デフォルトの名無しさん :2005/06/19(日) 03:50:06
4 :
デフォルトの名無しさん :2005/06/19(日) 04:01:45
5 :
デフォルトの名無しさん :2005/06/19(日) 13:43:13
applet でいうところの codebase をマニフェストファイルで指定する事はできないでしょうか? jarは次のような構造になっています。 a.jar + classes + src classes の中に Main-Class に指定するクラスがあります。 しかし、classes は単にクラス置き場でパッケージではありません。 パッケージなら Main-Class: classes.Main とすれば実行できる事を確認しました。 applet も codebase=classes でできました。
>>6 なにがしたい?
おなじJar ファイル内から画像を取ってきたいというのであれば
CodeBaseは使えない
>>8 彼の文章の行間を読め
それでこそ答える立場の人間だ
クラスパスの概念が分かってるならcodebaseなんていらんとおもうんだが
>>8 書き忘れましたが、クラスパスも試しましたが何故かできません。
質問する者よ 相手にすべての駒を見せなさい
>>7 ,8
したい事はアプレットをアプリとしても動かしたくてアプレットクラスに public static void main を書いています。
そして、実行を java -jar a.jar(とかクリック)と簡単にできるようにしたいと思っています。
>>10 クラスパスの概念が分かっていないのかもしれません。
マニフェストファイルに
Main-Class: Main
Class-Path: classes
と書いてうまくいきませんでしたが、これがダメなような気がします。
<applet archive=a.jar codebase=classes code=Main width=0 height=0></applet>
上のアプレットダグと対応してこれでいいと思ったのですが。
>>13 見せて有効そうなものはもうありません。
クラスファイルをclassesにまとめないのが一番楽。
そうですか orz またぐぐってきます。
17 :
デフォルトの名無しさん :2005/06/19(日) 17:43:47
>>14 そもそもそのAPPLETタグがおかしくないか?
それだとclassesというURLからa.jarというjarファイルをロードして、その中の、
完全クラス名「Main」ってのを実行するんじゃないか? ためしてないけど。
a.jar
+- Main
でないといかんのでは?
というかふつうjarの中って、完全クラス名の一番上と同名のディレクトリから始まるよな。
a.jar
+- jp/co/xxxx/MyClass.class
+- jp/co/xxxx/xxxxx/OtherClass.class
てな感じで。
>>17 APPLETタグ間違えていました。
同じディレクトリに固める前の classes があって、そこから読み込んでいたようです。
> というかふつうjarの中って、完全クラス名の一番上と同名のディレクトリから始まるよな。
パッケージという事ですよね。まともな方法のそれにする事にしました。
>>20 いや、がんばってこのスレの980を指してみたんだ。
マイクロソフトJAVAって無くなったの?
25 :
デフォルトの名無しさん :2005/06/19(日) 22:04:43
Appletで、00:00から始まるタイマーを表示させ、 自由に止めたり、動かしたりすることができるように したいのですが、どうやったらいいか検討がつきません 誰か、教えてください
>>25 例えば、あるフィールドを描画するパネルと
そのフィールドを操作するイベントリスナたちをつくる
>>25 GUI ならjavax.swing.Timerを使えばいいと思います。例を考えてたら偶然面白いものが出来ました。
class Test
{
static int time = 0;
public static void main(String[] args) {
new javax.swing.Timer(1000, new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println(++time);
}
}).start();
new javax.swing.JFrame();
}
}
たぶんだけど、new javax.swing.JFrame(); の部分がガーベージコレクトされて途中で止まる。
>>26-27 ありがとうございます
javax.swing.Timerなんてこんないい物あったんですね
早速明日学校で試してみます
俺はjava.util.Timer使うな
じゃあ俺はあくまでjava.lang.Threadで
31 :
943 :2005/06/20(月) 10:50:48
>>31 両方に書くなよ。
別のスレだよ。
あいつらはどうせ両方見てるから心配ない。
>>31 すまない。
1.3以前にはもう関わりたくないんだ。
むしろ俺は、1.1 -> 1.2 -> 1.3 -> 1.4.1 -> 1.2と進化している。
Javaで簡単な言語作りたいんだけど、 言語処理系の基本的なところは勉強したんですけど、 いざインタープリターでも作ろうと思うと、なにからやっていいのやら。 って感じです。 で参考になる本とかさがしていたんですが JavaCC―コンパイラ・コンパイラfor Java と Javaによるパーサ構築技法 と どっちの本がいいですか?
39 :
デフォルトの名無しさん :2005/06/21(火) 00:24:26
ああげ
>38 つ[立ち読み] いや、まじで実際に読んでみてよさげな方を勧める。
41 :
デフォルトの名無しさん :2005/06/21(火) 07:26:45
ColorをRGBで指定するにはどうしたらできますか? g.setColor(int r int g int b) とやってもできないんです…
g.setColor(int r , int g , int b) のこと?
やさしい魔邪
skype APIをJAVAから使えるようにラップしたライブラリJSKYPE
使ってみたけどサンプルコードが動かない_| ̄|○
http://www.arclamp.jp/blog/archives/000269.html このページのとおりやったところ
サンプルのchatWindowは立ち上がるのですが
メッセージ送信をしたらCouldn't Send Messageとダイアログが開いて
失敗します。
調べてみたらネイティブメソッドnativeSendMessageの中の
SendMessageの行で止まってました。
これはskype開発者側が動かないとどうにもならにのでしょうか?
46 :
デフォルトの名無しさん :2005/06/21(火) 16:05:42
すみません、質問です。 Javaでフリーのプロファイラってありますか? 商用だといくつか存在するのですが、フリー/オープンソースでは見つかりませんでした。 JVMPIも試してみたのですが自分で作らなきゃならないので挫折しています。
>>46 java -Xprofとかeclipseのプラグインのはどうなんでしょうか。
48 :
45 :2005/06/21(火) 16:51:32
49 :
45 :2005/06/21(火) 18:16:10
すみません、自己解決しました skypeの公式ページのサンプルコードを少し付け加えたら動きました。 これって作者に報告したほうがいいのですか?
50 :
41です :2005/06/21(火) 20:59:50
>>42 そうです。
int r
g
b
に数字を入れても、エラーになります。
Color(int
int
int)には適用できませんと、なります。なぜ?
>>50 g.setColor(new Color(r, g, b));
>>41 メソッドがないのにつかおうとしてもなぁ
というかgってなんだとか説明くらいつけてもらわんと
色ネタで便乗質問です。 Colorを色名から取得したいんですが、何か方法/ライブラリを知りませんか? 標準的なRed Black Yellow・・・ やシステムカラーではなく Webカラー? (正式名称知らん)の、 darkSlateGreen とか midnightBlue とかを 取得したいのです。 batikのCSS関係を軽く見回したけど、見つからなかったんで。
RGB値がわかればいいだけかと
55 :
デフォルトの名無しさん :2005/06/22(水) 00:05:58
>>46 netbeans.orgがNetbeans Profilerってのを出してるよ。
56 :
46 :2005/06/22(水) 02:19:42
>>47 -Xprof
→試してみましたが情報が少なく、これでコードのチューニングをするのは無理がありそうです
Eclipseプラグイン
→エクリプスはあまり使っていないので見逃してました。かなりよさそうですね
>>55 NetBeans Profiler
→NetBeans環境自体知らなかったのですがこれってEclipseみたいなものなんでしょうか?
あと、質問の後で「Jprobe Profilerフリー版」というのを見つけました。時間があれば試してみます
>>56 -Xprofと同じ感じのjdkのツールで、hprof(java -Xrunhprof)なんかもありますよ。
使いにくいかもしれませんが。
質問おねがいします。 public float getHoge() { return hoge; } みたいなアクセサメソッドはコンパイラによって メソッドを通さない形に最適化されるんですか?
59 :
46 :2005/06/22(水) 04:08:40
Jprobe Profilerフリー版 インスコしますた。 ・・・使い方がわからねぇよぅ。orz どこかに猿でもわかる導入の手引きは落ちてないものでしょうか?
>58 >質問おねがいします。 困りました。
62 :
デフォルトの名無しさん :2005/06/22(水) 10:23:01
質問よろしくお願いします。 jButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { TestFrame TFrame = new TestFrame(); TFrame.setVisible(true); } }); このようにした場合ボタンを押すたびに新しいフレームができてしま うのですが、すでにフレームがある場合、フレームを新たに作成し たくありません、どのようにしたらよいでしょうか。 検索しているのですがなかなか見つけられないです。 orz
63 :
デフォルトの名無しさん :2005/06/22(水) 10:55:15
64 :
デフォルトの名無しさん :2005/06/22(水) 11:06:11
朝の6時30分から…
>>62 TFrameをフィールドにして、TFrameがnullの時だけnewすればいい。
jButton.addActionListener(new java.awt.event.ActionListener() {
TestFrame TFrame;
public void actionPerformed(java.awt.event.ActionEvent e) {
if(TFrame==null){TFrame=new TestFrame();TFrame.setVisible(true); }
else if(!TFrame.isVisible()){TFrame.setVisible(true); }//この辺は・・・
else{TFrame.toFront();}//おまけだから要らなきゃ消してくれ。
}
});
>>65 なるほど勉強になりました、おまけまでありがとうございます。
67 :
デフォルトの名無しさん :2005/06/22(水) 12:44:12
>>21 いまどき<APPLET>タグ使うメリットって何?
今なら<object>タグでいいのでは?
質問です。 なんでこのスレって昔からバカが多いんですか?
オマエモナー
この時間に即レスがあるあたりヒマな学生が多いってことだろ Javaしか使えない学生 → 妙な優越感 → 人を小馬鹿にすることに楽しみを感じる
Java使いに厨が多いのか、このスレに厨が多いのか・・・
オマエモナー
75 :
デフォルトの名無しさん :2005/06/22(水) 17:52:20
java製の圧縮解凍ソフトってあるんでしょうか?
Bigdecimalクラスを使った場合の算術演算で質問です。 割ったとき無限小数になる場合は問題ないんですけど、 割り切れる場合、1.500000みたいに無駄に0が出てきてしまうのはどうやって消せばいいでしょうか・・・
>>67 <applet>しか理解しないappletviewerがあるから
<applet>を記述することには意味がある。
もちろん<object>を併記するのが望ましいのは
いうまでもないけど。
>>68 「質問よろしくお願いします」なんて言われたら思わずボケたくもなる
83 :
開発環境に関しまして :2005/06/23(木) 13:08:10
javaの開発環境といえば eclipse が一番メジャーになったようですが、 ちょっと重いかな〜と感じることがあります。 Windows 版 Python の IDLE のような、CLIベースでの Java 開発環境 をどなたかご存知ありませんでしょうか。 ようするに Java のシェル環境みたいなものがあればいいな、と。
コマンドラインが好きならそのままやればとも思うが 今のIDEが重いのなら古いのを選ぶと軽くてびっくりするかもね マシンスペックによるとおもうが、開発マシンなんだし IDE使うならメモリだけは512MB以上ほしいね
85 :
デフォルトの名無しさん :2005/06/23(木) 18:11:07
>>51 ありがとうございます。おかげさまでできました。
>>52 gはGraphicsのgです。次から気をつけます、
86 :
デフォルトの名無しさん :2005/06/23(木) 18:52:14
getImageを使うためにURLオブジェクトを使いたいのだけど、 new URL("http","192.168.1.2",80,"./aiueo/aaa.jpg"); と書くとスロー宣言をしろと言うエラーが出ます。 スロー宣言をするにはどう書いたら良いんでしょうか?
>>86 > と書くとスロー宣言をしろと言うエラーが出ます。
例外をキャッチしろって言われてるのでは?
try{
new URL("http","192.168.1.2",80,"./aiueo/aaa.jpg");
}catch(MalformedURLException e){
e.printStackTrace();
}
かな?
88 :
86 :2005/06/23(木) 19:18:37
>>87 レスありがとうございます。
そのコードとimport java.net.MalformedURLExceptionを使って、
さらにnew URL("http","192.168.1.2","/aiueo/aaa.jpg");としたところ
上手くいきました。
質問です。 JDKをインストールしたあとの環境設定で、よく 「JAVA_HOMEを設定して、PATHを設定する」という記述を見ますが たとえばPATHにD:\Program Files\Java\jdk1.5.0_03\binと書くのと JAVA_HOMEにD:\Program Files\Java\jdk1.5.0_03と書いてから PATHに%JAVA_HOME%\binと書くのとでは何か違いがあるのですか? JAVA_HOMEって何かの役に立っているのですか?
90 :
デフォルトの名無しさん :2005/06/23(木) 21:04:40
91 :
デフォルトの名無しさん :2005/06/23(木) 21:19:37
名前を入力したら学生番号が出力されるプログラムってありませんか?
>89 ・たまーに環境変数JAVA_HOMEを気にするアプリもないこともない ・JDKのバージョンを入れ替えたとき、JAVA_HOMEだけ変えればPATHも変わるのでウマー
今日もバカがいっぱい
中途半端野郎が多いのがJavaの特徴
>>89 TomcatなどのJakarta製品を使うときに役立つ。
それからJavaがバージョンアップしたときに即座に容易に
対応することができるメリットがある。
>>95 じゃ、中途半端野郎が少ない言語の特徴をあげてみよ。
またその言語の名前を挙げてみよ。
アプリサーバや開発ツールなど、JAVA_HOMEを必要とするソフトウェアは多い。 いいから、書いておけ。
99 :
デフォルトの名無しさん :2005/06/23(木) 23:46:23
>>71 Javaしか使えない奴なんて聞いたことがないな。
Java使える香具師はTomcatを取り扱う都合上、大抵UNIXを使いこなしている。
ネットワークスキル、DBスキルも必要になってくる上、
Javaを使いこなすにはセキュリティやソフトウェア工学のスキルも要求される。
よってJavaを使えるようになるとD,ネットワーク、セキュリティ、ソフトウェア工学、UNIX
などのスキルが身に付くため、Javaしか使えない者など存在しないに等しいだろう。
もし、『Javaしか使えない者』がいるとしたら、
そいつはJavaしか使えないのではなく、実際には『Javaすらも使えない者だ』ということだ。
>>83 マシンパワーはいくつ?
不満なら Emacs + Apache Antはどうかな?
102 :
デフォルトの名無しさん :2005/06/23(木) 23:55:10
エンティティクラスってなんですか?
>>99 適当な理屈こねてあらしてんじゃねぇYO!
別にJavaの用途はサーブレットだけじゃないんだがな。
106 :
デフォルトの名無しさん :2005/06/24(金) 00:42:09
classpathの設定方法がどうしても分かりません set CLASSPATH=path1;path2;をclasspathの所に入力すればいいんですか?
>>102 質問に答えるその前にこちらから逆に質問させて頂きますが
どこでエンティティクラスというものを聞いたのですか?
>>106 質問の意味がわかりません。
「classpathの所」とはどういう意味ですか?
質問をするときは返答者に失礼の無いように正しい日本語を使いましょう。
109 :
デフォルトの名無しさん :2005/06/24(金) 00:48:17
>>108 申し訳ありません。
環境変数の値でCLASSPATHの値に何を入力したらよいのか分かりません。
PATHはできました
path1;path2; のところを設定するんだよ。
111 :
デフォルトの名無しさん :2005/06/24(金) 00:51:51
何を入力すればよいのでしょうか?
112 :
102 :2005/06/24(金) 00:52:26
学校の課題で・・・です。 図形を描画するメソッドを有するクラスの中にエンティティクラスを定義して その中に描画回数をクラス内の情報として残す・・・とか。
>正しい日本語を使いましょう なんでこいつこんな偉そうなの? 答えたくないならスルーすればいいのに、いちいち偉ぶらなきゃ気が済まないんだね。
ただ「もっと具体的に質問してくれない?」と書けばいいのを 他人を不快にするために&自分に陶酔するために わざとわからないフリをし、しかも偉そうなアドバイス付きw
>>114 なんかこなれてない日本語だな・・・
△ 他人を不快にするために&自分に陶酔するために
わざとわからないフリをし、しかも偉そうなアドバイス付きw
○ 他人を不快にするためにわざとわからないフリをし、
しかも自分に陶酔するために偉そうなアドバイス付きw
116 :
デフォルトの名無しさん :2005/06/24(金) 01:24:12
文字列をバイトで切りたいんですがどうやったらいいですか? 今javamailを使用したソフトを開発中なんですが、やりたいことは 本文を適当な行に分けて送りたいのです。subStringだったら文字が ずれるので・・; 超初心者な質問で分かり辛かったら申し訳ない です
JLabelにAという名前のアイコンをセットして2秒表示させた後 Bという名前のアイコンをセットして表示させたいのですが, どのようにすればいいのでしょうか? sleepメソッドを使ったらBという名前のアイコンだけ表示されて Aというアイコンは表示されませんでした。
118 :
デフォルトの名無しさん :2005/06/24(金) 01:50:08
MLのプログラムをJavaプログラムの中から使いたいんですけどどうすればいいですか?
バッチファイルでの使用例 SET PATH=c:\j2sdk1.4.2_03;c:\j2sdk1.4.2_03\bin javac -classpath %CLASSPATH%;lib/golden_0_2_0.jar;. *.java menu/*.java -d class つまり他人の作ったjarを利用している場合、そこへのパスを指定するのかな? javacを使えるようにするにはSDKへのパスをPATHで宣言すればいいんだし。
121 :
デフォルトの名無しさん :2005/06/24(金) 08:55:19
>>113 > >正しい日本語を使いましょう
>
> なんでこいつこんな偉そうなの?
> 答えたくないならスルーすればいいのに、いちいち偉ぶらなきゃ気が済まないんだね。
チミはどこの糞大学の人間かね?
チミが
>>106 と同一人物ならその発言をそのままチミに跳ね返してあげよう。
>チミはどこの糞大学の人間かね? 糞大学だと答える → バカにする いい大学だと答える → 嘘吐き呼ばわりして糞大学認定する 匿名掲示板でこんな質問するなんて 121は偉そうな上に頭も悪いことがわかりましたね。
ヒント:馬鹿な質問はスルー
>>117 sleepでもよいが、別スレッドで待つようにして描画スレッドを止めないように。
2つ質問があります。 1. JButton の色を変えたいのですが、どうすればいいのでしょう。 JButton b = new JButton("OK"); b.setBackground(Color.red); 通常これで行くはずなのですが、自分の環境でやるとボタンの色が変わるのではなく、 ボタンの淵のいろが変わってしまいます。ちなみに画面のプロパティのデザインをWindows XPのシルバー からWindows クラッシックに変えると思うように行くのですが・・・何か方法はあるでしょうか? 2. また、JFrameでsetDefaultLookAndFeelDecorated(true);をするとInternalFrame 風になると思うのですが、当方の方ではうまくいきません。 ちなみに当方の環境は、 JDK1.5: Windows XP Professional: 宜しくお願いします。
>128 自分レスです 1はJavaのバグパレードにありました。 2の方もsetDefaultLookAndFeelDecorated(true);でバグがあったような感じですが 当方のバグとは違うようです。 宜しくです。
setDefaultLookAndFeelDecoratedって普通つかわんからなぁ
3日前にJAVAの本を見ながら勉強始めた者です。 Exlipse3.xとTomcatによる簡単なWebアプリ作成を本の内容に沿って勉強しています。 本を読み進めて行くうちに「サーブレット」という言葉が出て来ました。 JSPによるJAVAアプリ作成は簡単で分かり易かったのですが、サーブレットによるコーディングは複雑で面倒です。 JSPもサーブレットの一部で、JSPを動かす時に実際に動いているのはサーブレットだ、という事は なんとなくわかったのですが、実際に直接サーブレットでコードを書いていくのは一般的なのでしょうか? もし一般的だとしたら、そのメリットというか、JSPでのコーディングとサーブレットでのコーディングの違いという物が 良く分かりません。 両者の差異や、メリットデメリットについて、簡単で結構ですので教えて頂ければと思います。 よろしくお願いします。
URLを返されるときは返ってくるデータは 301 Moved Permanently (Moved Temporalyってのもある) Location: 取り直すべきURL となっている。 xxx/ の代わりに xxx と書いたときは301だけど、s xxx/index.html の代わりに xxx/ と書いた場合はそのまま サーバがindex.htmlの中身を返してくるかもしれない。
>>132 数年前の知識だけどMVCにたとえると
サーブレットはコントローラ、JSPはビューって事になってた。
サーブレット直接書くのは変じゃないと思う。
ちなみに私すべてJSPで書きます。
>>132 サーブレットは論理の記述・モデルの定義に向いています。
複雑で面倒とのことですが、慣れれば抵抗はなくなってくると思います。
JSPはページの見た目を直感的に把握しやすくなっています。
その目的から、JSP内に記述するJAVAコードは極力減らすのが本筋だと思います。
両者をうまく使い分けることで、把握しやすいシステム作成に
努めるのが一般的だと思います。
136 :
132 :2005/06/25(土) 18:09:50
>>134 返答どうもです。
結局どっちで書いても良いって事なんですかね?(^^;
自分なりに解釈してみました。
・J2EEにによるJAVAアプリケーションは基本的にサーブレットとして動いている
・JSPで書かれたスクリプトはJSPサーバ内部で自動的にサーブレットに変換され、実行される。
・JSPで使われるタグは他の言語で言う所の関数みたいな物。一般的に使われる物は大体あらかじめ用意されている
・タグは、サーブレットで自作の物を書く事も出来る→カスタムタグ(自作関数)
・メインはJSPによるコーディング、アプリ全般に渡って汎用的に使えるカスタムタグが欲しい時はサーブレットで作る
みたいなイメージで良いのかな?
137 :
132 :2005/06/25(土) 18:17:20
>>135 返答どうもです。
いわゆるオブジェクト指向って奴ですかね?
運用の仕事をしていた時シェルスクリプトは何本も書いた事がありますが
複数の処理を連動させる際に、それぞれの処理をまず関数として書き、
メインの動作は作成した関数群をそれぞれ呼び出して実行する、という作り方をしていました。
JAVAアプリ作成の際にも、これと同じ考え方で作るのが基本で、
その際にサーブレットを活用すれば良いと言うことですね。
大体理解できました。ありがとうございました。
138 :
不逞浪士 :2005/06/25(土) 18:28:15
コンパイル
>>133 どうもです。
試しにgetResponseMessage()でやってみたらMoved Permanentlyは出てきたんですが、
Location以下が出てきませんでした。
何か別のメソッドがあるのでしょうか。
140 :
デフォルトの名無しさん :2005/06/25(土) 20:06:26
>>132 MVC2 とか言われたモデルっぽいのもの
入力データ
↓
サーブレット(入力データ解析)
↓
EJB などのロジック処理
↓
JSP(画面構築)
↓
画面出力
141 :
デフォルトの名無しさん :2005/06/25(土) 22:02:48
JAVAで 文字列: "insert into tbl values('test1');insert into tbl values('test2');"; execute(sql); みたいな感じでできますか? 1DML単位ならできることを確認したのですが、上記のような場合どうなのでしょうか。
SQL Injectionの悪寒
PreparedStatement.executeBatch() パラメータは文字列連結で設定せずに?にしておき setString()とかで設定しる
145 :
デフォルトの名無しさん :2005/06/25(土) 22:35:58
>>142 >>143 >>144 レスTHXです。
SQL Injectionって初めて聞ききました。
考慮しなくてはいけないものですね。
PreparedStatement.executeBatchはこれから調べに行きます。
ヒントくださり有難うございます。
また何かありましたらよろしくです。
>>139 HttpURLConnectionの
getHeaderField
getHeaderFieldKey
で Location を取れないのかな?
あと、
setFollowRedirect(flag)
てのもあるので、trueにしとくと勝手にやってくれるのかも。
147 :
デフォルトの名無しさん :2005/06/25(土) 22:57:17
質問です。私は、学校の授業で、継承についてやっているところなのですが 課題として、以下のプログラムを、次のエラーが出ないように直せと言われました。 Test.java:15: シンボルを解決できません。 シンボル: コンストラクタ MySub (java.lang.String) 場所 : MySub の クラス MySuper mySuper = new MySub("サブ"); 私は、コンストラクタMySub ( )を(String str)に書き換えるのかと思いましたが、できま せんでした。どうすれば、解決できるのでしょうか。どうか、教えてください。 class MySuper{ void tempSuper(){ System.out.println("スーパー"); } } class MySub extends MySuper{ void MySub(){ System.out.println("サブ"); } } public class Test{ public static void main(String[] args){ MySuper mySuper = new MySub("サブ"); mySuper.tempSuper(); } }
148 :
147 :2005/06/25(土) 23:00:33
この課題では、mainメソッドを、書き換えてはいけないと、言われました。 また、それ以外の改稿は、よいとも言われました。
>>147 学校の宿題だ。自分でやれ。しかしSJC-Pみたいな問題だな。
ヒント:void
引っ掛け問題みたいな。
151 :
147 :2005/06/26(日) 00:23:13
>>149 解決しました
コンストラクタに戻り値の型を設定する必要はなかったのですね
ありがとうございました。
んん?
>>146 setInstanceFollowRedirects(false);
getHeaderField("Location");
で試したところ
xxx => xxx/ or null
xxx/ => null
みたいな感じになりました。
条件によって違うのですかね?
とりあえずまだ調べてみます。
ありがとうございました。
>>151 もしかしたら誤解してるかも知れんから言っておくが
コンストラクタにも戻り値はあるぞ
>>154 詳しくおながいします
Hoge h = new Hoge();
の時、hに格納されるものが戻り値でつか?
156 :
デフォルトの名無しさん :2005/06/26(日) 03:10:32
J2EE1.4の日本語APIドキュメントってどこにありますか?
ジャヴァではスウィッチ文で文字列を判定できないみたいですが、 何か上手い方法はないでしょうか?
if文
Map
Cでは出来たっけ?
もちろんCでもできねーよ
>>124 もし君が本当にいい大学いけるほど賢ければ
質問の仕方も賢くなると思うんだけどねえ。
>>134 > ちなみに私すべてJSPで書きます。
アブナイ奴だ。
こいつのソースコードメンテする羽目になったら大変だ
イマドキサーブレットなんぞ書かないだろ、jspは書くけどな JSF使うにしろStruts使うにしろ
>>157 switch文は使いすぎるとコードが汚くなる
ほかの方法を使え
>>165 これのためによくServletを書くけどな。
Servlet → JSP
forward
計算や表示するまでの前段階の準備処理は
Servletやユーティリティクラスに任せて
計算結果をJSPに渡すというやつ。
でないと処理が重たくなるし。
StrutsだってAction系クラスを継承したりあれこれ書くし。
>>134 のようにJSPオンリーという奴はヤヴァイ
>>167 ああ、
>>134 を「サーブレットは書かない」という意味だとおもってた
「jsp以外にJavaコードは書かない」だと、そりゃ論外だな
でもなー クラス、メソッド定義からDB接続まですべてJSP内に 書いてしまう奴だったらキモイぞ
170 :
134 :2005/06/27(月) 01:17:53
処理は普通のクラスに書いてJSP内でそれコールしてgetter呼ぶ。 Web系なんて一番簡単な分野なのにメンテが大変ってことはないでしょ。
>>170 それがだな
デザイナとロジック部分(プログラマ担当)と担当が分かれてると
なかなかに最悪な状況が発生するのだよ
ま、PHPでもいけるぐらいの規模だったらJSPのみでもOKなんでしょ。 きっとエンタープライズシステムとかやったことないんだね、この人。
174 :
132 :2005/06/27(月) 18:11:28
なんか揉めてますが、元となった質問をした者です DBにアクセスしてログイン認証と、レコードの閲覧、編集、権限ユーザーによる特別管理 等が行えるWebアプリを作ってますが、今の所全てJSPで書いてます。 しかし、凄いぐちゃぐちゃになって人に見せるのが恥ずかしいコードになってます・・・。 DBアクセスやユーザーセッション維持、その他処理はServletに書いた方が絶対良いと分かりましたが、 この課題の期限も迫ってますし、とりあえずJSPオンリーで押し通します。 まだまだ覚える事はたくさんありそうで、少し楽しくなってきました。
Desimalu以外に厳密計算出来るようには 方法はないのでしょうか?もし、あればキーワード を教えてください
176 :
134 :2005/06/27(月) 21:05:03
>>172 生保とか元国営企業の”大規模システム”とか作ってましたが。
結局WebでやるのなんてDB引っ張ってちょちょいと加工する程度だし。
実際学生のバイトで十分。
>>173 おれのやってた時にはなかった。
システムは一人で作るものじゃないからなあ。 >134がJSPだけでシステムを構築するという考えの人だとしても、 >134と同じプロジェクトに関わってる人の意見がみんな同じだとは思えないなあ。
バグFIX等のメンテナンス性や引き継ぎをまるで考慮しないならJSPオンリーでも別に良いと思う。 要件を満たす事は大前提として、アプリを使うユーザーから速度や利便性で文句言われないなら、 簡潔にまとめられたコードなんてPGのオナニーでしかないからな。 まーでも、複数人でJSPオンリーの大規模システムの開発なんてのは出来ないor物凄く効率が悪いだろうな。 俺がPMやるなら絶対そんなんやらせない。
>>175 完全に釣りにしか見えないので、こちらも適当に答える事にする。
何桁かごとにint[]とかlong[]に入れて0に近い方から計算しれ。
配列間での桁上がり、桁下がりのロジックも書いとけ。
VBとjavaサーブレットはプログラマの最底辺ですから。
181 :
デフォルトの名無しさん :2005/06/29(水) 03:28:15
テスト
182 :
デフォルトの名無しさん :2005/06/29(水) 03:35:20
javaで、 public class Hoge{ private static final int i = (エラーをはく可能性のある式); ... } と書きたいのですが,コンパイルを通りません。try/catchでくくってもダメでした。 何かいい方法はないのでしょうか。それとも、クラス変数の初期化でこのようなことはできないのでしょうか。
staticブロックでやる。例外の処理は忘れずに。
>>184 public class Hoge{
static {
try { 初期化 }
catch (...) { }
}
}
ということでいいのでしょうか。ありがとうございました。
183ですが、 private static final int i; static { try { iの初期化 } catch (...) {} } とすると、iが初期化されていない可能性があるといわれてしまうのですが。。。
183です。解決しましたので自己レスですが失礼します。 private static final int i; static { int j = 0; try { jにエラーをはく可能性のある式で代入 } catch (...) { ... } finally { i = j;} } かなり面倒で直感的でない気がするので、きっと一般的な方法があるのでしょうが。
htmlタグが含まれるJSPの書き方についてなのですが <% String hoge = "ほげほげ"; out.print("<html>"); out.print("<p><b>" + hoge + "</b>"); out.print("</html>"); %> と書くのと <% String hoge = "ほげほげ"; %> <html> <p><b><%= hoge %></b> </html> と書くのと、どちらが好ましいでしょうか? 良い悪いの差があるなら、理由も聞かせて下さい。 よろしくお願いします。
>>182 スレ違い
>>188 普通は後者ではないか?
前者の書き方だとサーブレットでいいし、DreamWeaverにくわせても再現できんよ
>>188 上の方式だとサーブレットのみの場合と同じなので、jspを使用している意味が無い。
後者の書き方ができるのがjspのそもそもの売りでしょーよ
192 :
デフォルトの名無しさん :2005/06/29(水) 11:26:34
>>176 >
>>172 > 生保とか元国営企業の”大規模システム”とか作ってましたが。
> 結局WebでやるのなんてDB引っ張ってちょちょいと加工する程度だし。
> 実際学生のバイトで十分。
その後のメンテナンスが大変なんだよ。
そんなコードを引き継がされたら最悪。
O-Rマッピングを使えばもっと読みやすくなるのにと
思うことがよくある。
DBアクセス部分はユーティリティJavaやServlet側でやったほうがいい。
あとからカラムが追加されたので
検索条件が変わったので
コードを訂正してくれ
なんて言われてもな。
クエリべた書きは酷いもんだ。
定数化せずハードコーディングで痛すぎる。
学生バイトでもオブジェクト指向/デザインパターン、フレームワーク、
O-Rマッピングなどを徹底的に使うように支持されることもある。
かなりスキルをもった学生でないとやりにくいが。
>>188 後者が売りであることは間違いない。
以前、前者で統一しろと主張する
変な奴がいたけど。
>>192 O/Rマッピングに関してはみやすくなるとはかぎらんとおもわれ
ころころデータがかわる場合も使いやすいものばかりではないかと
というか、SQLはさすがに長年経験している技術者も多いので
パフォーマンスも出しやすいし追いやすい
逆に新人とかレベルの分からない人を扱う場合はO/Rマッピングは使いやすいかもしれない
195 :
デフォルトの名無しさん :2005/06/29(水) 15:14:04
今Java3Dを使ったアプリケーションを作成しているのですが Canvas3DにOBJ形式のファイルを表示させる方法がわかりません。 Java3DのデモのOBJLoaderはアプレットなのでアプリケーションの 方法はどうしたらよいのでしょうか? よろしくお願いします。
>>187 例外が出たのをcatchで黙って隠したら、そりゃ初期化されない
可能性が残るだろ。制御がそのまま正常終了しないように、
catchブロックで
throw new ExceptionInInitializerError(e);
とするのが正しい。
O/Rマッピングって、既存のDBに摘要するのは難しい場合が多いよな。 複合キーマッピングが正しく扱えるフレームワークが出てくるまでは 新規案件にしか使えないと思われ。 あと、遅い。
198 :
デフォルトの名無しさん :2005/06/29(水) 21:19:23
ボタンの配置を自由に決めたいのですが、どのようにしたらできますか? Button b = new Button(); ()のなかにintを四つ入れるとエラーになります。。
今度、javaで書く事になりました。 プログラムはLDA・STAの頃からやっていますし、 MSCやC++は死ぬほどやりました。 javaの良い参考書を御教授下さい。
>>199 c++できるならjavaなんて本読まなくてもできるだろ。
>>198 レイアウトマネージャについて勉強したらどうかね
それにコンストラクタの引数無視していいわけないじゃないか
基本がないようだからまずJavaの言語の基本から勉強したら
>200 そんな物? 確かに何年か前にざっと読んで簡単そうだという印象はありました。
>>202 そんなもん。いきなりライブラリの勉強すればOK。
204 :
デフォルトの名無しさん :2005/06/29(水) 22:47:20
public class Test extends Applet{ TextField t[]; public void init(){ for(int i=0;i<4;i++){ t=TextField(); …… とやったのですが、このfor文のところでNullPointerExceptionとなります。 int.shortなどの型でしか配列は出来ないんですか??
205 :
デフォルトの名無しさん :2005/06/29(水) 22:58:07
TextField t[] = new textfield[4]; public void init(){ for(int i=0;i<4;i++){ t[i]=TextField();
206 :
デフォルトの名無しさん :2005/06/29(水) 23:03:34
207 :
デフォルトの名無しさん :2005/06/30(木) 01:10:53
ボタンにKeyListenerをaddしたのですが,オプションペーンを何度か表示させると ボタンからフォーカスがはずれてしまって,キーボードをたたいても ボタンのアクションが起動してくれません。 どーしたらよろしーでせうか?
208 :
デフォルトの名無しさん :2005/06/30(木) 01:12:00
UBASICについてお聞きしたいのですが…
210 :
デフォルトの名無しさん :2005/06/30(木) 03:51:19
>209 JFrameを使ってGUIプログラムを作成しています。 2つのボタンを操作してプログラムを進めていく仕組みになっています。 せっかくだからキーボードで操作する機能もつけたいなと思い ニーモニックキーをセットしたのですが、それだとALTキーを押さなくてはなりません。 そこでKeyListenerをaddしてキーボードからでもボタンを操作できるようにしたのですが KeyEventが発生させられるのはボタンにフォーカスが当たっているとき (ボタンの文字が□で囲われている時)だけなので,JOptionPaneを表示させると ボタンからフォーカスがはずれてしまってKeyEventを受け取ってくれなくなる。 という状況です。
211 :
デフォルトの名無しさん :2005/06/30(木) 04:26:49
javaでOS作りたいです。 jvm自作ってできますか? ブートしたら、即効JVM付のコンソールのみにしたいんです。
>>211 コンソールだけ作ればいいんとちゃうか?
213 :
211 :2005/06/30(木) 04:50:26
あっ、すいません。説明不足でした。 コンソールを作っても後から結局JVMを自作しなくてはなりません。 その場合、コンソールをプログラムしているC等の他言語上にJVMが動いている 事になり、java純粋環境ではなくなる気がします。 で、jvmの自作ってできるんですか?
東亜+のスレでフシアナにひっかかったヤシいるんだけど
これってホントですか?
ppp1958jp.Japopiconst.fmprc.gov.cn<ここだけ手打ちみたいです
Domain Name: fmprc.gov.cn
ROID: 20021209s10061s00004421-cn
Domain Status: ok
Registrant Organization: 中?人民共和国外交部
Registrant Name: 夏国?
Administrative Email:
[email protected] Sponsoring Registrar: 网?中心
Name Server:ns.fmprc.gov.cn
Name Server:ns3.fmprc.gov.cn
Registration Date: 1997-12-15 00:00
Expiration Date: 2005-12-15 00:00
回線切られて逆探知できなかったっていってたけど
もしホントだったら、、
>>213 213がjvmを作るのを誰もとめないと思うぞ。がんがんやれ。
216 :
& ◆yP4x.GIgP2 :2005/06/30(木) 05:32:25
がんばって作ります。 ありがとう
>>210 なんとなくわかった。
JOptionPaneが閉じるときに該当フレームにフォーカス当てればいいのちがうか。
しかし普通タブでフォーカスあわせてエンターちがうの?
>>188 後者です。JSPの目標は「なるべくJavaを意識させない」です。
>>210 フォーカスがどんな状態でもキーバインドを作動させたいということでしょうか。
KeyEventDispatcherを定義して、KeyboardFocusManagerに追加する方法があります。
KeyEventDispatcher ked = new KeyEventDispatcher() {
public boolean dispatchKeyEvent(KeyEvent ev) {
if (ev.getID() == KeyEvent.KEY_PRESSED) {
if (ev.getKeyCode() == KeyEvent.VK_A) {
buttonA(); // 「a」キーが押されたらボタンAを作動
}
}
return false;
}
};
KeyboardFocusManager.getCurrentKeyboardFocusManager().
addKeyEventDispatcher(ked);
詳しくは、APIドキュメントなどを読んでみて下さい。
219 :
188 :2005/06/30(木) 19:19:53
回答してくれた方ありがとうございました。 後者の方が良いのですね。 既に全部合わせると800行くらいになるWebアプリ作成課題を前者の方式でJSPのみで書いてしまいました・・・。 DB接続やセッション管理等も外に出したいし、条件式のまたがり方もぐちゃぐちゃになっているので、 今から手作業で直すとなるとちょっと気が遠くなります。 前者で書かれた物を後者のフォーマットになんとなく直す みたいなツールでも作ってみようかな。
GUIでラジオボタンの選択判定についてなんですが if(ここの表記方法) // windowクラスのラジオボタンBall2が選択されているとき { if(e.getSource() == window.b_up) // windowクラスのupボタンが押された { bc.scenario5(); return; } 最初のifの()のラジオボタンの選択判定がうまくいきません。どなたかご教授お願いします。
221 :
デフォルトの名無しさん :2005/06/30(木) 19:44:48
抜けてました。 public void actionPerformed(ActionEvent e) { if(ここの表記方法) // ラジオボタンBall2が選択されているとき { if(e.getSource() == window.b_up) // upボタンが押された { bc.scenario5(); return; } else if(e.getSource() == window.b_down) // downボタンが押された { bc.scenario6(); return; }
223 :
デフォルトの名無しさん :2005/06/30(木) 21:26:07
ファイルを一つのStringにしたいのですが何か?
javaでアプリケーション作れるんですか?
釣りかね
226 :
220 :2005/06/30(木) 23:27:01
>>222 ありがとうございます。参考にさせてもらって作り直してみます。
227 :
デフォルトの名無しさん :2005/06/30(木) 23:29:59
文章を入力させ、ある特定の文字が何文字含まれているか 返したいのですがどんな方法がありますでしょうか?
228 :
220 :2005/06/30(木) 23:48:59
違うオブジェクト(ファイル?)のものを参照しているので public void actionPerformed(ActionEvent ae) { 以降のgroupが認識されないのですがどうしたらいいでしょうか・・・。 Window というバウンダリクラスでボタン、ラジオボタンの設置をして、 メインでボタンが押されたかどうか? そのときラジオボタンはどこがtrueか? という処理をさせています。
230 :
デフォルトの名無しさん :2005/06/30(木) 23:50:25
Runtime.exec()でサーバ内にあるSQL文を発行するシェルを実行するプログラムを作成しています。 シェルの実行時に吐き出される出力をProcess.getInputStream()で取得して、System.out.println() で出力しています。その際、シェルの出力を読み出しているのですが、出力の文字数がある一定数を越えると、実行したシェルのプロセスが終了しない状態になってしまいます。 バッファがいっぱいになり、外部コマンドがその出力待ちで途中で止まっているのではないかと 考えているのですが、回避策などはありませんでしょうか?
>227 やりかたはいろいろあると思うが…… とりあえず脊髄反射で思いついたのは正規表現で拾い出して文字数数える。 ↓以下、もっとまともな解きぼんぬ
>>228 違うクラスに作らなきゃ駄目な理由があるのなら、
>window.b_down
と同じようにすればいいじゃん。
window.groupとか。
233 :
220 :2005/07/01(金) 00:06:37
if(e.getSource() == window.ball2) // ラジオボタンBall2が選択されているとき { if(window.group.getSelection().getActionCommand().equals("b") ) { if(e.getSource() == window.b_up) // upボタンが押された { bc.scenario5(); return; } こういう表記をしてみたのですが BallController.java:198: シンボルを解決できません。 シンボル: 変数 group 場所 : BallWindow の クラス if(window.group.getSelection().getActionCommand().equals("b") ) ^ BallController.java:224: シンボルを解決できません。 シンボル: 変数 group 場所 : BallWindow の クラス else if(window.group.getSelection().getActionCommand().equals("c ") ) // ラジオボタンBall3が選択されているとき ^ エラー 2 個 とエラーが出てしまいました。
234 :
デフォルトの名無しさん :2005/07/01(金) 00:15:45
PATH設定するときにもともと書かれてあったものを消してしまいました。 どうすればいいでしょう??(;´Д`A ```
いや、「特定の文字」が何個かあるとめんどっちいな、と思い。 最近スクリプト言語ばっかいじっててしかもお手軽に書いてすませてるから 文字列処理には正規表現、と脊髄反射してしまうのでつよ。……まともなスクリプターの皆さんスマソ。 // 本当に複数の決まり切った文字数個、なら // candidateString.indexOf(targetString.charAt(n)) >= 0 という手もあるか。
正規表現使うなら、 "入力文字列".replaceAll("[^特定の文字]+", "").length() かな。 「特定の文字」じゃないのを削り取って 残った「特定の文字」のみの文字列の長さを求める。 富豪的かも。
正規表現だと、メタ文字をエスケープする必要があるし かえって面倒じゃないのか?
Pattern.quote一発ではある、ま、一応な。
String s = "あいうえおいろはにほへと"; int い_と_ろの数 = s.replaceAll("[^いろ]", "").length(); System.out.println(い_と_ろの数);
20分前のレスにかぶったよ、、、 _| ̄|○
>>237 >文字列処理には正規表現、と脊髄反射してしまうのでつよ。
うひ、その脊髄反射は改めた方がいいよ。
単純な文字列処理には正規表現を使わない方が効率が良いことがままある。
>……まともなスクリプターの皆さんスマソ。
って言ってるから多分分かってるとは思うけど。
246 :
デフォルトの名無しさん :2005/07/01(金) 10:58:46
あるフレームAを親としてフレームBを表示させるにはどうしたらいいのでしょうか?? フレームBはフレームAの設定を変える画面を想定しています。
247 :
220 :2005/07/01(金) 11:08:50
>>222 さんの表記で色々やってみたのですがやはり認識されませんでした。
group.getSelection().getActionCommand().equals("a")
等の表記は同じクラス内でしか使用出来ないということでしょうか・・?
String str = "ほげほげ"; int count = str.split("なんかの文字列(正規表現)").length-1; これが使うとき楽でいいのでは 文字だけでなく文字列も可能だし、正規表現も可能
249 :
235 :2005/07/01(金) 18:47:37
そういやJavaって正規表現のためにパッケージが必要なんだっけ。 確かに文字列じゃなくて文字だったらだるいな。 ちなみに正規表現を使う場合は俺だったらこうやる↓ int cnt = 0; String str = "hoge"; while (Pattern.compile(正規表現).matcher(str).find()) cnt++;
なんでパッケージが必要なんだよ 標準APIだぞ
>>246 JFrameのコンストラクタなら親フレームを引数にとるのがあったと思う。
>>249 毎回毎回 compile と matcher を呼び出すおつもりですか。
253 :
デフォルトの名無しさん :2005/07/01(金) 21:01:33
宿題が出てるんですけど、分かりません。教えて下さい! 1.問題を表示し、正解するまで質問を繰り返すKadai1.javaを作成せよ。 実行例) アメリカの首都は? 1:ボストン 2:サンフランシスコ 3:ワシントン 4:シカゴ 1 間違い!もう一度! アメリカ合衆国の首都は? 1:ボストン 2:サンフランシスコ 3:ワシントン 4:シカゴ 3 正解!
255 :
デフォルトの名無しさん :2005/07/01(金) 22:25:53
JAVAで簡単な絵を描きたいんですけど、なかなかうまくできません。 どなたか簡単な例を教えてもらえませんでしょうか? ケーキにろうそくがのったのを書いてみようと思っているんですけどなんかエラーばっかりで、、、。
そういう絵を描いて読み込んだ方が楽じゃないか?
257 :
デフォルトの名無しさん :2005/07/01(金) 22:40:27
なんか、四角とか丸とか線とかを使って絵を描く宿題がでたんですけど、なんかうまくできなくて、、。 読み込むってそういうソフトがあるのでしょうか?
>>257 ああそりゃ座標とかサイズとかあわせんの面倒だろうな
ペイントブラシとかは座標が表示されるから
それで四角とか丸とか線とかで絵を書いてみて、寸法を取ればいいだろう
259 :
デフォルトの名無しさん :2005/07/01(金) 22:49:09
ちょっと勉強不足みたいなんでもうちょっと調べてみます。 ありがとうございます。
というか 宿題は宿題スレで訊いて下さいおながいしまつorz
StringBuffer buf4=new StringBuffer("12345-6789"); int len=buf4.length(); /*buf4.setLength(5);*/←ここの位置ではコンパイルエラーなし。 System.out.println("文字列の切り詰め:"+buf4.setLength(5));←ここでは ↓ Sample3.java:18: ここで 'void' 型を使用することはできません。 System.out.println("文字列の切り詰め:"+buf4.setLength(5)); なんでコンパイルできないの?void型ということは戻り値なし型というけれ どエラーの意味がわかりません。
まず言語の基本からやったほうがええ System.out.printlnも普通のメソッドだぞ
string + void
それで東大だとは言わせないぞ。
長さを指定するこのに帰ってくる値ってなんだよ。 優しく、 文字列の切り詰め:OK とでもして欲しいのか
267 :
デフォルトの名無しさん :2005/07/02(土) 20:32:56
BigDecimalをカンマ書式に変更するにはどうしたらいいのでしょうか? DecimalFormatを使うのでしょうか? DecimalFormatは、BigDecimalを double型に変換して書式化しています。 これは小数点以下の数値とかの 丸め等の問題を考慮した場合でも安全なのでしょうか? だれか教えてください。 下記のようなプログラムでは、BigDecimalの値が正常に書式化されません。 DecimalFormat f = new DecimalFormat("#,###.#"); BigDecimal b = new BigDecimal("12345678901234567890"); System.out.println(f.format(b)); 出力結果 12,345,678,901,234,567,000
JREはなに? まったく同じコード書いたらきれいにでてるけど printfでも同様なのを確認
>>267 おすすめは
Tigerから登場した
String.format()
または
>>268 がいっているもの
あれがあれば10の1000乗桁の値もStringや標準出力にに出力できる。
DecimalFormatでも普通に出力されるなぁ
271 :
デフォルトの名無しさん :2005/07/02(土) 21:24:52
>>261 コメントの意味わかる?
メソッドってわかる?
クラスってわかる?
変数ってわかる?
だな。
>>267 がDecimalFormatのドキュメントをしっかりよめば解決するこったな。
検索すればサンプルはいっぱいでておるのお。
273 :
デフォルトの名無しさん :2005/07/02(土) 21:29:31
こんばんは。 linux上で動いているtomcat5.0が落ちていないか15分おきにチェックして 落ちていたら起動させる仕組みをcronで作りたいと思っています。 既にtomcatが起動していてtomcatを起動しようとしても2重起動はされないので 15分おきにstartup.shをたたくようにしておけば良いかなと思っているのですが このやり方はあっているのでしょうか?
いや、それってLinuxの話だと思う だってTomcat間ケーねーべ ま、起動しているJavaのプログラムを知る方法はあるんだけどな psコマンドみたいなもの 以外にみんなしらないだろ
275 :
273 :2005/07/02(土) 21:35:25
>>274 その魔法のようなコマンドをぜひ教えていただきたい
お願いします
276 :
デフォルトの名無しさん :2005/07/02(土) 21:38:48
JFileChooserで最初に開いたときのフォルダの指定できますか? いつもMy Documentsになってしまうんで困ってます。
>>275 これはJavaの話でしたね
$JAVA_HOME/bin/jpsコマンド
JMXの解説読んでて俺も初めて知ったんだけどさ
ま、いずれ浸透していくっしょ 知ってて自慢できるのは今のうちかな・・・
(ちなみに1.4にはこのコマンドはない模様)
new JFileChooser(String currentDirectoryPath) new JFileChooser(File currentDirectory) どっちでも好きなほうで
public JFileChooser() ユーザのデフォルトディレクトリを参照する JFileChooser を構築します。 このデフォルトディレクトリは、オペレーティングシステムに依存します。 通常、Windows では「My Documents」フォルダ、Unix ではユーザのホームディレクトリです。
281 :
273 :2005/07/02(土) 21:49:31
>>274 ありがとうございます
残念ながら今の環境はjdk1.5はメモリの関係上インストールできません
それで1.4を使っているのでそのやり方は無理なようです
273のやりかたはだめでしょうか?
システムにかかる負担の点などもふまえて
>>273 serviceで動かしているのなら、
ps ax | grep `cat /usr/local/tomcat/logs/tomcat.pid`
とかやればいいんじゃね?
UnixかLinux板のシェルスクリプトスレで聞いた方がいい気がする。
283 :
デフォルトの名無しさん :2005/07/02(土) 21:56:01
>>278 , 279, 280
ありがとうございますm(_ _)m
こんなに簡単に指定できたなんて知りませんでした。
ならばファイルを開くダイアログで指定した拡張子のファイル以外
絶対開かせないようにするということも出来ますか?
一応フィルターを使っているので,拡張子を指定することは出来るのですが
"すべてのファイル"の項目が出現してしまうので,
自分が想定した拡張子以外のファイルも開けてしまいます・・・
284 :
273 :2005/07/02(土) 21:56:14
ありがとうございました そちらで聞きます
>>283 できますよ Javaをなめないでください
ディレクトリのみとか、*.txtファイルのみとか
>>285 それはどこのクラスのメソッドですか???
*.txtという拡張子だけにしたいのですが・・・
>>286 きみねぇ・・・もっと勘を働かせて取り組もうよ
GUIアプリ以前にFileクラスからやったほうがいい
FileクラスにはlistFiles()っていうメソッドがあって
コイツは指定したディレクトリ内のファイルディレクトリをすべて配列に格納して返してくれる
コイツに条件付のフィルターかませばそれに一致したファイル一覧を配列で取得してきてくれることも出来る
それと同じ機能があるとかんがえれば答えでてんだろ
288 :
デフォルトの名無しさん :2005/07/02(土) 22:14:26
>>268 J2SE 1.3.1_08 です。
J2SE 1.4.2_02 でもダメです。
J2SE 1.5 なら正常に出力されるんですね。
J2SE 1.5 はまだ使える環境ではないので、J2SE 1.3.1 で解決する方法を探しています。
>>272 J2SE 1.3 のドキュメントには、『double の仮数をオーバーフローする整数を正確に・・・』
と書いてあります。 J2SE 1.3 を使用して解決する方法が何処かに書いてあるのですか?
いろいろ探してみましたが分かりませんでした。
検索のヒントを教えていただけませんか?
あきれるほどマニュアル読んでないな
290 :
286 :2005/07/02(土) 22:21:57
>>287 ExtensionFileFilter filter = new ExtensionFileFilter();
filter.addExtension("txt");
っていうのは既に出来ています.
でもフィルターかませても"すべてのファイル"っていう項目は消えないのでは??
>>290 自分で調べないから初心者なのさ。
調べる気がないのか、調べる方法を知らないのか、
調べる方法を忘れてしまったのかは人によるが。
>>290 俺、質問の読み取り間違えたな
「すべてのファイル」がデフォルトで選択されているの?
それであればおかしいが
最初、*.txtが選択されているのであればOK
「すべてのファイル」はどのアプリでも(他のJava以外のWinあぷりでも)あるので無問題
選んだそいつが間違っている
>>292 いえ,一応はtxtがデフォルトになってるのでOKなんですが・・・
もしも拡張子を間違うとエラーメッセージがうようよ出てくるのでどうにかしたいと
思っているところです。
>>291 調べる方法が分かりません。
俺の調べる方法 == 此処です。
>もしも拡張子を間違うとエラーメッセージがうようよ出てくるのでどうにかしたいと >思っているところです。 いや、でもそれってアプリで例外出る前にアプリ側で調べてエラーダイアログ出すようにするのが普通だと思うよ 「△サポートされないファイルです」みたいに
>>293 >俺の調べる方法 == 此処です。
釣り・・・だよね?
>>295 ま,実際はyahooが最初だったりします。
>>294 確かにそうですね。
普通に考えりゃ絶対パスにendWithかけてやりゃ済むことなのか・・・
馬鹿丸出し( ´∀`)
>297は飢えた人に釣った魚を与える代わりに魚の釣り方を教えた賢人 GJ
>>297 そういうこと早く卒業できるようにしろ
そういうこと書いて悦に浸っているうちは、初心者だ
>
>>291 > 調べる方法が分かりません。
> 俺の調べる方法 == 此処です。
本気でこういっているとしたら
チミは死んだほうがいいよ。
バカは死ななきゃ直らないから。
Yahooは知っていてGoogleを知らないからここで質問
する以外に調べる方法をしらない。
>>296 はアフォだ。甘ったれんな餓鬼。
自分の宿題もレポートも他人にやらせて喜んでる奴か。
そんな奴にいちいち丁寧に手取り足取り答えるための労力
を誰もが費やすと思っているのかと。笑いが止まらないな。
調べる能力さえあればなんでもできるんだ
>>298 > >297は飢えた人に釣った魚を与える代わりに魚の釣り方を教えた賢人
> GJ
そういえばそういう賢人がすくないものだな。
魚の釣り方も教えず
釣った魚を与えただけで偉くなったと勘違いしてる奴、
魚を貰っただけでバカみたいに喜んで魚を与えた奴を喜ぶ餓鬼
周りにはそんな奴ばかりだ。
世の中の8割以上の人間がこういう奴ばかりだから呆れる。
バカ親やバカ教育を押しつけたバカ教師が多いのも原因だが。
どうでもいいが喜ぶって他動詞で使うか?
Yahooは知っててGoogleしらない学生ってホントに多いんだね。 それってプログラマとして(ry
Googl知ってるかなど関係なく、物事の調べ方が解らないヤツはアホ
Java で web 上のファイル (主に画像) をダウンロードするには どうすれいいんでしょうか? ググってみても見つからなくて… よろしくお願いします
普通にHTTPでとってくればいいのでは?
>>309 一例
try {
BufferedImage image = ImageIO.read(new URL("
http://hoge/image.jpg "));
} catch (IOException e) { e.printStackTrace(); }
312 :
デフォルトの名無しさん :2005/07/03(日) 14:22:32
みんなよくわかるよなー、 教えてくれよJAVA、訳わからんよJAVA
313 :
309 :2005/07/03(日) 14:52:58
お早いレス、ありがとうございます
>>310 HttpURLConnection を使って接続して、
InputStream を取得してファイルに書き込んでみたのですが、
途中で read した値がおかしくなる (?) ようで、
画像が壊れていました…
もう少し検証してみます
>>311 さっそく試してみます
314 :
309 :2005/07/03(日) 15:04:18
>>313 の HttpURLConnection を使っていた方は、
read した値は別におかしくなってはいませんでした (汗)
ただの勘違いだったようで…
最終的には、
>>310 さんと
>>311 さんの方法どちらでも
画像を取得することができました
ありがとうございました
お子様用検索エンジン => Yahoo 玄人検索エンジン => Google
goo, exciteもオコチャマ?
>>316 日本語の他動詞と英語の他動詞は全くの別物だ。
@IT ITmedia みるといい
hikoboshi.servletってなに? どっかで配布してるの?
>>307 あ〜何だっけ君、君、
情報系で医者の息子を嫉んでる君、
まだ言ってんの? w
drawlineで表示される線なのですが、 通常では一気に表示されてしまいますが、 徐々に表示させる方法はあるのでしょうか?
>>323 スレッドを使って徐々に描画せれ。アニメーションと同じだ。
JAVAのライセンス関係ってどうなってるの? 例えば、JAVAで作ったソフトを公開したり、 売ったりするのって、誰にも訴えられないですか。? 教えてエロい人。
Java のソースやパッケージに他所からパクったものが含まれて無ければ問題ない。 JRE のみなら承諾のみでバンドル配布も OK なんじゃなかったかな。
327 :
323 :2005/07/06(水) 13:30:00
>324 できましたd!
328 :
デフォルトの名無しさん :2005/07/06(水) 15:35:26
ちょっとお伺いします。 MIDPでOKな、 Image Img1 =Image.createImage(Img0); ですが、 DOJA3.5ではエラーが出ます。 DOJA独自のメソッドを使わないとダメでしょうか?
ドコモってMIDPじゃねぇだろ
はい。MIDPのソースを移植してます。 Image Img1 =Img0.createImage(Img0.getWidth(),Img0.getHeight()); こんな感じで大丈夫でしょうか? まだその他のエラーで動かないので確認できません。
>>326 回答ありがとうございます!
承諾ってSunなんですか?
332 :
331 :2005/07/06(水) 17:28:55
すみません。書き方悪いッスね。。。 承諾はSunからもらうんでしょうか?
JREの再配布規定はドキュメントに書いてある 日本語のはサイト上にあるはず
Tomcat5.5 の JSP2.0 の function で文字列連結できまへんか? やりたいことは AAA はリクエスト属性、BBB は直書きとした場合、 ${hoge:hage(AAA + "BBB")} のように hage 関数に連結した文字列を渡したいんです。 JDK5.0 の可変長引数を使って関数内で連結しようと思ったら、 TLD も EL も未対応ですた。。。
2.0文法はきっぱりあきらめる
336 :
デフォルトの名無しさん :2005/07/07(木) 00:36:08
やさしいJavaを読みました。 次に読む本のおすすめは?
337 :
デフォルトの名無しさん :2005/07/07(木) 00:47:20
String型の"2005-07-07"という文字列を Date型に変換しようとするとどうすればいいのでしょうか? 教えてください
338 :
デフォルトの名無しさん :2005/07/07(木) 00:50:32
SimpleDateFormat
この程度すら検索で解決できないんじゃあ おまえに先はないんじゃない?
出し抜かれながら説教してます。ププ
String Date 変換 Java で検索して一件目に答えが出る件について
質問です。 Javaで2Dの単純なゲームを作っているのですが、やたらと動作がカクカクします。 処理落ちしてるのかを確認したいのですが、その方法はありますか?
処理落ちしてるかはフレームレート計ればよろしいのでは そして1フレームあたりのナノ秒計測したり FullGCがはいってないか調べたり フルスクリーンでなければティアリングだったという話もある
344 :
デフォルトの名無しさん :2005/07/07(木) 12:41:33
Javaってなんでむつかしいんですか?
Cです
347 :
デフォルトの名無しさん :2005/07/07(木) 13:47:31
長作で〜す
>>346 CとJavaの何を比較して何故むつかしいと思っている?
>>348 そこは三波春夫でございますと言ってからつっこまなきゃいやん。
>>349 概念というか、いろいろある専門用語が良く理解できませんです。。。
まさか今どきオブジェクト指向の話?
そうそう、object指向
抽象オブジェクトとか継承とか委譲とか、ポリモーフィズムとか面倒な用語があるが そんなもんはプログラム書いてればだんだん理解できる。 まずは試行錯誤しながら色々書いてみれ。 よくできた簡単なフレームワークとか使いながら書いてると、それぞれの概念の 使いどころがわかってくるから。
354 :
デフォルトの名無しさん :2005/07/07(木) 17:45:18
JDK 1.5.0_04 入れてみたんですが、 ArrayList<型> 配列名 = new ArrayList<型>(); とかがコンパイルできません。 いままでは1.4を使ってました。 どなたかご教授願います。
インポートしてないとかじゃないよな?
>>354 「コンパイルできません」なんて自分の言葉を使わずに、エラーメッセー
ジを書きましょう。
357 :
354 :2005/07/07(木) 18:34:50
>>355 java.util.ArrayList;
ちゃんとインポしてます。
>>356 すいません、鬼のようにエラーメッセージがでるもので..
※ArrayList<Sample> list = new ArrayList<Sample>();
list.add(new Sample());
...
※list.get(index).method();
上の※印のところでエラーがでます。
1.4のやり方で
ArrayList list = new ArrayList();
list.add(new Sample());
...
((Sample)list.get(index)).method();
とかにすると出来るんですけど、これだと1.5の意味が無くて...
>>357 java -version と実行して、ちゃんと1.5が使われているかを確認汁。
359 :
357 :2005/07/07(木) 18:53:02
java version "1.5.0_04" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05) Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
なんでエラーメッセージを書かないんだよう。先っちょだけでいいから!
SDKは1.4な予感
>>359 コンソールから
echo %JAVA_HOME%
echo %Path%
と打ってみろ。
開発環境は?コンソールからjavacコマンドを直接叩いているのか?
Eclipseなどを使っているのか?使っているならバージョン晒せ。
それから、エラーメッセージを書けと言われてるのになぜ書かない?
それだけで「おまえには何をアドヴァイスしても徒労に終わる悪寒」と
思うやつは多いぞ。
363 :
359 :2005/07/07(木) 20:11:43
ほんとにスイマセン。 今やったら何事も無かったかのように出来ました。 何も変えてないのに.. ご迷惑おかけしました。
>>363 何もしてないわけ無いんだが(w
そんな態度じゃ、次になんかあっても誰も答えてくれないだろうな。
(´-`).。oO(結局なんでエラーメッセージを書かなかったんだろう?)
どこの技術系掲示板でも毎日のようにおこる出来事 「自己解決しました」といってどう解決したかを記さない
書きたくても書けないんだよ。 どういうオチかは予想できる
PATHなのかな。やっぱり。
勝手に被害者気分になって嫌気がさして、 解決したことにして撤退だろ。
(´・ω・) カワイソス
371 :
デフォルトの名無しさん :2005/07/08(金) 03:48:52
int x=(int)(Math.random()*100); って書いたとしたら、これは1〜100の中からランダムに一つ選ばれるんですか? それとも0〜100ですか?
374 :
371 :2005/07/08(金) 04:58:23
>>362 ホントに徒労に終わっちゃったね・・・・
/ ̄ ̄ ̄ ̄\,, /'''''' '''''' \ /_____ ヽ / (●), 、(●) \ | '''''' '''''' | | / / ,,ノ(、_, )ヽ \ ヽ |(●) 、(●) |___/ |/ ── | ── ヽ | | ,,ノ(、_, )ヽ 6 l |. ── | ── | | . ヽ `-=ニ=- ' ,-′ | ── | ── | l ヽ `ニニ´_ /ヽ ヽ `-=ニ=- ' / / / |/\/ l ^ヽ \ `ニニ´ / / | | | | l━━(t)━━━━┥
きもいぞ
378 :
デフォルトの名無しさん :2005/07/08(金) 09:38:33
以下のような、次の値を取得するメソッドを作りたいのですが、 0→1→2 ... 9→A→B ... Y→Z やはり英字部分のところは一つずつ対応しなくてはダメなんでしょうか? 何か他にもっと簡潔なやり方などありましたらご教授願いたいです。 String getNextValue(String val){ //↓こんなのをZまで書かなくてはダメですか? if (val.equal("A")){ return "B";} else if (val.equal("B")){ return "C";} ・・・ }
380 :
デフォルトの名無しさん :2005/07/08(金) 10:40:23
String values = "\00123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int getNextValue(int c) { return values.charAt(values.indexOf(c) + 1); }
381 :
デフォルトの名無しさん :2005/07/08(金) 10:45:36
×String values = "\00123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; ○String values = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
382 :
デフォルトの名無しさん :2005/07/08(金) 10:48:10
×String values = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; ○String values = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
sage
>379->382 どうもありがとう。助かりました。
String getNextValue(String val){ return ((char) (val[0] + 1)).ToString(); }
String getNextValue(String val) { return String.valueOf( ((char) (val.charAt(0) + 1))); }
387 :
デフォルトの名無しさん :2005/07/08(金) 12:32:34
class Test{ public static void main(Strlng [] args){ Test obj = new Test(); int i = obj.foo() System.out.println(i); } public int foo(){ static int i; i = 10; return i;}} static int i;の所でエラーになるのですが、何故ですか?
>>387 Cと勘違いしてない?
静的フィールドは、メソッドではなくクラスで定義するものです。
こんにちは、初めまして。 学生で恐縮なのですが、学校でJavaを習い始めました。 秀丸を使ってソースプログラムを書いてます。 Javaの強調定義ファイル?なるものが便利だと教えられました。 皆さんが実際使ってみて便利だと思う 秀丸+強調定義ファイルを 教えていただけませんでしょうか? 現在は「java15-kfujie.hilight」これを使っております。
開発効率を考えると強調程度ではなくて 補完までしてくれるIDEがほとんどだと思われ
それはクラス名羅列型なのでお勧めしない。 公式のライブラリで「java 正規表現」で検索してみ。 おれはそれをカスタマイズして使ってる。
392 :
デフォルトの名無しさん :2005/07/08(金) 17:39:14
ストリームと、ソケット、閉じる順番に意味はあるの? フィルタストリームとノードストリーム、閉じる順番に意味はあるの?
言ってる意味がわからんがフィルターストリームのソースのcloseの所見てみ
SAXである要素の(<name attr="val"/>)属性の値を得るとき、 startElementメソッド内で attributes.getValue("attr") を出力すると val となるのに attributes.getValue("attr")=="val" が false になるのは何故ですか?
>>390 ありがとうございます。自分はまだ学生でありまして多分学校の意図は
エディタで書くことも勉強の一つと考えていると思われます。
JAVAを習う前はVBを習っておりました。まだまだ若輩者でIDEと聞くと
HDDやROM類を繋ぐケーブルに聞こえてしまいますw
恐らくVB6.0の様な開発が楽になるツールだと認識しております。
>>391 公式のライブラリというのは秀丸の公式ライブラリですよね?
今すぐ検索しそちらに乗り換えようと思います。
ありがとうございました。
JDK1.4.2_08を使用しています。
ttp://www.hellohiro.com/rmi.htm こちらにあるソースファイルを落としてきて実際にコンパイルをしたのですが
javac HelloWorldObj.javaを実行すると
シンボルを解決できません
シンボル:HelloWorld
となってしまいます。どうもimplementsしているとエラーが出るようです。
java *.javaでしたら問題なくコンパイルが出来ます。
あとrmic HelloWorldObjでスタブ、スケルトンを生成しようとしたのですが
クラスHelloWorldObjが見つかりませんと出て、生成することが出来ません。
原因がよく解らないので、教えてはいただけないでしょうか?
>>398 そのページを書いた人に聞いてください。
400 :
398 :2005/07/09(土) 18:20:16
HelloWorld.javaはHelloWorldObj.javaのinterfaceです。 エラーを詳しく書くとこのように出ます。 public class HelloWorldObj extends UnicastRemoteObject implements HelloWorld{ ^ このように出ます。 よろしくお願いします。
>400 そのページを書いた人に聞いてください。
402 :
398 :2005/07/09(土) 18:38:52
>java *.javaでしたら問題なくコンパイルが出来ます。 すげえ。
405 :
デフォルトの名無しさん :2005/07/10(日) 02:51:03
hashCodeメソッドって戻り値intだけど たとえばintの最大値を超える数を扱うHashMapは作れないって事?
406 :
デフォルトの名無しさん :2005/07/10(日) 02:53:15
あ、すまんequalsがあるから おなじhashCodeでもその下に次元分けて格納すればいいんだ スマソ
407 :
デフォルトの名無しさん :2005/07/10(日) 04:38:26
みなさんにお知恵を貸して頂きたいのですが 配列で0〜19を定義して、それに0〜9の数字をランダムで二個ずつ 代入するにはどのようにすればいいでしょうか?
List に 0, 1, ..., 9, 0, 1, ..., 9 と入れ、Collections.shuffle()、List.toArray()
即レスありがとうございます! なんとかできそうです!
メゾットってなんや?
リゾット
メゾット の検索結果 約 4,070 件中 1 - 100 件目 (0.32 秒)
メリット
パトリオット
鏡の中の
>>322 医者の息子?君もキチガイストーカーだね。
君が医者の息子だったらなんでプログラマなんてやって
こんなスレに書きこんでるんだいw
医者の息子すべてがGoogleを知らないわけじゃあるまいしw
>>350 デザインパターンで引っかかるクチかな?
メゾット剣を手に入れた。 ……サルバンの破砕日で潰れてくる...λ
メゾン一刻
メーザー砲
リンスのいらないメリット
カソード アノード ダイオード
メゾ ソプラノ メソッド
メッサーシュミット
めそめそしたメソッド
method
427 :
デフォルトの名無しさん :2005/07/10(日) 21:36:47
皆さんに質問です。 main()メソッドを書くとき、 そのクラスのコンストラクタはprivateにしておきます? そして public static final void main(String[] args){} も public static final void main(final String[] args){} としておき、 さrないmainメソッドがあるクラスをfinal宣言しておきます? Eclipseのcheckstyleプラグインが容赦なく警告した結果 このようになったのですが・・・。 皆さんcheckstyleの扱い、どうしてます? 無視してます? それとも、chekstyleの言うとおりにしています。 すべて言うとおりにすると1万件も現れてきりがないのですが できる限りのことはやってみようと思っています。
メソドロジー 方法論
429 :
デフォルトの名無しさん :2005/07/10(日) 21:44:47
例外処理についてですが catch文には e.printStackTrace(); をつけておきます? もしくは全くつけないかまたは System.out.println(e); e.printStackTrace(); という文を書き加えます?
javaだとエラーは System.out.println(e); e.printStackTrace(); どちらでも出るぽい。でも確実性求めるならe.printStackTrace(); 完ぺき主義者なら System.out.println(e); e.printStackTrace(); 2個とも。
>>429-430 API仕様にe.printStackTrace()の内容にe.toString()の内容が含まれる
ことが明示されているから二つはいらない。
432 :
431 :2005/07/10(日) 21:56:21
正確にはe.printStackTrace()するならSystem.out.println(e)は いらないってことね。
433 :
デフォルトの名無しさん :2005/07/10(日) 21:57:18
>>430 そうですか。わかりました。ありがとうございます。
あと気掛かりなんですが
DB接続の例外処理の扱いってどうしてます?
これで物足りないものってあります?
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
(ry
} catch (SQLException e){
(ry
} catch (Exception e){
(ry
} finally {
try{
if(conn !=null && conn.isClosed()){
conn.close();
}
if(ps !=null && ps.isClosed()){
ps.close();
}
if(rs !=null && rs.isClosed()){
rs.close();
}
} catch (Exception e1){
System.out.println(e1);
e1.printStackTrace();
}
}
434 :
433 :2005/07/10(日) 21:58:24
すみません。isClosed()のところに!をつけるのをわすれていました。
finallyでもif使うべきなの? 俺は単に conn.colse();
>>435 このメソッドにthrows SQLExcpetion が宣言されていればそれでもいいけど
そうでないとコンパイルも通らないはずだよ?
>>433 厳密に言えばcloseの順序が逆。
ResultSet、Statement、Connectionの順にclose()するべき。
>>435 Connectionの取得に失敗した場合は、それだとぬるぽ。
>>433 クローズする順番は
ResultSet→Statement→Connectionのがいいんじゃないの。
確たることはいえないが。
>>435 try {} 内部でConnectionをオープンしてるんならifいるでしょ。
ぬるぽになっちゃうよ。
おもいっきりかぶった
>>437 >>438 ぬるぽですかーConnection取得失敗なかったからわからなかったです
勉強になりますた
void method() throws SQLException() { Connection conn = getConnection(); try { PreparedStatement ps = conn.prepareStatement(query); try { ResultSet rs = ps.execute(); try { while (rs.next()) ; } finally { rs.close(); } } finally { ps.close(); } } finally { conn.close(); } }
>>443 ネッ
あるパッケージ内の全てのpublicクラスを取得する方法はありますか?
動的にいくらでもロードできるので原理的に不可能。 最初にクラスパスを決めておくなら*.classファイルを探してくるというのでごまかせるかも。
frameを継承した実行クラスで別のクラスの変数を使うにはどうすればいいんですか?(継承せずに)
447 :
デフォルトの名無しさん :2005/07/11(月) 06:31:29
>>446 あげるの忘れてた・・・説明わかりにくくてすいません
ほかに情報をご希望でしたら補足しますのでよろしくお願いします
質問させていただきます。 何か分かる方がいらっしゃいましたらご回答お願いします。 WindowsCE機で、バーコードを読み取ってテキストに書き出し、表示しているウィンドウをリロードする処理を書いています。 バーコード読み取り部分はCE機メーカーの独自パッケージなのですが、(Scanner〜のイベントリスナやアダプタなど) 1回目の読み取りイベント発生時には1行、2回目には2行、3回目には4行……と、倍々でイベントが実行されます。 2回目以降はウィンドウの数も2枚、4枚……と増えていくので、Dispose()メソッドの 実行漏れかとも思ったのですが、実行直後にprintlnメソッドを置くとコンソール出力はされるので処理自体は行っている(?)ようなのです。 コードをご覧になって、何か気付くことがありましたらご教授ください。 scanner.addScannerListener(new ScannerAdapter(){ public void scannerValueChanged(ScannerEvent e){ String itemCD=e.getCodeValue(); try{ BufferedWriter bufferedwriter= new BufferedWriter( new OutputStreamWriter( new FileOutputStream(),"SJIS")); bufferedwriter.write(itemCD); bufferedwriter.newLine(); bufferedwriter.close(); }catch(IOException exception){ exception.printStackTrace(); } /* MyWindowクラス window(同クラス同名インスタンス)からの実行です */ MyWindow window=new MyWindow(); System.out.println("画面消去"); //このコンソール出力は実行されます dispose(); } });
>>448 わからんけど、簡単に考え付くのは
> scanner.addScannerListener(new ScannerAdapter(){
は初期化の際に一回だけ呼び出すつもりだったか
読み取りイベント発生する毎に呼ばれてて倍々で増えてるとか。
あとは、 バーコード読み取りをしている独自パッケージの
サンプルコードとかがあれば、それ使っても同様の現象が発生するか調べてみれば?
450 :
デフォルトの名無しさん :2005/07/11(月) 14:51:06
stack traceをプリントする事によって何の得があるのでしょうか?
>>450 スタックトレース見れば例外がどこで発生したかわかって
例外が発生した部分のソース見れば原因もわかる可能性があるから。
>>448 dispose() で Window 自体は破棄してるけど
他にも ScannerAdapter を継承した無名クラスを
scanner.removeScannerListener とか使って破棄しとかなきゃいかんのでは?
453 :
デフォルトの名無しさん :2005/07/11(月) 16:33:26
please someone explain me why a method that deoes not match its declaration in the interface would not be discovered during white-box testing
454 :
デフォルトの名無しさん :2005/07/11(月) 21:17:21
すみません、宜しくお願いします。 JAVAで SJIS の文字コード"815C"[―]を直接指定して SJISファイルに書き込みをしたいんですが、 作成すると[?]になってしまいます。 どのようにしたらよいでしょうか? 教えていただけませんか?
必死だな(´,_ゝ`)
キモイ
416 デフォルトの名無しさん sage 2005/07/10(日) 21:20:56
>>322 医者の息子?君もキチガイストーカーだね。
君が医者の息子だったらなんでプログラマなんてやって
こんなスレに書きこんでるんだいw
医者の息子すべてがGoogleを知らないわけじゃあるまいしw
「医者の息子」って物凄くスネオっぽい肩書きだな
>>454 直接指定ってのが何かは知らんけど。
SJIS の 815C はエンコーディングによってマッピングが違う文字なので注意が必要だけど、
SJIS とか MS932 ならユニコードエスケープで \u2014 の EM DASH 使えば良いと思われ。
CP943 とか使ってる場合は \u2015 の HORIZONTAL BAR ね。
461 :
デフォルトの名無しさん :2005/07/11(月) 21:52:00
>>460 質問がわかりづらくてすみません。
下記のようにテキストファイルへ記入して
--------------
U+XXXX 0x815C
--------------
ユニコードの指定文字があったらSJISの文字コードを
指定して置き換える
という事をしたいのでんです。
質問がへたですまんです。
462 :
デフォルトの名無しさん :2005/07/11(月) 21:55:13
質問です。以下のようなコードの書き方ってできないんでしょうか? public class Super { String common; public void exe() {/*適当な処理*/} } public class SubA extends Super { String onlyA; } public class SubB extends Super { String onlyB; } public class Driver { public static void main(String[] args) { Super sp; sp.common = "hoge1"; if (/*適当な条件*/) { sp = new SubA(); sp.onlyA = "hoge2"; } else { sp = new SubB(); sp.onlyB = "hoge3"; } sp.exe(); } } このままだとif文のところでコンパイルエラーになってしまいます。
sp.common = "hoge1" を sp.exec() の直前に持ってくるか、Super のコンストラクタの 引数で渡せ。
>>461 > --------------
> U+XXXX 0x815C
> --------------
> ユニコードの指定文字があったらSJISの文字コードを
えーと、変換テーブル作って特定のユニコードを特定のSJISコードに変換するって事?
> 指定して置き換える
置き換えるっても、Java の String とか char は基本的にユニコードしか扱わないから
SJIS のコードを直接突っ込んだらダメだよ。
465 :
433 :2005/07/11(月) 22:09:22
皆さんどうもthanksです。 足りないところはclose()する順番が違うだけで それほどなさそうな感じでしょうか。 ほかに気になることといえばcatch文でしょうか。 catch文のなかでもし System.out.println(e); を使うなら System.err.println(e); のほうがいいのかどうか考えています。
466 :
デフォルトの名無しさん :2005/07/11(月) 22:10:04
>>464 >えーと、変換テーブル作って特定のユニコードを特定のSJISコードに変換するって事?
はい、そのとおりです!
>置き換えるっても、Java の String とか char は基本的にユニコードしか扱わないから
>SJIS のコードを直接突っ込んだらダメだよ。
ダメなんですか・・・(T_T)
直接にファイルに文字コードをぶち込む方法は無理でしょうか?
すみません、もう少しだけお願いします。
>>462 > Super sp;
> sp.common = "hoge1";
sp に何も代入してないのに、sp.common にアクセスはできない。
C言語で
Super sp*;
sp->common = "hoge1";
とかやってるのと同じ。
>>466 > 直接にファイルに文字コードをぶち込む方法は無理でしょうか?
Writerじゃなくて直接 OutputStream に
バイト列を出力してるなら問題ないんだけどね。
特定の文字と、それ以外で文字列を分割して
特定の文字は変換テーブル使って出力、
それ以外は String#getBytes(String) で得られたバイト列を書き込むとか。
469 :
462 :2005/07/11(月) 22:34:25
>>463 さん,
>>467 さん
ありがとうございます。
おっしゃるとおり、sp.common = "hoge1"の場所がおかしいですね。
その点は修正しました。
public class Driver {
public static void main(String[] args) {
Super sp;
if (true) {
sp = new SubA();
sp.onlyA = "hoge2";
} else {
sp = new SubB();
sp.onlyB = "hoge3";
}
sp.common = "hoge1";
sp.exe();
}
}
ただ、これでもやはりコンパイルエラーになってしまいます。
>Driver.java:6: シンボルを解決できません。
>シンボル: 変数 onlyA
>場所 : Super の クラス
> sp.onlyA = "hoge2";
>Driver.java:9: シンボルを解決できません。
>シンボル: 変数 onlyB
>場所 : Super の クラス
> sp.onlyB = "hoge3";
SuperにはonlyAやonlyBが定義されてないってことで
怒られてるのだとは思うのですが、
これを上手く解決する方法ってないでしょうか?
470 :
デフォルトの名無しさん :2005/07/11(月) 22:37:42
>>468 なるほど、その方法でやってみます。
ありがとうございます!!
>>469 キャストすれば?
> sp.onlyA = "hoge2";
((SubA)sp).onlyA = "hoge2";
> sp.onlyB = "hoge3";
((SubB)sp).onlyB = "hoge3";
onlyA や onlyB は SubA, SubB 固有のものだろ。 それぞれのコンストラクタに渡すようにしろ。
473 :
デフォルトの名無しさん :2005/07/11(月) 22:41:45
少しお聞きしたいのですが 内部クラスを入れた実行ファイルを作ってまして フィールドで使う変数を宣言したいのですが for文を使ってやる宣言なのでフィールドに入れれません・・・ どなたかご教授お願いします
>>473 インスタンス変数ならコンストラクタ内でヤレ
>>473 > 内部クラスを入れた実行ファイル
とか
> フィールドで使う変数
とか
> for文を使ってやる宣言
って何?
478 :
デフォルトの名無しさん :2005/07/11(月) 22:52:22
>>474 やってみます!
>>475 すいません、情報が少なすぎでしたね
マウスイベントを内部クラスとした執行ファイルを作りました
for文を使って配列に数字を代入していくのを宣言したいのですが
フィールドでfor文は使えないのでどうしようかなと・・・
プライベートJREを1Mくらいにする方法はありますか?重すぎです。俺。
>>478 > マウスイベントを内部クラスとした執行ファイル
悪い、これって本筋に関係ある? それとも関係あるか不明?
> for文を使って配列に数字を代入していくのを宣言したい
これなら出来るんだよね。
> フィールドでfor文は使えない
って何だろ?
482 :
477 :2005/07/11(月) 22:58:31
483 :
デフォルトの名無しさん :2005/07/11(月) 23:01:57
g.drawLine これを使って線を描いてるんだけど、線を太くするにはどうすればいいですかね?
>>481 メインのクラスとマウスイベントのクラスでそのどちらにも使いたい変数があるのですが
>>483 Graphics2D#setStroke(Stroke�s) 使えば?
486 :
462 :2005/07/11(月) 23:08:28
>>471 さん、
>>472 さん
ありがとうございます。
キャストで解決しました。
こんな括弧のつけ方をしないといけないんですね…。
考えてた元のソースはもっと複雑なものなので、
コンストラクタも検討してみます。
ありがとうございました。
>>485 今やってる課題は講義で習ったのしか使えないんで、無理ですorz
何か簡単な方法ありませんかね?
1ピクセルずつずらせばいい。 昔のJavaはそんな貧弱な表現がお友達だったそうな。
489 :
485 :2005/07/11(月) 23:13:58
>>487 なら描画位置をずらして複数回描くしかないんじゃないかな。よくわからんけど。
どの範囲を習ってるかわからんと、これ以上は何とも言えない。
なるほど、ありがとうございます。
課題で習ったなら授業の中にヒントがあろうが。
>>484 マウスイベントがメインクラスの内部クラスなら
メインクラスの変数にもアクセスできるでしょ。
JTreeで、特定の子を持つノードの展開(Expand)を禁止したいのですが、どうしたら良いですか? APIドキュメントとにらめっこしたんだけど発見出来なかったので教えて下さい。
>>492 for文を使って宣言するとエラーが出るんですよ・・・
子ノードを切り離す。
パッケージプライベートならできるだろうけど privateならアクセスできんとちがう?
>>496 内部クラスからのアクセスの話?
outer クラスのフィールドが private でもアクセスできる。
警告やエラーに設定できる開発環境もあるけど。
498 :
493 :2005/07/11(月) 23:29:33
>>495 ツリー構造はいじりたくないんですが・・・
>>493 adhoc な方法なら、特定の子ノードを持ってるノードは isLeaf() で true を返すとか。
>>494 > for文を使って宣言するとエラーが出るんですよ・・・
って具体的に何やってんの?
501 :
493 :2005/07/11(月) 23:34:18
>>499 なるほど、それは試していませんでした。やってみます。
502 :
494 :2005/07/11(月) 23:37:13
>>500 int number[]=new int[20];
int k=0;
for(int i=0;i<10;i++){
number[k]=i;
number[k+1]=i;
k=k+2; //配列に二枚ずつ0〜9の数字を入れる
}
int table=0;
int change=0;//数字を取り替える
for(int i=0;i<20;i++){
table=number[i];//数字をtableに入れる
change=(int)(Math.random()*20);//
number[i]=number[change];
number[change]=table;//ごちゃまぜ
}
こんな感じです
ランダムがあるのでクラス毎に宣言することもできないので・・・
>>502 よお、結局 shuffle は使わず自前で配列混ぜることにしたのか。
ランダムに入れ替えた int[] 型を返すメソッドを作り
private int[] array = getShuffledArray();
という書き方もできるでよ。
>>502 内部クラスで外部クラスのフィールドにアクセスするのが嫌だったら
内部クラスのコンストラクタの引数に int[] を追加して number 渡してやればよいのでは?
505 :
494 :2005/07/11(月) 23:50:09
フィールドの宣言の時点でエラーがでます フィールドでfor文を使うといけないみたいです・・・ 僕はまだjava始めたばかりで、用語をあまり知らないのですが フィールドってクラスの最初のほうにメソッドの外に作るやつであってますよね?
>>505 int[] number = new Object(){
public int[] getShuffledArray(){
/*
>>502 の内容をコピペ */
return number;
}
}.getShuffledArray();
とかすれば for文使えたり(違)
>>506 みたいな無名クラスって、Object型じゃなくて、
public int[] getShuffledArray() を持った無名クラス型(?) になるのね。
public static final TestClass DEFAULT = new TestClass(false); public TestClass() {/* いろいろ */} protected TestClass(boolean dmy) {/* dmyは使わない */} こういう使い方ってまずいですか?
>>508 気持ち悪いっちゃ気持ち悪い。
public static final TestClass DEFAULT = createDefault();
protected static TestClass createDefault(){ /* dmyは使わない */ }
とか
public TestClass(){ this(true); }
protected TestClass(boolean createDefault){
if(createDefault){/* いろいろ */}else{/*dmyは使わない*/}
}
とかするかな。あんまし変わんないかもだけど
前者は final なインスタンス変数とか持ってるとダメね。
>>509 なるほど、下の例なら気持ち悪さも減りますね。
そちらでやらせて頂きます。ぺこり。
511 :
494 :2005/07/12(火) 00:42:54
>>506 見たことない式ですね・・・
できれば習ったことない式は使いたくないんですけど
あまりわがままも言ってられませんね・・・
もし他にもありましたら教えてくれるとありがたいです
512 :
494 :2005/07/12(火) 01:20:16
ああもう!だめだ! もう別々にクラスを作るのはやめよう・・・ マウスイベントも使いたい場合は public class (ファイル名) extends Frame,MouseAdapter{ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 } これでできますか?
>>512 できません。
public class hoge extends Frame implements MouseListener {
コンストラクタ使えよ
515 :
494 :2005/07/12(火) 01:35:48
コンストラクタの中で宣言してもできませんでした・・・
>>513 ありがとうございます!それでやってみようと思います。
517 :
494 :2005/07/12(火) 02:29:50
まだこれしか習ったことがないんです・・・ なんでSwingのほうをやらないのかな
コンストラクタがだめならイニシャライザだ(適当
519 :
デフォルトの名無しさん :2005/07/12(火) 03:32:06
質問なんですが、ブロック崩しのボールだけのようなプログラムを作ったんですが ボールを複数(動的)にする場合にはどのようなアルゴリズムで作ればいいのでしょうか ヒントだけでも良いのでよろしくお願いします
>>519 既にボール1つを動かせてるなら、ボール1つの場合に加えて
ボール同士がぶつかった場合を考慮すれば良いのでは。
521 :
519 :2005/07/12(火) 04:17:13
すみません、説明不足でした ボールを100個や,1000個などに増やすのが目的で、ボール同士がぶつかりは無いです(まだ難しそうで・・・) ボールの進む方向、速度、現在座標など、 それぞれのボールの固有の値をどうやったらいいのかで煮詰まってす
>>521 > それぞれのボールの固有の値をどうやったらいいのかで煮詰まってす
ボール1個をあらわすクラスにすれば良いのでは?
523 :
519 :2005/07/12(火) 05:27:39
>>522 さん
そう思ったんですが、ループでインスタンスを作る方法がわかりませんでした(可変変数?)
for(i=0; i<100; i++){
MyBall ??? = new MyBall();
}
???のところを連番にしようと試みたんですが、ループで作るのは外道なのか探しても見つかりませんでした
522ではないけど MyBall[] balls = new MyBall[100]; for (i=0; i<100; i++) { balls[i] = new MyBall(); }
525 :
519 :2005/07/12(火) 06:01:19
>>534 さん
ありがとう御座います、無事できました
何かに似てると思ったら、arrayにそっくりですね、arrayもクラスなんだな〜と実感しました
255さん、524さんどうもありがとう御座いました
526 :
デフォルトの名無しさん :2005/07/12(火) 12:08:45
InputStream in = getClass().getResourceAsStream( filename ); でjar内のファイルにアクセスしているのですがファイル数が増えると管理&修正が大変なので jar内のファイルリストを取得したいのですがどうすればいいでしょうか?
>>526 複数のjarにリソース配置すればいいだけでは?
クラスパスの概念がわかっていれば別に困るようなことは内科と
528 :
デフォルトの名無しさん :2005/07/12(火) 12:28:50
import java.awt.*; import java.awt.event.*; import java.applet.*; public class test extends Applet implements ActionListener { Buttonbutton = new Button("LABEL_SHOW"); Labellabel = new Label("TEST"); public void init() { button.addActionListener(this); button.setVisible(true); label.setVisible(false); add( button ); add(label); } public void actionPerformed( ActionEvent e ) { label.setVisible(true); } }
529 :
528 :2005/07/12(火) 12:32:23
>>528 のコードでlabelを可視にしても表示されないのですが
表示するにはどうすればいいのでしょうか?
paint(Graphics) をオーバーライドしてみ
531 :
528 :2005/07/12(火) 12:59:46
public void paint( Graphics g ) { label.paint(g); } public void actionPerformed( ActionEvent e ) { label.setVisible(true); repaint(); } このような感じのパターンをいくつか試してみたのですが表示されませんでした。 最大化やウィンドウサイズを変えるとlabelが表示されます。repaint()を自分で 呼ぶのと最大化などで呼ばれるであろうpaint()は何かちがうのですか
533 :
528 :2005/07/12(火) 13:18:25
コンテナの変更を適応させるにはvalidate()を呼ぶ必要が あったんですね ありがとうございます、しっかり表示されました。
藻前らお願い致します。質問ですが、JSPファイルで <%インポート%> <%インクルード%> DB接続としているのですが見ているソースに { SQL文作成 SQL発行 while(){ resultSetの値を変数に詰める } } って書き方している箇所があるのですがなぜ{}だけ書いてエラーが出ないのですか? JSPでtry-catchって省略できるのですか?
>>534 省略じゃない。
{}はtry{}catch(){} とは異なる別のシンタックス。
スコープだ
>>535 あぁ、そうなんですか〜。
見てコンパイル通るからなんか意味あるんだろうとは思ってたけど・・・
" °・:,。★\( ´_ゝ`)♪ありがとう♪(´ι _` )/★,。・:・
>>534 例外処理をJSPサーブレット任せにしている糞コードな気がするが…
気のせいであって欲しい。
あと、JSPにDBロジック書くのはおべんきょの時だけにしておくといいよ。
>>537 ? ? ?
アップローダ@あめぞう
←ファイルを選択する
制限1: ファイルサイズは100KBまでとします。
制限2: あめぞう以外での利用は制限されます。
きわめて単純なスクリプトを使っているため、あまり動作保証はしません。
なにかありましたらサポート削除依頼まで。
540 :
537 :2005/07/12(火) 17:51:33
>>540 xx, yyの値がでかすぎて三角形が画面からはみ出しているぞ
じゃなくて、プログラムはすでにできている。 ウィンドウサイズを変えるクラスを使ってみろ。 小さすぎなんだよ。 マウスでドラッグすりゃちゃんとカラフルなのが映って見えるが。
543 :
537 :2005/07/12(火) 18:37:14
>>541 ,
>>542 ありがとうございます。確かに数値がでかすぎではありますね…。
あと、このプログラムの目的は、色をコロコロ変わる様する、といったものなんですが、それが出来ないという次第です。
544 :
494 :2005/07/12(火) 23:29:17
こんばんわ 494ですが、皆様すいません。とんだ間違いをしてました・・・ メインのクラスと内部クラスのマウスイベントを作ってるつもりでしたが カッコをつけ間違えて別々のクラスにしてました・・・ それじゃあ変数を共有できないわけですよね・・・ お騒がせしました。 ご教授ありがとうございました!
JSPではロジックは書くべきではないと思う。JSPはVIEW的な役割としてあるです。 DB接続はサーブレットでするです。じゃないとどこで何してるから収拾付かなくなるす
MVCがアプリの基本だな
マーヴルバーサスカプコン
PHPはガンガンうめこんでるのみるけどな
スクリプト系には多いな 俺はお断りだが
550 :
デフォルトの名無しさん :2005/07/13(水) 09:51:09
こんにちはJava初心者です。 以下の簡単なことができなくて困っています。 ■やりたいこと JFrameを使ってフレームを作成するクラスをつくり引数でそれを呼び出すごとに直線等を描画していきたい。(画面の初期化は必要なし) public class Draw extends JFrame { private int x private int y public void init (){ setBounds( 0, 0, 1500, 1500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show(); setVisible(true); } public void paint(Graphics g){ g.drawLine(x,y,x,y+100); } public void updat(Graphics g) { paint(g); } public void draw_line(intx,int y) { this.x = x; this.y = y; repaint(); } } --------------------------------------------------------------------- これを、あるクラスから、 Draw DW = new Draw(); DW.draw_rline(3,4); などとやっているのですが、どうやらrepaintが全くきいていないようなのです。 多分基本的なところが間違っているようなのですがどなたかわかればご教授いただきたく。 お願いします!
SWTをフル活用して24時間起動でOut Of Memoryが発生。 SWTってメモリ結構使いますか? javaでリークしやすい箇所ってどのへんでしょう?
Java3Dの話なのですが、 マウスのホイールドラッグによる拡大・縮小機能MouseZoom() からどれだけ拡大・縮小しているか数値を得るにはどうしたらいいのでしょうか?
javax.servlet.http.Cookie#setDomain で setDomain("localhost"); ってやるのは NG でしょうか?
>>553 いいんじゃないの?
ブラウザがそれに従ってくれるかどうかは別問題だけど。
>>550 draw_line(3,4)を(30,4)などにしてみる。線がみえるはず。
フレームの枠に線が隠れているのだ。
フレームに直接描画するのでなく、JPanelなどをフレーム(のcontentPane)にaddし
そこに描画することをススめる。
556 :
デフォルトの名無しさん :2005/07/13(水) 18:38:24
質問です。
URL url = new URL("
http://www.xxx.xx/xxx/abc.cgi ");
inputstream = url.openStream( );
て、するとabc.cgiの実行結果が読めますよね。
abc.cgiファイルそのものをソースとして読むにはどうしたらいいんでしょうか?
>>556 Webサーバの設定を変更してcgiを実行できなくする
>>556 先方のサーバが、そのリクエストに対してはプログラムを実行した結果
を返すと設定されているわけで。
559 :
デフォルトの名無しさん :2005/07/13(水) 18:48:15
できないということでしょうか
できないんですかぁ。ふーーーーん。ありがとうございました。
561 :
デフォルトの名無しさん :2005/07/13(水) 22:07:02
こんばんは。 今住所録システムというものを作っています。 jsp(登録入力画面)→サーブレット(入力チェックなど)→jsp2(登録確認画面) →サーブレット2(DB登録)→jsp3(登録結果) で作っているのですがjsp2からサーブレット2に入力した値が送れません。最初getparameter(?)で送っていたのですが 無理だと言う事にきずきbeanを使ってやればできると言われたのでですがわかりません。 あとhiddenでも出来るといわれ調べてるのですがいまいちイメージができず困っています。 どなたか助言ください、お願いします。
>>561 全角やめたほうがいいと思う。俺嫌いだから。
jsp2は当然formでserverにPOSTしてるんだろうな?
ただ確認画面出してるだけなら笑うよ?
getParameterは送るものでなく受けるものなんだが。 <form action="POST">ならdoPostまで来てるなら送られているはず。
tuka よく考えたら確認画面からデータ送信しなくてもサーブレット1で 鯖側で値保持しておいてOKならそのまま鯖側の値をDBに登録すればいいんじゃねぇの? わざわざ、入力チェックしたのに、またクライアントに返さなくてもいいでしょ。 改竄されたら、入力チェック意味ないし。 hiddenに隠しでフラグ持たせてやればいいね。
565 :
561 :2005/07/13(水) 22:17:16
>>562 それはしています。けどできないんです。
>>563 >getParameterは送るものでなく受けるものなんだが。
あ、そうでした、すいません。
そしたらべつにbeenとか考えなくてもバケツリレーみたいな感じで
送れるって事ですか?
それともbeen(←まだぜんぜんわかんないです)を学んで
使った方がいいですかね?
566 :
561 :2005/07/13(水) 22:20:48
>>564 確かにそうですね。
ただ、確認画面で
「以下の情報で登録していいですか?」という感じにするので
値をもっていきたいんですよね・・。
うーん。
1) サーブレット1の時点でjsp1入力内容をセッションに格納しておく →サーブレット2では、登録内容をセッションから取り出す 2) サーブレット1からjsp2にforwardするときに、jsp1入力内容をhiddenで jsp2に含める →サーブレット2では、登録内容をリクエストから取り出す 好きにしる 2)はセキュリティ的にやや問題がある 1)は不正な遷移に弱い
568 :
561 :2005/07/13(水) 22:29:53
>>567 ありがとうございます。
参考にさせてもらいます!
HttpSession session = request.get() session.setAttribute("hoge",hoge);
570 :
561 :2005/07/13(水) 23:41:39
あのセッションについて今学んだんですけど「jspの暗黙のメソッド」って書いてありましたがサーブレッドでも使えるんですか?今エクリプスにて少し記入したらセッションのとこに未定議って赤線ひかれたんで・・
JCE 1.2.1の7/28問題に関して、JPCERT/CCとかIPA/ISECがアラート出してるのに、 当のSunが一切コメント出さないのは、ユーザーなめてるという理解でいいですか?
>>570 もうちっとマニュアル読んだほうがええよ
>>551 Javaのラッパークラスとネイティブのライブラリをつなぐところ。
nativeメソッドを実装してるとこだね。
574 :
デフォルトの名無しさん :2005/07/14(木) 01:03:37
ストリームでString型の文字を送信したくググってみたら 標準入力のやり方ばっかりで クラス内のString型の変数で入力されている文字を 送る方法が載ってませんでした 標準入力以外の方法で文字ないしは文字列を送る方法を おしえてください (バッファはどっちでもいいです。できれば受信も教えてもらうとありがたいです)
……ソケット?
576 :
デフォルトの名無しさん :2005/07/14(木) 01:20:37
>>575 ソケットだけどその前のストリームがわかなくなって来たからさ
よくわからんが StringをgetBytes()でバイト配列にしてからwrite()で書くとかそういうことを きいてるの?
578 :
デフォルトの名無しさん :2005/07/14(木) 02:05:19
579 :
574 :2005/07/14(木) 02:08:53
例えば ”hello”ってStringの文字をソケットで client側からserver側に送るにはどしたらいいの?
お願いですからjava.ioみてください そして検索エンジンもつかってやってください Javaほどソケット通信のコードがたやすく見つかる&かけるのはそうそうないのに・・・
581 :
574 :2005/07/14(木) 02:18:22
何かどのサイト見ても(system.in)が使われてて クラス内で代入されたString変数を送信するプログラムとかのってないから 馬鹿な質問だとは分かってるんだけど単純ゆえにわからないと本当に分からないわけで・・・
ストリーム使って流すんだったら System.inだろうがソケットからとったストリームだろうが同じだろうが。
むしろ標準入力のほうがひっかかるのがめずらしいのでは? 「java ソケット」で検索してみたの?
new printstream out = new printstream(socket.getoutputstream()) out.println(""); それともシリアライズの話?
>>581 System.inだろうがSystem.outだろうが、SocketのgetOutputStream()で取ったのだろうが、
全部ストリームなんで、同じメソッドが使える事、分かってるか?
Socket s = new Socket( "www.hogehoge.com", 8080);
OutputStream os = s.getOutputStream();
Writer writer = new BufferedWriter ( new OutputWriter( os, "Shift_JIS"))
writer.write("ほげほげ");
writer.flush();
writer.close();
こういうこといってるわけ?
JavaのStreamはbyte配列の入出力に用いられる。 String(Unicode)の入出力にはReader/Writer(の派生クラス)を使う。 InputStreamReaderはInputStreamから OutputStreamWriterはOutputStreamから それぞれコンストラクタにより作れる。 Unicode文字列のI/Oには、Unicodeとホスト環境のエンコーディング変換が 絡む点に注意だ。エンコーディングはこれらのコンストラクタで指定できる。 何も指定しなければ、実行環境におけるデフォルトのエンコーディングが 適用される。 さらに行単位の入出力機能等が欲しい場合は Buffered{Reader,Writer}を、InputStream{Reader,Writer}から作ればよい。
587 :
574 :2005/07/14(木) 19:04:08
588 :
初心者?? :2005/07/14(木) 23:07:25
JTableの列ヘッダをクリックすると自動ソートする機能をつけたいと思っています。
ネットで探してみたところ
ttp://mizkee.net/java/tips/swing_jtable.shtml 「ヘッダをクリックするとソートするようにするには」
が見つかったんですが・・・・・・使い方がわかりません_| ̄|○
いろいろやってJTableを表示できるところまで行くのですがヘッダをクリックすると必ず
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JTable$1
at SortableJTable.doSort(SortableJTable.java:59)
が出ます。
どうか使い方を教えていただけませんでしょうか。。。
そのサイト書いた人に聞くのが先だろ つーか、JTableの仕組み分からないでそのへんやるのは正直危険な希ガス
ぱっとみその際とのコード見る限りそのキャストエラーが出るのは当たり前だが ちゃんとJTableがわかっていればすぐになおせるはずだ 結果だけを求めずにちゃんと地道に使い方を勉強して覚えよう
591 :
デフォルトの名無しさん :2005/07/15(金) 00:58:40
</div> <div id="footer"></div> </div> <div id="adRight" style="position:absolute; display:none;"> ★ </div> <script language="JavaScript"> <!-- function getTopOffset() { if(document.all) { if(document.compatMode == "CSS1Compat") return document.body.parentNode.scrollTop; else if(document.body.scrollTop) return document.body.scrollTop; else return 0; } else { return window.pageYOffset; } }
592 :
デフォルトの名無しさん :2005/07/15(金) 00:59:18
function getWindowWidth() { if(window.innerWidth) return window.innerWidth; if(document.compatMode == "CSS1Compat") return document.body.parentNode.clientWidth; if(document.body.clientWidth) return document.body.clientWidth; } function getWindowHeight() { if(window.innerHeight) return window.innerHeight; if(document.compatMode == "CSS1Compat") return document.body.parentNode.clientHeight; if(document.body.clientHeight) return document.body.clientHeight; } var ad = document.getElementById("adRight"); var timer; function stickyAd() { var left = parseInt(getWindowWidth()/2 + 800/2) + 5; var top = parseInt((getWindowHeight()/2 + 60) + getTopOffset()); if(document.all) { ad.style.pixelLeft = left; ad.style.pixelTop = top; }
593 :
デフォルトの名無しさん :2005/07/15(金) 00:59:58
else { ad.style.left = left + "px"; ad.style.top = top + "px"; } if(ad.style.display == "none") ad.style.display = ""; if(!document.all) { clearTimeout(timer); timer = setTimeout("stickyAd()", 40); } } if(document.all) { stickyAd(); window.onscroll = stickyAd; } else { setInterval("stickyAd()", 40); } window.onresize = stickyAd; //--> </script>
594 :
デフォルトの名無しさん :2005/07/15(金) 01:01:04
すいません これを書くとブログの右側に移動する広告が出せるみたいなのですが 左側にする場合はどうしたらいいでしょうか? よろしくお願いします
問題はなぜこのスレにかいたかだ
そばの打ち方を質問されたカレー屋の気分
>>594 |
\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
('A`) そうだ!ディスプレイをひっくりかえせば!
ノヽノヽ
くく
うはwお前マジ頭いいな!
そういえばある店のメニューで「カレーそば」を見つけたときは驚いたな。 結局喰ってないけど。
カレーうどんがあるんだから、カレーそばやカレーラーメン、カレースパゲッティーなどが あっても問題なし
カレーはるさめも
カレービーフンもカレーマロニーもカレーくずきりもカレー糸こんも
カレーはもういいよ
604 :
デフォルトの名無しさん :2005/07/15(金) 13:04:44
で、誘導ぐらいしてやれよ
608 :
デフォルトの名無しさん :2005/07/15(金) 14:35:58
LANで接続された2台のPCを連動させて画像を表示させるようなことは javaでできますか? PC1のマウスをクリックするとPC2の画面も切り替わるみたいな その逆も
>>608 Javaアプリ限定であれば、イベントを相互に通信しあうようにすればいいんでは
ないかと思うが、プログラミングは面倒そうだな。
610 :
デフォルトの名無しさん :2005/07/15(金) 14:46:09
>>594 ,597,607
画面をひっくりかえすのではなく、自分がひっくりかえるという手もあるな。
MVCモデルの開発をしているのですが、 サーブレットからJSPに配列を受け渡す方法がわかりません。 どうすればよいのでしょうか?
requestにsetAttributeすればいいじゃない
>>612 Servletで
int[] hoge;
HttpSession session = request.getSession(true);
session.setAttribute("hoge", hoge);
JSPで、
<%
int[] = (int[])session.getAttribute("hoge");
%>
すいません説明が足りませんでした。 正確にはsetAttributeでディスパッチしたあとに、 JSPで受け取る方法がわからないんです。
616 :
デフォルトの名無しさん :2005/07/15(金) 16:01:33
解決しました。 JSPでキャストしていなかったのが原因のようです。 どうもありがとうございました。
>>608 できる
で、なんで出来ないと思ったの?
619 :
608 :2005/07/15(金) 18:49:19
出来ないとは思いませんでしたが、 難しいですか?
620 :
608 :2005/07/15(金) 19:01:42
>>610 javaで簡単にできるかもってちらっと聞いたので
クリックして画像表示するだけ? そんなの簡単だろ
intをStringに変換するとき次のどちらの方がよいですか? 1. ""+int 2. new Integer(int).toString()
623 :
608 :2005/07/15(金) 21:00:00
そうです。 プログラミング初心者で 正直、なにをどうしたらいいかわかりません。 参考になるような物などあったら教えてください
>>622 Stringのメソッド勉強したほうがいいぞ
まずJava以前にプログラミング自体が初心者なら プログラムの基本から勉強するべし コンピュータ概論あたりをさらっと
>>622 Integer.toString(int) または String.valueOf(int)
>>608 サーバとクライアントのプログラムを書くことになる。
1.クリックされたクライアントがメッセージをサーバに送信。
2.サーバは各クライアントにメッセージを送信。
3.各クライアントは表示画像を切り替える。
サーバ/クライアントプログラムの書き方は多くのJAVA入門書で扱っている。
628 :
608 :2005/07/15(金) 21:14:23
629 :
デフォルトの名無しさん :2005/07/15(金) 21:19:45
すまんCGIでJAVAしてCSSみたいにXOOOPを起動させたいんだが HTMLでWikWikやってたら駄目かな
「CGIでJAVAして」 これはJavaアプリで起動ってことかな?なら一応可能ではあるが J2EEを使わない理由はなんだ
Javaみたいに起動にやたら時間がかかるヤツはCGIには凡そ不向きだろ Javaでやるならもっといい方法がある 言語の適性と使用法が激しくアンマッチだ
632 :
デフォルトの名無しさん :2005/07/15(金) 21:30:19
すまん冗談で言ったのに・・・ 可能だとは知らなかった・・・
起動に0.1秒もかかってないし GUIとかはいってなければたいしたことねーよ html組み立てるだけならまったく大丈夫だで 初回だけは多少かかるがね それはサーブレットでも同じだし
同時に 50 アクセス受け付けたら 50 VM 立ち上げる気?
いや起動に時間かかってメモリ喰いまくるVMをポコポコ立ち上げるのと 1VMで動作するサーブレットでは システムへの負荷において違いがありすぎるだろ
かぶった
一応動くことは動くというのをいっただけなんだがな 1VM立ち上がるたびに2M食ってる模様
638 :
デフォルトの名無しさん :2005/07/15(金) 21:56:10
JAVAを早く起動させるコツを教えてください
すばやくコマンドを打つべし
Vectorの要素にVectorを入れて、それの中に入ったベクターの要素を参照したいのですが、うまく格納されていないようで、アクセスしようとするとエラーが出ます。どうしたらいいのでしょうか?
641 :
デフォルトの名無しさん :2005/07/15(金) 22:23:06
JAVA に C++ のような、デストラクタはあるのでしょうか?
うまく格納する。 どういうエラーが出るのよ。
うまく格納されていないようですワラタ
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 こんな感じで保存されていない感じです
それインデックスの範囲がおかしいと親切にちゃんとエラー返してくれてるだろ そのエラーが発生した部分とその周辺のコードもさらすべし
お返事ありがとうございます。 for(int i=0;i<100;i++) { positiveTest.add(i,fs.crossValidation(positive,100)); negativeTest.add(i,fs.crossValidation(negative,100)); } for(int i=0;i<t;i++) { System.out.println( ( (Vector)positiveTest.elementAt(0)).elementAt(i).toString()); } こういうソースです。 crossValidationはpositiveから100個の要素をVectorにして返すメソッドです。
>>646 positiveTestってなに?とかtってなに?とか分からないことが多すぎ
positiveTestはVectorです。tは既に定義されているint型の定数です。 具体的に言うと学習器の数なのですが・・・
649 :
デフォルトの名無しさん :2005/07/16(土) 00:00:32
>641 つ Object#finalize() まぁ、C++のデストラクタとはいろいろと違うが、位置づけとしては似たようなモンかと。 // しかしAPIドキュメント見ても「いつか必ず呼ばれるなんてどこの誰も保証しませんよ?」 // って書いてない気が……
System.out.println( ( (Vector)positiveTest.elementAt(0)).elementAt(i).toString()); ここでpositiveTestを参照したときに出ます。
653 :
641 :2005/07/16(土) 00:06:59
>>652 crossValidationが返す要素の数とtがあってないとか
tのループの最初に
System.out.printf("%d , %d \n", t , ( (Vector)positiveTest.elementAt(0)).size() );
といれてみそ
java5なのか?
>>616 キャストしなくてもいいようにGenericsくらい使えよ
J2SE 5.0
5.0がでてもうすぐ1年になるんだし 最初にバージョン言ってこないんだから さすがに問題ないだろ
>>630 JavaCGIってやつがあるぞ。
しかし重たくて意味がないな。
率直にJavaServletを使うべしだ
試してみたところ 100 0 と出力されました。positiveTestにオブジェクトが格納されていないのでしょうか?
重いけど100ms以内でレスポンス返してるの見ると スクリプト系と大差はないな スレッドモデルのほうがはるかにいいが
>>660 positiveTestには格納されている
問題はcrossValidationがかえしてないってことだね
>>640 つーかVector使うのやめてListにせいよ
どうせキャストし忘れたかGenerics指定し忘れてサブVector要素に
アクセスできないかなんかだろ
>>658 実務じゃ1.4.xが未だに主流。
NEET君はすっこんでなさい。
いやおれはマイクロソフトドットニートなって使ってないよ
VS.NEET バーサス・ドットニート
今年2月からの開発で実務で5.0つかってるよ 1.4とは別次元の効率の良さでおおむね満足 パフォーマンスも上がったしね Swing使ってるからSystemLAFが1.4にくらべてかなり似てるのがポイント高い
Vector v = new Vector<Vector<何かの型>(); Vector innerV = new Vector<何かの型>(); innerV.add(何かの型オブジェクト); innerV.add(何かの型オブジェクト); innerV.add(何かの型オブジェクト); innerV.add(何かの型オブジェクト); v.add(innerV); Vector innerV2 = new Vector<何かの型>(); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); innerV2.add(何かの型オブジェクト); v.add(innerV2);
669 :
デフォルトの名無しさん :2005/07/16(土) 00:54:30
うちもすでに業務で使ってるぞ。 うちもSwingアプリでさ。 つーか、もう一年もたってるぞ。 Tomcat5.5は5.0専用だしEclipse3.1も5.0に対応したことだし これから一挙に広まるんじゃないかな。
Eclipse3.1のLanguage Packがリリースされたらあっという間に広まるだろうね。 年末にはJ2EE5.0も発表になり、アノテーションを使った実装が普及しそうだ。
>>668 地味にワーニングが出る書き方してるのはなぜだ
genericsの意味がねぇ
つまり、はやくから5.0対応していたNetBeansは存在感なしってことか Swing使ってるから必須なんだけどね まぁ4.2くればさらに必須になりそうだけど
674 :
デフォルトの名無しさん :2005/07/16(土) 01:00:41
Genericsなクラスを作るサンプルプログラムって少ないね。 Collection系クラスのサンプルはいくつかみたけど 入れ子(集約)になってるものが多いね。 継承を使ったサンプルはないかな? デザインパターンを使ったGenericsのサンプルがあればいいんだけど。 Genericsの導入によって結城浩の 『Java言語で学ぶデザインパターン入門』の サンプルも大分変わってくるのかな?
>>672 お、そうか、忘れてた。
いつもこいつを頭につけるのを忘れちゃうんだよね。
Vecto<Vector<何かの型>r v = new Vector<Vector<何かの型>();
Vector<何かの型> innerV = new Vector<何かの型>();
innerV.add(何かの型オブジェクト);
innerV.add(何かの型オブジェクト);
innerV.add(何かの型オブジェクト);
innerV.add(何かの型オブジェクト);
v.add(innerV);
Vector<何かの型> innerV2 = new Vector<何かの型>();
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
innerV2.add(何かの型オブジェクト);
v.add(innerV2);
>>664 お前なあ社内にタイガージェットを普及させろよw
>>677 公式リリースされないことには、業務プロジェクトで正式採用にはなかなか至らないだろうに。
その辺のものは、一部のモチベーションの高いエンジニアが個人的に利用するにとどまると思う。
モチベーションの高い個人のエンジニアならNetBeansでバリバリにかいてるかと 個人なら特にGUIも作ってなんぼだしねぇ
682 :
デフォルトの名無しさん :2005/07/16(土) 02:08:22
javaのパッケージの中にあるすべての、クラスとかメソッドについて詳しくHP上で 解説されてるサイト知りませんか? サンマイクロシステムズのHPのどこかにあったんですが どうも見つからないです・・・。
>>682 以下は、J2SE 1.4.2 のダウンロードページです。
Download Java 2 Platform, Standard Edition, v 1.4.2 (J2SE)
ttp://java.sun.com/j2se/1.4.2/download.html このページを例に説明しますと、下のほうに、「J2SE v 1.4.2 Documentation」
というのがあります、これが SDK に含まれるパッケージ全てのリファレンスになります。
これは、HTML 形式のファイルになっているので、ダウンロード・展開して、
適当なブラウザで参照できます。
# このあたり、テンプレにしたほうが良いような気がするが・・・。
>>682 以下は、J2SE 1.4.2 のダウンロードページです。
Download Java 2 Platform, Standard Edition, v 1.4.2 (J2SE)
ttp://java.sun.com/j2se/1.4.2/download.html このページを例に説明しますと、下のほうに、「J2SE v 1.4.2 Documentation」
というのがあります、これが SDK に含まれるパッケージ全てのリファレンスになります。
これは、HTML 形式のファイルになっているので、ダウンロード・展開して、
適当なブラウザで参照できます。
他のバージョンのSDKに同様の配布ファイルがあるはずです。
# このあたり、テンプレにしたほうが良いような気がするが・・・。
Vector使う奴は氏ね
686 :
デフォルトの名無しさん :2005/07/16(土) 04:54:23
ハァ?窓の杜を使えと?なんでお前にそんな事を言われなければならんのだ?
ワロタ 志ねw
689 :
デフォルトの名無しさん :2005/07/16(土) 09:43:24
なら十分に理解してそうだが
アプレットからテキストファイルを読み込みたいのですがうまくいきません。 アプレットを下のような構造でjarでかためてサーバーにアップしてます。 applet.jar - main.class - dir - file(読み取りたいファイル) アプレットの中でのファイル読み取りは br = new BufferedReader(new FileReader("dir/file")); のようにしています。ローカルだと読めるんですがサーバーにアップすると java.security.AccessControlException: access denied (java.io.FilePermission dir/file read) というエラーが出ます。どう直せばいいでしょうか。
CodeBaseなんちゃらってメソッドが必要だったかも
693 :
デフォルトの名無しさん :2005/07/16(土) 15:49:29
List<List<String> list = new ArrayList<ArrayList<String>(); List<List<String> list = new ArrayList<List<String>(); List<ArrayList<String> list = new ArrayList<ArrayList<String>(); ArrayList<ArrayList<String> list = new ArrayList<ArrayList<String>(); List<List<String> list = new List<List<String>(); どれがいいんだろ どれがいいんだろ
>>691 使用OSは何?
UNIXなら
パーミッションを変更せよ
chmodコマンドで
>>692 それつけるとローカルで実行できなくなります・・・ファイルはあるんですが。
file:/C:/eclipse/workspace/proj/dir/fileでFileNotFound
>>694 クライアントはWindows、サーバーはUNIX系です。何のパーミッションでしょう?jarファイルですか?
後の人の役に立つようにどうやったらうまくいったか書いてください
質問です。 JOGLのアプレットのデモって存在しないのですか? あったら教えてくだちい。
700 :
デフォルトの名無しさん :2005/07/16(土) 20:00:05
初めまして、javaのswingをつかってGUIを作っているんですが 画像の上に画像を張るやり方ってあるんでしょうか? あと、画像の一部分を座標で取ってきてクリック判定させるホウホウなど。
ある。
Javaの正規表現なんですが pattern = Pattern.compile("Hello"); matcher = pattern.matcher("AAA Hello World"); がマッチしないんですがなぜでしょう。Perlなんかだとマッチしますよね。
PerlやRubyと正規表現の形式がちがうんですかね。
いがぴょんが気味悪くってしょうがないのですが、 どうすれば良いですか?
>704 誰それ ?
>>702 matchesだと「全体」が正規表現にマッチするかどうか。
findを使え。
>>706 そんなメソッドあったんですね。ありがとうございます。
708 :
デフォルトの名無しさん :2005/07/17(日) 01:32:11
質問です JFrame上のボタン等押下で別フレームの表示させたいのですが、方法がわかりません。 イメージではLive2chの「ヘルプ」→「バージョン情報」で表示される小さいフレームのようなものを表示させたいのです お願いします。
>>693 変数の型には必要な範囲で一番メソッドの少ないインターフェイスを。
インスタンス化には具体的なクラス名を。
自己レス 今調べてモーダルなダイアログで解決できそう
>>693 ,709
閉じ角カッコが足りないのは目をつぶるとして
GenericsはCovariantじゃないから693のは
警告・コンパイルエラーになるもんばかりだな。
712 :
デフォルトの名無しさん :2005/07/17(日) 02:52:56
C言語で言うところの sizeof は Javaでは何ですか?
4で無問題
>>712 structを持てないからsize()やlengthで問題ない。
プリミチブのサイズはきっちり規定されとります。
「そのマシンでintが何ビットで表すか知る方法」を知りたいんじゃないの? size()やlengthってちょっと違うだろ Integer.SIZEのことだと思う
>>702 > Javaの正規表現なんですが
> pattern = Pattern.compile("Hello");
> matcher = pattern.matcher("AAA Hello World");
> がマッチしないんですがなぜでしょう。Perlなんかだとマッチしますよね。
JavaでPerl互換正規表現をつかいたければ
Jakarta OROを使うことをおすすめする。
Perl慣れしたPerl厨ならすぐにつかいこなせる。
しかしその代わり\文字は\\としてエスケープしなければならないが
Javaの場合 Pattern.compile("Hello"); って ^Hello$ってことじゃなかったっけ?
質問です。 3次元表示のアプレットを作りたいのですが、 java3Dを使う方法以外に3次元表示するには自作しかないのでしょうか?
>>718 でしょうね〜
君のやりたい3Dつーのがどのレベルのものか知らないけど
自分は昔Javaアルゴリズム入門つー本で面白いサンプルあったよ
もちろんjava3dなしで
ま、どちらにせよ結局画面という平面上に擬似的に3dぽく見せているだけだからね〜
>>717 パターンマッチのときにmatcher()でやるとそうみたいだ。find()でやったらちがってた。
JOGLだってあるが
JOGLってアプレット作れるの?
作れるよ
>>724 死のブルースクリーンって一体なんだ?
Windowsをハングアップさせるウィルスか?
どこの馬の骨ともわからないものを今いきなり試すのは抵抗があるな。
動かすにはまさにJOGLが必要みたいだが。
726 :
718 :2005/07/17(日) 10:50:14
いろいろ探してみましたが、 ・java3dを使う ・OpenGL Java Bindingを使う ・自作する ということですかね。 OpenGL Java Bindingにも色々あるようですが、 JOGLはBSDライセンスみたいなのでこれを詳しく調べて見ることにします。
力をお借りしたい。 先月からEclipseを使ってJAVAの勉強を始めた(プログラム自体も初めて)くらいのレベルの者です。 テキストを入力可能なコンポーネントでJTextPaneやJTextAreaとかありますが、 そこに入力された特定の文字の色を変えたいのですが、それを実現するにはどのコンポーネントやクラスを 利用したらいいのでしょうか? 2、3冊の初心者用のjavaの本を目を通したのですが物足りなくて、結局はJavadocを参考に勉強していたのですが、 上記の事を実現するために関わる項目がなかなか見つからなくて困ってます。
728 :
デフォルトの名無しさん :2005/07/17(日) 12:06:30
>>727 JTextArea は文字の属性を変える事はムリです。
JTextPane は可能です。その為のコンポーネントなのです。
JTextPnae と javax.swing.text パッケージのクラス群を使えば、
簡単に、様々な属性の文字からなるテキスト表示を実現する事ができます。
729 :
デフォルトの名無しさん :2005/07/17(日) 12:12:39
>>727 どうしても分からなくて、とりあえずサンプルが欲しいのなら
Java宿題スレッドへ。
最近、あそこは宿題だけでなく、作りたいけど分からないから
サンプルを作ってくれとの質問もある。
730 :
デフォルトの名無しさん :2005/07/17(日) 12:26:36
ヘルプが英語で書かれている場合みなさんはどういう対処をしているのでしょうか? 教えてください。
731 :
デフォルトの名無しさん :2005/07/17(日) 12:30:58
あきらめる
>>730 翻訳する
or
日本語のヘルプに相当するものがあるかググる。
動作サンプルを検索する。<- 実はこれは英語でも大抵理解できる。
うんちくや理論だけを語っているサイトや本は読んでも実例がないため即座に理解できない。
だが動作サンプルがあると大抵すぐに理解できる。その動作サンプルを解説している
サイトや本がたとえ英語であってもどうにか読める。技術英語はパターンが決まっていて
大抵どうにかよめるからな。インストールマニュアルやUsage, How to Useなんてものみれば
大抵使い方はわかる。
733 :
デフォルトの名無しさん :2005/07/17(日) 12:59:10
動作サンプルの具体的な検索の仕方をおしえてください。 また、動作サンプルとはなんですか?
>>729 もう
>>727 が宿題スレに書いてるから手遅れだけど、
> 最近、あそこは宿題だけでなく、作りたいけど分からないから
> サンプルを作ってくれとの質問もある。
サンプルの作成はあくまでも「宿題を完成させる範囲で」ってことです。
宿題じゃなかったら基本的には答えないことになってるはず。
>>733 具体的な検索の仕方
1.まず小学生から人生をやりなおすこと。
2.小学校で国語を勉強し直すこと。
3.それから検索の仕方を自分で調べること。
検索の仕方を教わる前にバカは氏ねと
>>735 いや別に宿題じゃなくてもいいのだよ。
要は、ここ質問スレは「質問に文章で答える場所」であり
向こうの宿題スレは「プログラム見本の要求にソースコードで応える場所」なのだから。
その「プログラム見本」が課題、宿題によるものが多いから、宿題スレになってるのであって
別に自分の学習目的の為のプログラム見本でも構わない。
宿題だけにすると、一気に過疎化してしまう。
739 :
735 :2005/07/17(日) 14:22:20
>738 > 宿題だけにすると、一気に過疎化してしまう。 今まで宿題スレは宿題だけを扱ってきたから、 こっちと比べるとだいぶ回転は遅いはずだが。。 >その「プログラム見本」が課題、宿題によるものが多いから、宿題スレになってるのであって 宿題スレで答えてる側の人間は、そうは考えてないと思うぞ。
740 :
735 :2005/07/17(日) 14:29:11
>>739 の後半部分がちょっと誤解を招きそうな書き方だあ。
>その「プログラム見本」が課題、宿題によるものが多いから、宿題スレになってるのであって
>別に自分の学習目的の為のプログラム見本でも構わない。
宿題スレで答えてる側の人間は、宿題じゃなかったら基本的には引き受けるつもりはないよ。
741 :
デフォルトの名無しさん :2005/07/17(日) 14:39:10
734 736 737 >>> 頭の悪い子がこんなにそろっているとはおもわなかったよw バカは君らの方です。 君らは国語の勉強もそうだが、 人に親切にするという「道徳」を幼稚園レベルから やり直さないといけないみたいだね(ぷ
自分のことを棚に上げて変なことを言ってる奴が一人(プゲラ
743 :
デフォルトの名無しさん :2005/07/17(日) 14:48:58
行き過ぎた親切は悪用されるしね。 そのことを分かってない子供もいるみたいだ。
このスレは解等そのものをいうよりはそこへ導くために 親切に遠回りさせてるからね 探し方を覚えなければまたつまずくたびに質問しやがる
質問。 アプレット上でジョイスティック等の外部装置を使うことは絶対に出来ないのでしょうか? ActiveXを使えということでしょうか。
今5.0系はおとせないっぽいね
727です。 宿題スレから戻ってきました。今一度お力を。 指示された部分のjavadocを読んだり、色々なサイトをググってみたのですが、 StyleContextやDefaultStyledDocument、SimpleAttributeSet、StyleConstantsあたりのクラスを利用するくらいの ことしか自分にはわかりませんでした。 どなたかまずは上記クラスの使い方をご教授願えませんでしょうか。
レンダラつかったほうが手っ取り早いかも
751 :
デフォルトの名無しさん :2005/07/17(日) 17:24:32
>>749 クラスの使い方を教授しろと言われても、それこそ参考書の一章分くらいの
文章量になってしまうからね。。。
そこまでの How to 質問は、どこの質問サイトでも無理かと。。。
一応ダメ元で、向こうで見本プログラムを書いてくれとか言ってみては?
質問です。アプレットで制限されている事項を除けば、 JAVAで出来ることはアプレットで実現することは可能でしょうか?
そうだね
JNIって使えたっけ?
アプレットでも使えるよ もちろん署名が必要だけど
署名なんて二つ返事でOKしちゃうから確実にウイルス感染だね。
758 :
デフォルトの名無しさん :2005/07/17(日) 19:50:10
JSPで、テキストファイルからデータを読んで出力したいのですが、 下記の部分でエラーが出ます・・・ レベルが低くて申し訳ないですが、どうかご教授おねがいいたします。 <% String pth = application.getRealPath("WEB-INF/log.dat"); is = new FileInputStream(pth); bis = new BufferedInputStream(is); dis = new DataInputStream(bis); String aaa = dis.readUTF(); ←ここでエラーになります。 out.println(aaa);
>>758 表示されるエラーも貼り付けておくんな。
普通に読み書きしてたら文字コードはシステムデフォルトのものだから readUTFでは変換辞書に無いアドレスにぶち当たってぶち切れるとかじゃない?
>>758 readUTF() は、あるフォーマット(先頭2バイトはデータサイズ、後は
UTF-8のバイナリデータ)のバイナリデータをStringにするメソッドです。
故に、そのフォーマットのバイナリしか読み込めません。
そのメソッドの一般的な用途は、DataOutputStream#writeUTF() で書いた
バイナリを読む事です
おっと、適当に知ったかして恥かいちまった。
>>758 そういうこった。
763 :
デフォルトの名無しさん :2005/07/17(日) 20:18:12
では(通常のフォーマットの)txtファイルの中身(文字列)を読み込む にはどうすればよいのでしょうか。 私の本には『文字列を読みたいならreadUTF()を使って下さい』 としか書いてないのです。 何度もすみませんが、よろしくお願いします。
764 :
デフォルトの名無しさん :2005/07/17(日) 20:24:37
>>763 bis からそのままバイナリデータを読み込んで、それをバイト配列に格納し
そのバイト配列を、new String(byte[]) で、String にしてください。
765 :
デフォルトの名無しさん :2005/07/17(日) 20:26:44
又は、is を InputStreamReader を仲介して BufferedReader にし、 そのReadLine() メソッドを繰り返してください。
766 :
デフォルトの名無しさん :2005/07/17(日) 20:32:41
とてもとてもとてもとてもありがとう!!
>>759 ,760,761,762,764,765
まぁ
>>764 は天邪鬼というかある意味うそつきといえるけどな
768 :
デフォルトの名無しさん :2005/07/17(日) 21:35:27
はぁ? 俺のどこがウソツキなんだ?
769 :
デフォルトの名無しさん :2005/07/17(日) 21:45:35
改行文字列をご存知の方、教えてください。 ファイルに ********************* aaa bbb ********************* と書き込みたいんですが、改行出来ないので ********************* aaabbb ********************* となってしまいます。 よろしくお願いします。
>>769 「改行出来ない」ってのも謎だが、PrintStreamとかPrintWriterをどうぞ。
<br>で出来るよ。 ある意味\r\nとしとくと幸せかも知れない。
772 :
デフォルトの名無しさん :2005/07/17(日) 22:05:01
質問です、javaで幸せになれますか? .netのほうが幸せになれますか?
改名しないと地獄におちるわよ
まずお前が今幸せかどうかが問題だ。
幸せを定義せよ
俺みたいな777は幸せ
778 :
デフォルトの名無しさん :2005/07/17(日) 22:58:27
eclipse 2.1.1 でUMLを使いたいんですけど 何をインストールしたらいいの?
Eclipse3.1
意地でも自分の間違いを認めることができず他人を貶すことに必死な
>>741 は惨めだ。
>>746 このスレでそのように泣きながら懇願しても
だれもチミを助けてはくれないだろう。
Sunにメールを送ってみれ
>>773 ドットNEETになるかJavaコーヒーをメーカーの経営者になって億万長者に
なれるかはお前次第
>>771 OSがWindowsじゃなかったらそりゃおかすぃ
>>778 UML2 or Omondoをインスコ
>>779 3.1はOmondoがまだ使えぬ!
3.0までしか使えぬ
3.1ってVisualEditor動いてる?うちはエラーで動かん まあ無くてもかまわないけどさ
動いてる。
そうなのか 入れなおしてもだめだからあきらめるとしよう
789 :
デフォルトの名無しさん :2005/07/18(月) 02:33:38
ふつうに画像の上に画像描画すれば?
あるクラスAを作成して、そのクラスのコンストラクタが引数をとるとします。 別のクラスで、Aの配列を用意するとき、生成時にコンストラクタを呼び出したいときにはどうすれば良いですか? class A { A(int num) { System.out.println(num); } } class B { hoge { A [] a = new A [10]; ← ここで、Aのコンストラクタを呼びたい } }
>>791 無理
for(a.lenght){
a[i] = new A(0)
}
この手の質問何回目?
質問です。 PE形式を扱える(つまり.class形式じゃなくて.exeにコンパイルする)Javaコンパイラをご存知でしょうか? あれば教えてください。
swingって各クラス名に J が付いてるけど何の略?
795 :
793 :2005/07/18(月) 08:46:35
>>794 Javaの略だと思う。
ちなみにMFCの各メゾットにCが先頭についてる。
スレ違いスマソ。
>>795 レスありがと
.exeはJSmooth使えばできるよ
あ、でもJSmoothってjar包容するだけだったような。 連レス米
>>776 class Fortune {}
はい定義した
じゃあ、こうしよう abstract class Fortune{} 幸せとは抽象的な概念だ。 中身がないようにみえて実は中身がある。 中身と実態は継承したサブクラスにある。 だから、間違ってもこれはありえない final class Fortune{}
6.1.8. Java Package Recommendations
http://fedora.redhat.com/docs/release-notes/fc4/#id2503931 Fedora Core 4 users are advised not to use the Java RPM provided by Sun.
It contains Provides that conflict with names used in packages provided as
part of Fedora Core 4. Because of this, Sun Java might disappear from an
installed system during package upgrade operations.
Fedora Core 4 users should use either the RPM from jpackage.org or manually
install the Sun Java tarball into /opt. Sun Java 1.5+ is recommended for stability purposes.
Fedora Core4もJavaのサポートが厚くなったようだ。
Eclipse製品、Jakarta製品も同梱されるようだ。
>>791 > A [] a = new A [10]; ← ここで、Aのコンストラクタを呼びたい
A[] a = new A[]{new A(0), new A(1), new A(2), new A(3), new A(4),
new A(5), new A(6), new A(7), new A(8), new A(9)};
みたいに配列初期化子使えば?
おいおい、そんなやり方するなら A[] a = new A[10]; for(int i = 0; i < a.length; i++) { a[i] = new A(i); }
java.util.loggingを用いて以下のコードでログ出力を試しているのですが、 ログレベルをALLに設定しているのになぜかFINE, FINER, FINEST, CONFIGが出力されません。 何かわかる方いますでしょうか? ご教示願います。 Logger logger = Logger.getLogger("Log Test..."); Handler handler = null; try { handler = new FileHandler("test.log"); } catch (SecurityException e) { System.out.println(e); e.printStackTrace(); } catch (IOException e) { System.out.println(e); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } Formatter formatter = new SimpleFormatter(); handler.setFormatter(formatter); handler.setLevel(Level.ALL); logger.addHandler(handler); logger.log(Level.INFO, "info"); logger.log(Level.ALL, "all"); logger.log(Level.CONFIG, "config"); logger.log(Level.FINE, "fine"); logger.log(Level.FINER, "finer"); logger.log(Level.FINEST, "finest"); logger.log(Level.SEVERE, "severe"); logger.log(Level.WARNING, "warning");
806 :
デフォルトの名無しさん :2005/07/18(月) 18:21:07
開発環境はEclipse3、JDK1.4、oracle9iです。 import oracle.jdbc.driver.*; と書くと、インポートされたoracleは見つかりませんとと出ます。 どうすればいいのでしょうか?
>>807 oracleのjdbcのlibフォルダにあるjarファイルを全部通してます。
全部通すのがまずいんですかね?
Oracleならclasses**.zipとかってやつじゃないかね?
外部jarの追加
Add External JAR
すべてのJARファイル名を見せてみろ
>>812 classes12.jar
classes12_g.jar
classes12dms.jar
classes12dms_g.jar
classes111.jar
classes111_g.jar
nls_charset11.jar
nls_charset12.jar
ocrs12.jar
ojdbc14.jar
ojdbc14_g.jar
jdbcのlibフォルダの中身を全部追加してます。
わらた
815 :
805 :2005/07/18(月) 20:46:16
ロギングについてですが。 調べたところ、 %JAVA_HOME%/jre/lib/logging.properties に .level = FINEST または .level = ALL を追加することでCONFIGからFINE, FINER, FINESTまですべて表示されました。 しかし、どうしても気がかりで腑に落ちないことがあります。 以下のように設定しても java.util.logging.FileHandler.level = FINEST java.util.logging.ConsoleHandler.level = FINEST この設定ののち該当するハンドラクラスを使用してもそれが有効にならないのです。 これは一体どういうことでしょうか? 何かわかる方がいましたらご教示願います。
windowsのjavaでVSMってコマンドは使えますか? もし使えるなら使い方を教えてください。お願いします。
817 :
デフォルトの名無しさん :2005/07/18(月) 21:39:12
正規表現の使い方を教えてください。 とあるスクリプトの解読をしたいんですが、 そのスクリプトは\の後の1文字を命令としています。 \a\b\cなどのような感じです。 この時、\の後の1文字をあらわすには、"\\\\([a-z])"という表現でいいと思うんですが、 ([a-z])というようなカッコでくくった中を取り出すにはどうしたらいいんでしょうか。
>>817 正規表現を聞きたいのになぜこのスレに来たのかを知りたい。
819 :
817 :2005/07/18(月) 21:42:52
javaで正規表現を使いたいので、ここへ来ました。
>>817 それは\\aとか\\bとかにマッチさせてaだのbだのを取り出したいってことか?
ならそれでいいでしょ
取り出すのには
Matcher matcher = regexp.matcher(str);
while (matcher.find()) {
string ch = matcher.group(1);
}
とかかな
821 :
817 :2005/07/18(月) 21:53:31
ありがとうございました。それでできました。
>>805 ロギングを勘違いしているぞ
Loggerのレベルはまとめて扱うためのもの
Loggerに対して実際に書き出すハンドラをセットする
ハンドラがない場合は親のLoggerを使う
つまり、デフォのままだとハンドラがINFO以上しかださないようになっていて
LoggerをALLにしてもかわらないということ
ハンドラのほうをALLにしてセットしてみてくれ
そしてLoggerで絞るのだ
823 :
デフォルトの名無しさん :2005/07/18(月) 22:41:09
何故ImageI/OではString型を引数にしてイメージのロードが出来ないんでしょうか? 画像が沢山あったらFileクラスを沢山つからねばならず、面倒だと思うんですが
824 :
デフォルトの名無しさん :2005/07/18(月) 23:43:40
すみません、アプレットでファイルを作成する方法を教えてもらえませんか? 署名すればいいとか聞いたんですが、その方法がわからない状況です。 よろしくお願いします。
825 :
デフォルトの名無しさん :2005/07/19(火) 00:07:46
>>823 ここをImageIOクラスの設計者が見ている可能性がどれほど
あるというのか。
BugParadeにでも行きなさい。
826 :
デフォルトの名無しさん :2005/07/19(火) 00:14:13
eclipse2.1.1 でUML2はインストールできます? eclipse3.1じゃナイト無理ですか?
>>823 高速化のためにそのままつかわずラッパ用意するからさほどきにしてないなぁ
文字列だけが引数だとリソースとどっちを優先するかで悩むかも
828 :
デフォルトの名無しさん :2005/07/19(火) 00:33:58
ジャヴァ勉強し始めのものです 超初心者です 困ってます やさしいジャヴァ読んでいるものです キーボードからの入力、コンバイルできたのに、日本語の変換が出来ません つまり[hello]は出力できるのですが「こんにちは」はでません なぜですか? ジャヴァのインストールは出来たと思うんですが、、、 インストールした回答集でも出来なかったので、プログラムのうち間違いってこともないと思います こんなとこでつまづきたくないです 何か、確認する方法だけでも教えてください よろしくお願いします
それってDOSのこと?
>>828 Javaの前に日本語も上手くできてないよ。
831 :
デフォルトの名無しさん :2005/07/19(火) 00:49:58
コマンドプロンプトです
コマンドプロンプトで日本語を入力したいなら【Alt+半角/全角】だ。 あとコンバイルじゃなくてコンパイルな。
833 :
デフォルトの名無しさん :2005/07/19(火) 00:52:09
言葉伝えるの下手ですいません コマンドプロンプトの画面で入力画面になると、直接入力に固定になるんです そんなもんなんですか?
834 :
デフォルトの名無しさん :2005/07/19(火) 00:55:23
できましたあ!知識不足ですいません どうもありがとうございました これで、先に進めそうです ほんとうにありがとうございました
servletちょっと齧った程度なので解らないんですが、コンソールアプリケーション からservletに直にPOSTして、HTMLを受け取るって事は出来ますか?
>>835 できる。普通にサーブレットに投げるだけ
このスレここ最近ひどすぎるな・・・
838 :
デフォルトの名無しさん :2005/07/19(火) 03:20:52
>>838 嘘をつくのは良くないス (´・ω・)
見に行ったら即座に見つかったス (´・ω・)
840 :
デフォルトの名無しさん :2005/07/19(火) 04:06:04
jarファイルって→ EclipseUML 2.1.0.20050718 Free と書かれてるやつのことなんでしょうか? 一応ダウンロードして実行してみたんですが jarファイルは見つからなかったんですが・・・・
842 :
838 :2005/07/19(火) 04:10:10
さっきからそれらしいものはいろいろとダウンロードしてみてはいるんですが・・・ どのファイルを実行してもUMLがインストールできないですわ・・・ んー・・困った・・・
843 :
デフォルトの名無しさん :2005/07/19(火) 04:11:25
すいません。2日悩んでいます。本当質問させてください。 ファイルアップロードをしようとし、com.oreilly.servlet.MultipartRequestを使っています。 ファイルアップロード自体は出来たんですが、コメント等のテキストを送ろうとしたところ、 SavePostedFile.java:103: シンボルを解決できません。 シンボル: コンストラクタ MultipartRequest (javax.servlet.ServletRequest,java.io.File,int) 場所 : com.oreilly.servlet.MultipartRequest の クラス MultipartRequest multireq = new MultipartRequest((ServletRequest)req,tmpdir,10*1024*1024); ^ と返されてしまい、コンパイルできません。 コンストラクタがないのかと思いましたが、WEB-INF/classes直下に置いて確認しました。 どうか、わかる方解決策をお願いします。。
>>843 ファイルアップロード以前の問題。
コンパイル時に必要なクラスパスに必要なライブラリが含まれていないだけ。
>>836 どうもです。
ググってたらそれっぽいやり方見つけたんでやってみます。
846 :
デフォルトの名無しさん :2005/07/19(火) 08:39:37
ある程度ファイルの数の多いプロジェクトのライセンスをGPLにしようと思います。 すべてのソースコードのヘッダにGPLライセンス文を埋め込みたいのですが、 一括して行う方法はありますか?いっこいっこ挿入していくのは不便なので。 宜しくお願いします。
847 :
デフォルトの名無しさん :2005/07/19(火) 09:39:33
>>844 ありがとう!おそらくそれが原因ですorz一旦ハマると抜け出せません…。
更に質問で申し訳ないんですが、
注: com/oreilly/servlet/MultipartRequest.java は推奨されない API を使用またはオーバーライドしています。
注: 詳細については、-deprecation オプションを指定して再コンパイルしてください。
と警告が出ました。。自分はJcPadでコンパイルしてるのですが、非推奨APIを無視するオプションのあるequlipsを使わずに、-deprecationエラーを通す方法はありますか?
>>823 StringよりもFileのほうがいいだろう
BufferedImage bufferedImage = ImageIO.read(new File(new File("/usr/local/apache2/htdocs/images/"),"a.jpg"));
これが不満か? これでStringを引数にできるぞ。
お前はこうしたいだけだろうが上とさほど変わらんだろう。
BufferedImage bufferedImage = ImageIO.read("/usr/local/apache2/htdocs/images/a.jpg");
むしろ、この後者よりも上の前者のほうが柔軟性があるだろう。オブジェクト指向的見てば
Fileを引数にしたほうが良いことがわかるはず。
いちいちStringに入る引数が本当にファイルであるかどうかをImageIOクラスの中で処理するのは
ばかばかしい。Fileクラスに任せられることはすべてFileクラスにまかせるべきだ。
eXtreme Programmingでは不要なメソッドは作らないという鉄則があるのだ。
すでにFileを引数にしたメソッドがあるのになぜわざわざStringを引数にしてファイルを読み込む
メソッドを作らなければならない? あまりにも冗長過ぎて無駄だ。
引数をやたらとStringにするとオブジェクト指向言語としての利点が損なわれる。
そんなに不満があるならImageIO.read(File)などをラップしてStringを引数にしたクラス、メソッドを作ればいい。
それでも納得いかなければImageIO.read(File)をオーバーロードしたImageIO.read(File)を
作ってもらうように作者に頼んでみろ。
仮にそんなメソッドが作られても
こう実装されるだけだろうがな。
pulic static read(String fileName){
return BufferedImage ImageIO.read(new File(fileName);
}
849 :
デフォルトの名無しさん :2005/07/19(火) 10:06:18
整数を蓄えることのできるスタックのクラスの定義の仕方がわかりません。 どなたか教えてもらえませんか??お願いします><
>>826 Omondoなら2.1.1にはインストールできるぞ。
3.1にはできるが動作保証は知らん。
UML2.1.1は知らん。3.0なら動くらしいが。
>>840 お前の目は節穴か!
ファイルよくを見ろ → こっちは右だバカ
853 :
デフォルトの名無しさん :2005/07/19(火) 10:10:25
課題なんですがまったくわかりません・・・。 助けてください>< 第1のコマンド引数(1文字とする)で与えられた文字が、第2のコマンド引数に何個含まれているかを求めるアプリケーション CountCharを作成しなさい。 例)以下のように、実行すると "baabaa"の中には、四つの a が含まれているので、4を表示する。 Q:\> java CountChar a baabaa 4 Q:\>
>>853 簡単じゃないか
配列の使い方と
main(String[] args)のargsの意味をわかっていればすぐできる
856 :
デフォルトの名無しさん :2005/07/19(火) 10:32:46
857 :
デフォルトの名無しさん :2005/07/19(火) 10:40:12
>>855 argsで文字を HELLO World !!
とかかけば
args[]=hello
args[1]=World
args[2]=!!
みたいなのが出るんですが、
これじゃあないみたいなんです
おはようございます。 Jeodeを使った組み込み機器用アプリを作っているのですが、 ファイル入出力時のエンコーディング名が分からなくて困っています。 SJIS、MS932、Shift_JIS、JIS2022JP、ms_kanji、x-sjis、windows-32j…… 全て、UnsupportedExceptionを返してきます。 クラスパスの設定が悪いのかとも思ったのですが、 ISO8859_1(Jeodeのデフォルトエンコーディング)などの一部の エンコーディング名では、文字化けはしますが読み込み自体はできています。 どなたか、ご存知の方がいらっしゃいましたら、アドバイスお願いします。 ちなみに、OSはWindowsCEです。
859 :
858 :2005/07/19(火) 10:52:34
訂正、UnsupportedEncodingExceptionでした。 どうか、よろしくお願いします。。。
>>858 1. キミが使っているJREのマニュアルを読む
2. キミが使っているJREのベンダーに問い合わせる
3. キミが使っているJREのベンダーとバージョンなどをここに晒す
>>857 すでに宿題スレでうまくいって学校に提出済みなんじゃないのか?
>>858 java.nio.charsetあたりでも読んでみれば?
863 :
デフォルトの名無しさん :2005/07/19(火) 11:19:18
>>560 すみません。初心者でほんとに何もわかってません・・。
とりあえずメモ帳でプログラムを書いてCygwinでコンパイルするという感じです…。
864 :
デフォルトの名無しさん :2005/07/19(火) 11:29:52
はじめまして。質問です。 JSPファイルで、JavaScriptの関数で得た戻り値(JavaScriptの変数値)を Javaの変数( <% int appnum; %> )に代入したいのですがうまく いきません。知っておられる方がいましたら教えて下さい。 よろしくお願いします。
マルチかよ 宿題スレの方に答えておいたぞ
javaでIEEE1394との通信ってできますか?
ふと、Javaでシューティングを作ろうと思った。 すると、弾と敵と自機に共通点があることがわかった。。 こういう時にインターフェースを造るものなのですか?
設計上または実装上の利点があるなら
869 :
843 :2005/07/19(火) 14:13:47
>>844 エラー復活しましたorzどうやら
MultipartRequest multireq = new MultipartRequest((ServletRequest)req,tmpdir,10*1024*1024);
この1行があるとエラーっぽいです。
import com.oreilly.servlet.MultipartRequest;
は通っているので、クラスパスは通っているはずなんですが…。
CLASSPATHを通している所にjavaファイルとMultipartRequest.classを置いてコンパイルを試しています。
何か不備な点があれば指摘お願いします。。。
>>867 インターフェース、または継承は使いまくりだよ
>>869 MultipartRequestクラスにそういう型のコンストラクタが無いんじゃないの?
>>867 インターフェースや抽象クラスの使い方を覚えたいなら
デザインパターンを勉強することを押すすする。
結城浩のデザインパターン本ならわかりやすい
>>843 コンストラクタの2個目のパラメータはFileではなくStringではなくて?
874 :
デフォルトの名無しさん :2005/07/19(火) 14:38:53
>>871 public class MultipartRequest {
private static final int DEFAULT_MAX_POST_SIZE = 1024 * 1024; // 1 Meg
protected Hashtable parameters = new Hashtable(); // name - Vector of values
protected Hashtable files = new Hashtable(); // name - UploadedFile
(ry
とあるのでコンストラクタは生成されているっぽいのです。。
ためしに、他のオレイリの全てのクラスを突っ込んでみたけどダメでしたorz
つд`)
>>867 UMLでクラス図を書いてみると面白いぞ
876 :
874 :2005/07/19(火) 14:42:15
buildにもsrcフォルダにもマルチパートがあるorz 両方試しても無理とかもうね!オレイリだめぽ…
>>813 そのJARファイルの中身すべて解凍してディレクトリ構成、
マニフェストファイルの中身を確認してみたら?
EclipseでJarを追加すればすぐにエラーがでて
Jarの中にあるクラス、パッケージがどういうものかわかるので
すぐに確認できる。
重複してるのがあると思う。
しかし名前が酷いな。
classes12とか番号つけただけのネーミングセンスはなんとかならないのか。
似たような名前のがあるのは単なるバージョン違いによるものではないか?
>>813 通せばいいというものではない。必要なものだけに絞れ。
>>874 > とあるのでコンストラクタは生成されているっぽいのです。。
全然意味がわからん。コンストラクタは生成されるものなのか?
ハナっからAPIとして定義されているものだが。
880 :
874 :2005/07/19(火) 15:11:44
>>879 コンストラクタは自分で定義して生成するものだと。。
たまたまパッケージを丸ごとDLしてきたので、参照するコンストラクタがMultipart.classで既にあるものですが。。
同じ階層にある別のクラスの中のコンストラクタを参照することを、○○ ×× = new ○○(引数);だと思っています。
ああぁ違ってたらスマソ
881 :
874 :2005/07/19(火) 15:14:17
連投マジすまん。 jarもclassも正しい場所にある場合、コンストラクタは何処を見に行ってるんですか!?
>>874 ちょっと落ち着け。何言ってるか分からんから答えようがないよ。
> jarもclassも正しい場所にある場合、コンストラクタは何処を見に行ってるんですか!?
正しい場所にある jar(or class)でそ。
質問です!!! コンストラクタをオーバーライドしたいんですが、 こういう場合メソッド作るしかないんでしょうか? おねがいします。 public class a { public final String x; public final String y; public final int z; public a(String x,String y,int z) { this.x = x; this.y = y; this.z = z; } public a(String x,String y) { //ココを this.x = x; this.y = y; this.z = 1; //こういうふうにしたい this.a(x,y,1); } }
>>884 普通に、
public a(String x,String y) { this(x, y, 1); }
で出来ると思われ。
>>884 それだけの例だとなんともいえない。
呼び出し側で a(x, y, 1); とするのが最適なのかもしれないし。
>>880 > 同じ階層にある別のクラスの中のコンストラクタを参照することを、○○ ×× = new ○○(引数);だと思っています。
かなりわけわかんなくなってるな・・・
入門書からやり直した方がよさそうだよ。
ああ、そういうことか。ごめん。
>>886 は忘れてくれていい。
自クラスのコンストラクタを参照するのは this.a(x, y, 1); じゃなくて this(x, y, 1);
890 :
884 :2005/07/19(火) 16:04:41
>>885 >this(x, y, 1);
こんな参照方法があったのですね
しらなかった_| ̄|○ il|!
解決しました!ありがとうございました。
>>886 何パターンか用意したかったもので
>>890 それを「コンストラクタのオーバーロード」と言うんだよ。
892 :
884 :2005/07/19(火) 16:52:11
>>891 勉強になりました。
てっきりオーバーライドだと・・・orz
InetAddressのメソッドの使い方のプログラムで byte bytes[] =ias[i].getAddress(); for (int j = 0; j < bytes.length; j++){ if ( j > 0 ){ System.out.print("."); } if ( bytes[j] >= 0){ System.out.print(bytes[j]); }else{ System.out.print(bytes[j] + 256 ); } } System.out.println(""); の部分がなにやってるか良くわかりません。 誰か細かく教えてください・・・ 素人ですみません・・・
ソースの一部だけ見せられてもわかるわけない。
import java.net.*; class InetAddressDemo{ public static void main(String args[]){ try{ //アドレスを取得する InetAddress ias[] = InetAddress.getAllByName(args[0]); for (int i = 0; i < ias.length; i++ ){ System.out.println(ias[i].getHostName()); System.out.println(ias[i].getHostAddress()); byte bytes[] =ias[i].getAddress(); for (int j = 0; j < bytes.length; j++){ if ( j > 0 ){ System.out.print("."); } if ( bytes[j] >= 0){ System.out.print(bytes[j]); }else{ System.out.print(bytes[j] + 256 ); } } System.out.println(""); } }catch(Exception e){ e.printStackTrace(); } } } ごめんなさい、これです。
897 :
874 :2005/07/19(火) 17:25:49
すまん、頭に血がのぼってた…。 パラメータの2番目のFileをStringにしたら普通にコンパイル通りました。。 お騒がせしてすんません。そして有難うございますorz
>>896 ありがとうございます。
最後のSystem.out.println(""); はなんの意味があってあるんですか?
>>898 改行を入れる、だけ。
ちなみに、そういう目的なら引数なしで System.out.println() のほうがより適切だと思う。
>>899 あ、なるほど。
丁寧なレスありがとうございました。
がんばって勉強します。
>>870 インタフェースはともかく、継承の使いまくりはいかんだろう
>>901 シューティングゲームあたりだと実装の手間を省くために継承が使いまくりになる場合も多い。
設計してみればどういうところで必要になるかとかで書いてみれば分かる。
ほとんど同じような動きになるからね。
デフォと違う動きだけカスタマイズするとかそういう感じになる。
904 :
デフォルトの名無しさん :2005/07/20(水) 00:30:18
>>901-902 どういうふうに継承をつかいまくるかによるがな。
委譲や集約ですませるべきところに
継承に使ってしまい、クラス間の関係を密にしてしまっては本末転倒。
デザインパターンのことを全く知らない奴が
継承を使いまくると大抵スパゲティコードができあがって
ソースコードがとんでもなく読みづらくなる。
何も考えずに同じクラスを何階層も継承して継承して、
継承するたびにメソッドの数が増えて増えて、
最下層の数個のクラスはメソッドの数が何十にもなる羽目に。
しかも無駄にオーバーライドしたメソッドも数多く。
オーバライドで何かしているかと思えば
ただスーパクラスの同じシグニチャのメソッドを呼び出しているだけ。
オーバライドする意味がねーだろがといいたいコード多し。
こんなコードばかりでは解析がとんでもなく手間取る。
最悪だった。そういうコードを売りつけてプロジェクトから
逃げたそいつがウザイと思ったよ。
そんな汚いコードを買い取る上司や営業もウザイと思ったが。
905 :
デフォルトの名無しさん :2005/07/20(水) 01:03:17
>>904 Eclipseとか、継承しまくりだぜ。
まあスーパークラス呼ぶだけの無駄なオーバーライドしてるんなら
そういったレベルでない酷さなのは想像できるが。
上司も営業もコード読めないのに、一度でもマに見せないで
買い取った時点でダメダメだな。
おれテンプレートメソッドを良く使うので、継承はけっこう使うなあ。 ベースクラスに、実装時に差異になるところだけabstractなメソッド作って、継承したクラスで 個別の実装して使い回すってのをよくやるんだけど。
>>907 そういうの、経緯を知らん人が見ると意図も影響も分からんメソッドばかりに
見えたりしやすいんだけどな。
しかしたとえばファイルの更新だがファイル形式だけが異なるとか、 極端にいってファイル名だけが異なるとかだと、ファイル名を返すabstractなメソッドを 作っといてサブクラスで実際のファイル名を定義.....とかやらないか? まあこの例は極端にしても。
そんなもんはサブクラスにせず同じクラスでもフィールドの値を変えるだけでいいよ。 あるいはメソッド呼び出し時に引数で与えれば。
質問です。 グレースケールの画像(画像A)と普通の画像(画像B、画像C)を用意して、 Java プログラム上で画像Aをマスクにした画像Bや画像Cの Image を得る方法はありますか? つまり、AlphaComposite を設定した Graphics2D 上に画像Aを描いてから 画像Bを重ね描きした場合に得られる結果を、独立した Image として扱えないでしょうか? (はじめからマスク処理した画像B' と画像C' を用意するのは困難な状況です) 画像処理に詳しくないので説明に変なところがあるかもしれませんが どうか教えていただけるようお願いします。
>>901 の言いたいことは、継承階層が深くなりすぎる
のはいかんという意味だと桃割れ
WindowsXPを使っているのですが、execからclsコマンドを使用することはできないのでしょうか? runtime.exec("cls"); のようにすると、IOException が発生してしまいます
もういまどき内部コマンドなんて知らんわな。 "cmd /c cls" でやってみ。詳しくは cmd /? 参照
Runtime.getRuntime().exec("c:\\windows\\system32\\cmd.exe cls"); とかコードも検証せずに適当ぶっこいてみるてすと
cmd /c cls じゃないとプロンプトで止まってしまうんジャマイカ?
Javaからcmd / clsを実行することに一体何の意味があるのだろうか?
質問です。 connectionとかstatementを2回クローズするとexception帰ってくる? connection a ←もう繋がっていると仮定 try{ //色んな処理 a.close(); }catch(){ //処理 }finally{ a.close(); } まぁこんなソースがあった訳。んでJrunからTomcatに移して 動かして見たらTomcatの方で既にクローズされてるってエラーがあがって来たのね。 これってTomcatの設定?それとも上がってくるもの? 教えて藻前ら〜アワワ ヽ(´Д`;≡;´Д`)丿 アワワ
> すでにクローズされた Connection オブジェクトで close メソッドを呼び出すと、操作は行われません。 と明記されている以上、Tomcat のインプリがおかしい。
>>919 おかしいのはTomcatじゃなくてJDBCドライバ(Connectionの実装)だろ?
>>919-920 おお、すばやい回答本当に(TдT) アリガトウ
( ´・ω・`)_且~~ オチャデモドウゾ
JDBCちょっと調べて見る。TOMCATの設定とか色々と。自分がやったわけじゃないから
パニクリまくりなのが辛い_| ̄|○
>>920 そう読めないのか?
「Tomcat の JDBC (Connection インターフェース) のインプリがおかしい」 これで良いか?
>>922 ダメ。
Connectionインタフェースの実装を提供しているのは、TomcatではなくJDBCドライバだ。
TomcatにはConnectionの実装は含まれていない。
>>922 つまり、Tomcatは無関係。JDBCドライバを入れ替えると解決すると思われる。
>>922 もう少し補足すると、Tomcatは無関係なので、同じJDBCドライバを使った場合、
Tomcatではない、他のコンテナでも同じ問題が起こる可能性が高い。
926 :
デフォルトの名無しさん :2005/07/20(水) 17:45:50
ArrayListからbyte型の配列に変換したいんですが うまい方法はありますか? toArray()だとjava.langByte[]になっちゃうんで・・・
ArrayListに何が入ってるんだ?
928 :
デフォルトの名無しさん :2005/07/20(水) 20:21:22
困っています教えてください。 java.io.Serializableは何もメソッドのないインタフェースです。 僕の理解では "インタフェースとはポリモルフィズムの実現を意図する等のために 抽象メソッドだけで構成されたクラスのようなもの" なのですが、java.io.Serializableを見ているとただ単にコンパイラに 対して直接働きかける"修飾子"や"ステートメント"のようなものに見えます。 どういう風に理解するのが出しいのでしょうか?
>928 Serializableみたいなのをマーカーインタフェースといいます。 ちょっと調べてみたけど「マーカーインタフェースとは何か」というのをちゃんと書いてある文章って見つからないですね。。
930 :
デフォルトの名無しさん :2005/07/20(水) 20:51:10
>>929 さん
ありがとうございます。僕自身勘違いした質問しているようで恐縮でした。
ところでこんなよく使われるものの説明についていい情報が得られないと
いうのはどうにもおかしいのではないかと思います。
マーカーインタフェースはinstanceof演算子を使って あるマークが付けられていると識別するためだけのものだったかと オーバーロードとかで敬称クラスとその他で振り分けられたりできるはず ごめんうろ覚えで適当
おれの継承の使い方。 abstractなスーパークラスを作ったら それを継承するサブクラスは ほとんどfinalにする。 これでバカにコードやJARを引き継がせても アフォな継承をさせられなくて済む。
933 :
デフォルトの名無しさん :2005/07/20(水) 23:11:15
>>909 > しかしたとえばファイルの更新だがファイル形式だけが異なるとか、
> 極端にいってファイル名だけが異なるとかだと、ファイル名を返すabstractなメソッドを
> 作っといてサブクラスで実際のファイル名を定義.....とかやらないか?
やることはやるにしても
Fileで返せるものをStringに返したり
ObjectにしなくていいものをObjectで返されるのは御免だ。
大手某N社のとあるバカが作ったコードは
メソッドの戻り型すべてObjectなんかになっていてひどいもんだった。
理由はどんな型が返ってくるかわからないからだそうだ。
バカにもほどがある。
引数もObject型にする奴も最悪だな。
まるでVBのVARIANT型やスクリプト言語みたいで気持ち悪いもんだ。
こういうケースになると、Genericsを導入したくなってくるものだ。
>>910 > そんなもんはサブクラスにせず同じクラスでもフィールドの値を変えるだけでいいよ。
そんなこともせずにResourceBundleを使えと。
その前に定数はinterfaceやクラスに分割しろと。
定数の数が増えるとろくなことがない。
>>918 お前のために用意された素晴らしいメソッドがある。
Connection#isClosed()
使ってみよ。
if(conn != null && conn.isClosed()){
conn.close();
}
>>918 Connectionオブジェクトはどうやって取得している?
単純にClass.forName()から初めてDriverManagerを使って
読み込んでいるのか?
それとも、Tomcatのserverl.xml, DataSourceを使ってJNDIから
呼び出しているのか?
もし後者ならserver.xmlのデータソースの設定次第で
Connectionをclose()し忘れても問題が多発しにくする方法がある。
し忘れたらの話だが
closeし忘れるようなコード書く人はいりません IDEなら検索でさくっとclose検索できると思うが管理者ならそれくらいチェックして 査定しないとな
マーカーインターフェースとは クラスにマーカーをつけられるからマーカーインターフェースというのだ 蛍光イエローマーカーで教科書に重要語を黄色でマーカーするように。
>>933 ほぼ同意。せっかくJavaは「型安全性」のある言語なのに・・・
しかし、Jakarta Commons BeanUtilsは引数や戻り値をjava.lang.Object型にして
疎結合性、汎用性を実現する方向にどんどん行っている・・・いいのか???
BeanUtilsはその性格上しかたねーんじゃないか? 与えられたBeanの戻り値やパラメータなんて不確定だし かといって変なラッパ使わされたら本末転倒だし
Javaに「cast( Class type)」というメソッドがあればいいのになあ。
5.0から確かClassクラスに一応ある。
>>941 それって (type_name)expression のキャストとどー違うわけ?
キャストする型をパラメータ化できる、ということじゃないか?
たしかにGenerics使えるようになって便利になったな とはいえ何で今頃この話題なの
946 :
デフォルトの名無しさん :2005/07/21(木) 01:34:53
>>946 レイアウトマネージャというのを勉強してちょうだい。
>>933 ジャバーなら当然だろ
interface x
object do();
}
doは予約語やったか
>>939 そこでGenericsですよ。
Objectにされてしまった問題は
Genericsでテンプレート化して解決
>>944 <? extends E>
とどう違うのだ
>>946 > panel.add(button);
こういうのを見ているとpanelオブジェクトを宣言するときに
パラメタライズしたくなる。
>>947 ここはこうすべきだろう
interface x<T>
<T> T do();
}
とか
interface x<T extends Number>
T do(T t);
}
class X2 implements<Double> {
Douoble sinc(Double value){
double a = value.doubleValue();
return new Double(Math.sin(a) / a);
}
}
>>950 パラメタ化が静的か動的かの違い。
Genericsでは静的なものしか無理。
>>947 リターン値をオブジェクトにしとくと色んな型が返せて便利じゃないか。
Vector(テンプレート無しね)にしとくとさらにOK。
実話です。
あいかわらずクズばっかりのスレですね^^
class A<T extends MyClass> { private List<A> list; public A(){ this.list = new ArrayList<T>(); } public void add(T t){ list.add(t); } }
質問です。 識者様回答をお願いします。 EventHandler1 h1 = new EventHandler1(); Button button1 = new Button(); button1.addActionListener(h1) EventHandler2 h2 = new EventHandler2(); Button button2 = new Button(); button2.addActionListener(h2) とした時、EventHandler1クラスのactionPerformedメソッドから button2に登録したh2をremoveActionListener()で削除したい場合、 どのようにするのが一番スマートでしょうか? イベント発生時に他のイベントリスナを削除するためには、 イベントソースとリスナが両方ともクラス変数でなければダメなんでしょうか? 回答、お待ちしています。
すいません質問です オラクルJDBCドライバを使ってオラクルに アクセスするツールをSWINGで作りました。 コマンドラインから実行するとうまく動くのですが jarに固めてダブルクリックで動かそうとすると JDBCドライバのロードでぬるぽエラーがでます。 jarでダブルクリックで動かしたい場合、JDBCドライバの置き場所が決まってたりするのでしょうか?
MANIFEST.MFに書いておかないとダメ
>>959 レスありがとうございます
JDBCドライバも書くってことですか?
メインクラスはちゃんと書いてあります
int index = 500; double ary = new double[index]; double sum = 0; //aryにデータをいれる作業を行う for(int i=0;i<index;i++) { sum = sum + ary[i]; } System.out.println("sum = "+sum); という計算を行うとNaNという結果が出力されるのですが、どうしたらいいのでしょうか? ちなみに、aryの中には0か極小さな数値が保存されています。
>>980 そりゃmain()の場所を示すための記述ね。
jar内に入れたjar(...でいいんだよね?) にクラスパスを通すために、
クラスパスを通したいjarを書いておかないといけないんだよ。
実行時にjar内のどこにドライバがあるのかわからんから。
jar内に入れず外部に置いた場合でも、コマンドラインから通しておかないとダメでしょ。
それと同じ。
(注意) このスレで質問をしても回答が得られるのは2割程度です。 どうしても回答が欲しい場合は、新たにその質問のスレッドを立てましょう。
>>963 単発質問スレは回答どころか叩かれて終わりの可能性が高い。
回答してもらえないのは、下記のどれかに該当する場合が多い。
・質問の内容そのものが不十分。問題点をちゃんと伝えられていない。
・試せばすぐわかることをわざわざ質問する
・ぐぐればすぐわかることをわざわざ質問する
>>962 丁寧にありがとでした
試してみたす ペコリ
jar内のjarにクラスパスって通せる? やってみてだめだったんだが、やり方教えてくれー。
967 :
デフォルトの名無しさん :2005/07/21(木) 14:11:39
jComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { System.out.println("actionPerformed()"); } }); jComboBox.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent e) { System.out.println("itemStateChanged()"); } }); コンボボックスに上のようなイベントを追加してアイテムを新たに選択するとitemStateChangedの方だけ2度同じものが実行されてしまういます1度にしたいのですが、どうしていいかわかりません みなさんはどのようにされていますか? windows2000 + java 1.5.0.04
展開して格納しろ
>>961 ary のどっかに NaN が入ってるとか?
NaN + 0d の結果は NaN になるので。
>>966 MANIFEST.MF に
Main-Class: org.hoge.Main
とか書いてるだろ? そんな感じで
Class-Path: . lib/commons-logging.jar lib/commons-lang-2.0.jar 〜
みたいにjar内の相対pathで書いておけばおk
>>969 もしくはaryに正と負の無限大が入ってて、
足したらNaNになったとか。
972 :
デフォルトの名無しさん :2005/07/21(木) 15:20:58
javaでコンパイルされるために、 (side1)^2 = m^2 - n^2; (side2)^2 = 2mn Hypotenuse = m^2 + n^2; はどのように書けばいいのでしょうか?
973 :
966 :2005/07/21(木) 15:40:51
>>968 いや
>>962 の記述を見て展開しなくても良くなったんだっけ?
と思ってしまったわけですよ。でやってみてだめだったと。
>>970 それで試してるんですけどねぇ・・・・。
>>972 mとnについて求めりゃいいだろ
Java関係なくて、中学生の数学の領域だ
>>972 Javaには累乗やってくれる演算子が無いから、
m^2 は m * m か Math.pow(m, 2) で書き直せば?
ってそーゆー事じゃなくて?
すいません、Javaにおける動画の扱いについて教えてください。 Java Media Framework (JMF)というのがあるようですが、これを使えば、動画から 1コマずつを静止画像として取り出すことは可能なのでしょうか?動画のフォーマット はquick timeとaviファイルです。aviのほうは中身が実際にどういうフォーマットなの かわからないので、API任せにしたいのです。 すいませんがお願いします。
>>923-925 コネクションプールの実装ってどこがやってるか知ってるか?
もうちょっと言うと、元の質問はサーブレットコンテナ変えたら動きが変わったという話だがちゃんと読んでるか?
質問させて下さい。 java.awt.Image として得られたjpgなどの画像ファイルのイメージがあります。 Image img = Toolkit.getDefaultToolkit().getImage("ファイル名"); というような感じで取得するとします。ComponentのcreateImageでもいいです。 ここで、このimgインスタンスをいじくり回して、 「元の画像ファイルのサイズ(width, height)」を「画像の表示を行わない」で 取得したいのですが、方法をご存じの方がいらっしゃいましたら教えて下さい。 java.awt.Image#getWidth(ImageObserver observer) 等はもちろん知っていますが、 このメソッドは、observerが表示を行わないと-1しか返してくれないのです。 java.awt.image.BufferedImage#getWidth()も、BufferedImageに変換するときに どのみちサイズを指定するので無意味でした。 引数に画像ファイルを指定するとサイズを返すコンソールアプリなどを考えています。 javaのバージョンは可能なら1.3.*でお願いします。
思いつきで答えると ダウンキャストしてBufferedImage#getHeight()呼ぶとか
MediaTracker getWidth(null)
ありがとうございます。 ダウンキャストしてみたのですが、 java.lang.ClassCastException が出てしまいます…。 質問の補足ですけど、対象ファイルはラスタデータで、そのピクセルサイズを知りたい、 と言う事です。宜しくお願いします。
>>978 普通に ImageObserver 使って調べたら?
個人的には素直に J2SE 1.4以降で imageio 使うなりする方が良いと思うけど。
>>982 ImageObserver 使っても画像がロードされなければ通知は来ない。
>>983 Windows + J2SE 1.3 で調べたけど読み込み完了したら通知来るよ。
AWT用のスレッドが動いたまんまで止まらないらしいので強制終了しないと止まらんかったけど。
985 :
978 :2005/07/21(木) 20:19:07
>>980 それでいけました!ありがとうございました。
Component cmp = new Canvas();
MediaTracker mt = new MediaTracker(cmp);
…
mt.addImage(img, 0);
try{
mt.waitForAll();
}catch(Exception e){}
int w = img.getWidth(null);
>>982 imageioが使えればハッピーなんですけど、
使いたい処理系が1.3のjreしか無いんですよ…
>>983 その通りです。それで困ってました。
ImageObserver 使ってわざわざ非同期ロードを同期ロードと同じように使うなら 素直に MediaTracker 使えよ。
>>986 MediaTracker 使うには Component が必要っしょ。
>>978 をやるなら Component が無い方が良いかなと思っただけ。
>>977 Tomcatのコネクションプールの実装は、Jakarta Commons Pool と Commons DBCP。
java.sql.Connectionの実装は、JDBCドライバ。
わかってんのか?
>>988 アホ? コネクションプールから取り出した Connection を getClass().getName() してみろよ。
そこに JDBC ドライバベンダーに関係する名前が出ると思ってんの?
コネクションプールからとってきた Connection ってタダのラッパでしょ?
だから、元の話の「サーブレットコンテナを変えたら例外が発生するようになった」 「2回目の close() が失敗する」という事を考えれば、JDBC ドライバではなくデータ ソースの実装に問題があるんじゃないか、という話をしてるんじゃん。Connection インターフェースのインプリ (たとえそれがラッパーでも) の問題じゃないかと。 そこへ「Connection の実装は JDBC ドライバ、Tomcat は関係ない」とか言う 勘違いが来ておかしくなった (いまさらそんな話をしていたのではないとか言うなよ?)。
ラッパってのは意味が違うと思ーよ
インプリなんて略す奴にロクなのはいないが
Commons Pool や DBCP でも Connection の実装してんだけどね (ラッパーだけど)。 何で java.sql.Connection の実装は JDBC ドライバ (これも意味不明だが) と限定してんだろ。
コネクションプールがJDBCドライバから取り出したコネクションをそのまま クライアント(呼び出し側の意味な。)に使わせてると思ってる奴がいるのに驚いた。 もう夏休みに入ったんだっけ?
梅
竹
コネクションプールがラッパー返すことくらい知っとけ
松
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。