【初心者】Java質問・相談スレッド86【大歓迎】
なぜDAOやサービスはステートレスに作るべきなんですか?
3 :
規制テスト :2006/06/03(土) 01:46:22
規制テスト
4 :
デフォルトの名無しさん :2006/06/03(土) 01:54:06
一乙
で、結局C/C++とJavaではどっちのほうがいいの?
7 :
名無しちゃん :2006/06/03(土) 11:27:13
今までパソコンに入っていたeclipsは2.1だったので、 3.1に更新したんです。 そして、フリーのUMLを入れました。 すると、eclipsもちゃんと起動してUMLも起動するのですが、 なぜか簡単なソースを入れて実行したら 「Could not find the main class, program will exit.」 とメッセージが出てきて実行できません。 非常にこまっています。 私の力じゃどうにもできないので、解決方法を教えてください。 お願いします。
フリーのUMLってなんですか?
>>7 その、簡単なソースが間違ってるか、パスが通ってないかだろ。
10 :
名無し募集中。。。 :2006/06/03(土) 11:46:15
11 :
名無しちゃん :2006/06/03(土) 12:08:49
フリーのUMLはeclipseUML_E312_freeEdition_2.1.0.20060320.jarってゆうファイルです。 簡単なソースを2.1で実行したら普通に実行結果でたので間違ってないはずです。 どうしてでしょうか〜
>>11 簡単なソース見ないとわからんだろ。パスはどうなのか?
レスみてんのか?
13 :
名無しちゃん :2006/06/03(土) 12:11:15
すいません・・・ eclipseスレどこですか〜?(;_;)
14 :
デフォルトの名無しさん :2006/06/03(土) 12:11:23
Eclipseスレ行けっつーの
16 :
名無しちゃん :2006/06/03(土) 12:15:57
行ってみます!! ありがとうございました!
JREのlib/extの中のライブラリを アプレットから動的に読み込ませる方法ってありますか? アプレット起動中に、ライブラリの差し替えや削除、追加を行いたいのですが。 よろしくお願い致します。
サンドボックスで動いている以上、無理
やっぱりむりかあ・・
未だに初心者がアプレットをやる理由がわからん。 わざわざ自分から落とし穴にはまりに行ってるようなもんなのに。
初心者向けの本でアプレットしか載ってないやつあるよね。あーゆーのは困る。
雑談は他逝け
BufferedImageのコピーで一番速い方法を教えてください。
コピーを早くしたいというのは曖昧だな blitがはやくということなら目的によって方法がかなり違うし そもそもBufferedImageじゃないとだめなのかとか
得られるインスタンスがBufferedImageであるディープコピーという条件です。 変換前のソースが何のクラスのインスタンスであるかは、特に気にしません。
ホームページ上の画像を一気に落としたり 自動ログインするプログラムを作りたいのですが 参考になるサイトありますか?
URLConnection でぐぐれ
>>25 用途は?
本当にディープコピーが必要かという疑問がある
>>28 アニメーション用の画像チップセットを基にして
ある差分情報を動的に書き込み、新たなチップセットを作るためです。
(実際はロード後は分割された画像リストになりますから、チップセットとは違いますが)
>>30 それだとディープコピーはいらないね
blitでいいよ
>>31 描画先のGraphicsに素材Imageと差分Imageを二度書きすることになりませんか?
先に合成を済ませてから使いまわす方が速いと思うのですが
>>32 それはやってみてからの発言?
アルゴリズムのほうがはるかに時間かかってると思うよ
>>31 の言ってるblitって何?ビット転送のこと言ってるならなんか違う気が。
Javaでエラーのダイアログの出し方を教えてください。 Dialogクラスの説明を見ても、モーダルかどうかとタイトルが 指定できるぐらいなんですが、ひょっとして、「エラーマーク /警告マーク」とか「表示するメッセージ」とか「OK/キャンセル ボタン」とかは、自分で部品をペタペタ貼り付けて作らないと ダメですか?
>>36 ありがとうございます!
そういうクラスがあったんですね。助かりました!
>>37 Javaとダイアログ、あとエラーとか警告とかアラートとか付け加えて検索してました。
探し方そのものが的外れでしたね。すみません。
javaでエディタ作ったんだけどテキストエリア内のJavaの予約語を強調表示するにはどうしたらいい?
40 :
デフォルトの名無しさん :2006/06/04(日) 17:55:56
予約語を検索して色変えるなりboldにするなりしたらいい
41 :
デフォルトの名無しさん :2006/06/04(日) 20:51:56
文字列に機種依存文字が含まれているかどうかを判定したいと思っています。 今考えている方法としてはString#getBytes("Shift_JIS") で返値から 再度Stringを生成して'?'が含まれているかどうかを判定する この方法以外にうまくやる方法がありましたら教えていただけないでしょうか。 また、MACの機種依存文字((月)とか)も判定対象にしたいのですが、 Windows環境でこれらの文字を入力することができずテストができません。 こちらもよい方法がありましたら教えていただけないでしょうか。
42 :
39 :2006/06/04(日) 20:52:13
>40thx
@とかAとか打ってみたらどうでっしゃろ?
>>41 機種依存文字という言葉を勘違いして理解していませんか?
45 :
デフォルトの名無しさん :2006/06/04(日) 22:31:02
JDBC経由でMySQLにデータをぶち込むプログラムを 作成しています。で、JDBCでMySQLにデータをぶち込む際に、 いくつかのレコードで以下の例外が発生してしまいます。 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'father' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2973) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) MySQLの「father」は「Char(255)」で定義していますが、一方のぶち込む データは「大怐宦宦v等で8バイトしかありません。 データが切り詰められるような関係ではないと思います。 で、2000レコード程度ぶち込んだところ、どうやら以下のような (特殊な?)文字を含むと上記の例外が発生しているようです。 ・\守○○ ・大怐宦 何か解決策等がありましたら、御教授頂けますでしょうか。 よろしくお願いします。 ※ちなみに「characterEncoding=sjis」にすると例外は発生しなくなりましたが、 MySQL上では上記のような文字が「?」で表示されるようになってしまいました。 ■環境 Windows2000Pro + javaj2sdk1.4.2_02 MySql5.0 + mysql-connector-java-3.1.13 jdbc:mysql:///keiba?useUnicode=true&characterEncoding=MS932
Seaserスレが雑談オンリーで入り込めないのでここで質問です。 S2JSFでs:forEachを使ってDBから取得した値を表示したいのですが、記述の仕方が解りません。 どのタイミングでどこから検索結果がセットされたDTOを呼び出すのでしょうか。 <component name="forEachDtoList" class="java.util.ArrayList" instance="session"> <initMethod name="add" > <arg> <component class="action.zip.dto.DtoZip" > <property name="ZIP_NO">"0123456"</property> <property name="KEN">"あああ県"</property> </component> </arg> </initMethod> </component> public class ZipSearchActionImpl implements ZipSearchAction{ private int index; private List dtoZipList; private DtoZip dtoZip; public void setIndex(int index) { this.index = index; } public void setDtoZipList(List dtoZipList) { this.dtoZipList = dtoZipList; } public DtoZip getDtoZip() { return dtoZip; } public String initialize() { // ここで無理やりDTOに値詰めてもinitMethodでaddした値で上書きされる dtoZip = (DtoZip) dtoZipList.get(index); return null; } }
スレ違い
48 :
デフォルトの名無しさん :2006/06/05(月) 03:41:18
49 :
デフォルトの名無しさん :2006/06/05(月) 03:59:33
50 :
48 :2006/06/05(月) 14:07:09
>>49 ありがとう。
愛している。
どこまでも愛している。
Integer型の配列をint型配列に詰め替えるには、 どうやるのが効率的ですか? 馬鹿正直に Integer integerArray[]; int intArray[]; for(int i=0; i<integerArray.length; i++){ intArray[i] = integerAttay[i]; } とやるより良い方法無いですか?
詰め替えない
どうしても詰め替える必要があるならば、 そういう変換関数を用意しとけばいい。
System.arraycopyが、配列の型ごとに多重定義じゃなくてObjectで定義して あったからイケルかと思ったが、甘かった。→ArrayStoreException
>>51 そんなことしないで Integer のやつそのまま使えばいいじゃん。
まあ設計論無視して重箱の隅チューンするのも楽しいだろうけど ラッパオブジェクトの配列ってのが意味不明、そこはArrayListでいいじゃん
>>56 JavaSE5でないかぎり、ArrayListだと必ずInteger型のListになっている保証はないだろ?
配列なら型を限定できる。
でも配列だとnullが入るじゃん プリミティブ型にnullなんて概念ないよ
>>58 何いってんだ?
ラッパオブジェクトの配列とArrayListの比較じゃないのか?
>ラッパオブジェクトの配列ってのが意味不明、そこはArrayListでいいじゃん
だからだろ、配列の質そのものが等価じゃないっての
61 :
デフォルトの名無しさん :2006/06/05(月) 20:43:46
質とか自分用語使うなよ
自分が言語仕様理解できないからって噛み付くなよ うぜー
63 :
デフォルトの名無しさん :2006/06/05(月) 20:52:50
言語仕様の話し始めちゃったよ^^;
どうでもいいから、「配列の質」ってのが何なのかを説明してくれ。
初心者がものを理解せず噛み付くとこういう恥をかくという典型例だな 次の方どぞー
nullが入るってのはArrayListだって同じじゃん。 ArrayListはさらに、別の型も入っちゃうんだぞーーー!!!w なのに、「ArrayListでいいじゃん」ってのがなぜなのかわからん。
プリミティブの配列→0,0.0,falseで初期化される オブジェクトの配列→nullで初期化される
配列の質ってのが言語仕様にあるんですか?
それじゃわからんよ。 ラッパオブジェクトの配列じゃなくてArrayListでいいじゃんという理屈にはならんだろ。
質って専門用語じゃないぞ?
しまったnull入るや
この変で勘弁しといてやるわ
「初心者が」「言語仕様が」「質そのものが」とか言っておいて、このザマか
つーかマグダラのマリアって本当にいたのかね?
いやその部分はあってるし
76 :
デフォルトの名無しさん :2006/06/05(月) 21:49:03
質問です。 アプレットにサーバーソケットの機能って 組み込んだりできますか? アプレットを立ち上げたらサーバーソケットが起動する、という感じの。
えっと〜 javaで画像を 8枚×3列で表示させたいのですが 何かいい方法はありますか??
そう表示すればいいじゃんって思うのだけど まず何に疑問を感じてるのか説明してくれ 書いてあるとおりだと「すれば?」って答えてしまう
class Sample { public static void main(String args[]) { String str = "hello"; char ch1 = str.charAt(0);・・・・・・・・・・・* } } のところの、*の行の解釈で、 0という引数をStringクラスのcharAtメソッドに渡して、 その戻り値をch1に代入してる という解釈であってますか??
80 :
デフォルトの名無しさん :2006/06/06(火) 00:11:52
いいえ、違います
>80 正確な解釈を教えてくれ
82 :
デフォルトの名無しさん :2006/06/06(火) 00:16:25
Javaでexeのようなアプリケーションって作れるんでしょうか? 大学ではコマンドラインから起動するものしか使ったこと無いので・・・
0という引数がStringクラスのcharAtに飛び込んで 襲われて逃げ出した戻り値がch1に篭城しにいった が正解だったらいいなぁ
84 :
79 :2006/06/06(火) 00:19:31
>83 つまんない上に役に立たない解説ときた(T_T) こりゃダメポ
>>78 今はFrameの中に表示させてあるのですが
自分がやっている表示方法だと
同じ場所に重なって表示するか
画像に上書きをして、最終的に24枚目だけ表示してしまいます。
自分の希望をしてはサムネイル表示みたいにしたいのですが?
86 :
デフォルトの名無しさん :2006/06/06(火) 00:32:00
jdkインストールすると中にjre入ってるのに 何でもう一回jreインストールされるの?
>>82 いったんjarにしてから、それをexeに変換すればできる。
JSmoothでぐぐれ
>>79 あってる。
>>76 できないかも?
jarならできることは確か。
publicJREと開発用privateJRE
90 :
デフォルトの名無しさん :2006/06/06(火) 01:20:30
91 :
デフォルトの名無しさん :2006/06/06(火) 01:23:13
import java.util.regex.*; class LinkFinder { public static void main(String args[]) { Pattern pattern = Pattern.compile("( )"); Matcher matcher = pattern.matcher("123,555"); if(matcher.find()) System.out.println(matcher.group(1)); } } ************************************************* プリントするときにカンマを抜いて123555と表示させたいのですが 4行目の正規表現の部分でカンマを抜く方法はありますか?
>>89 その表示のずらし方がわからないんです・・・
93 :
デフォルトの名無しさん :2006/06/06(火) 02:18:57
class Car { int num; double gas; } class Sample1 { public static void main(String args[]) { Car car1; car1 = new Car(); car1.num = 1234; car1.gas = 20.5; System.out.println("車のナンバーは" + car1.num + "です。"); System.out.println("ガソリン量は" + car1.gas + "です。"); } } 書籍を見ながらやってるのですが、javac Car.javaでコンパイルしjava Carでテストしたら Exception in thread "main" java.lang.NoSuchMethodError: mainとでました、何が原因なのでしょうか
96 :
93 :2006/06/06(火) 02:28:57
>>95 コマンドラインてこういうことでしょうか・・・
216 Car.class
398 Car.java
850 Sample1.class
>>96 違う。そして93に載ってた、すまん。
そしてjava Carは違う、糞が
java Sample1だ、寝る
98 :
93 :2006/06/06(火) 02:35:38
>>97 ありがとう・・・、糞と言いつつ答えてくれる貴方、愛してます
良い夢を見てください、おやすみ
switch文のbreakってラベル適用できますか?
>>99 できるが、すごく嫌なソースになりそうだな。俺は使わん。
101 :
デフォルトの名無しさん :2006/06/06(火) 05:53:07
初心者の質問です。よろしくお願いします。 HELLOを一通り勉強して、アプレットを今いじってます。 アプレットはhtmlファイルとjavaのソースファイル、そしてそれをコンパイルしたclassファイルを同じフォルダに入れてテストしますよね。もちろん設定次第では別フォルダでも可能でしょうが。 さて、そのテストなんですが。 初心者が普通学習する場合、 まずソースを作成して動作確認して、そして再度ソースを少し変更して動作確認する これを繰り返すと思うのですが時々、ソースを変更したはずなのに、以前のソースの状態の動作をする場合があります。エディタでの保存を忘れてコンパイルしたといったミスではありません。 極端な場合クラスファイルを削除しても以前のソースの状態のままでhtmlが動作することもあります。 これはどういった場合に起こるのでしょうか?。 教えてください。
>>101 キャッシュが残るんじゃない?
テストならアプレットビュア使えばいいんじゃない?
103 :
デフォルトの名無しさん :2006/06/06(火) 08:07:18
プログラムを終了させるにはDOSウィンドウでコントロールCを押せば良いですが、 それと全く同じことをプログラムコードの中で行わせるにはどうしたらよいのでしょうか。
System.exit(0);
105 :
デフォルトの名無しさん :2006/06/06(火) 09:21:19
このやろー質問です splitは行では区切れないのですか? 行で区切って格納したいのだが
BufferedReader使ったほうがいいよ。
107 :
デフォルトの名無しさん :2006/06/06(火) 09:39:22
>>106 やっぱ使わないとダミかぇー
ありがとん やってみます
>>105 BufferedReaderが吉だが、splitでもできるぞ。どうやってるのかね?
109 :
デフォルトの名無しさん :2006/06/06(火) 11:20:35
行で区切るのは可能だが、その「改行」とはなんぞや? ってのが出てくるのだよ。 \nだったり、\rだったり、\r\nだったりするから。 BufferedReaderにしときゃ無難。
すみません・・・ >>89で表示をずらすって書いてあるのですが 表示のずらし方が分かりません・・・ 誰か教えていただけますか?
アノテーション使ったプロジェクトに参加しちまったPG居る? tiger出る前にJava卒業しちまって、最近どうなってるのか知りたいんだが
JSPやサーブレット、MYSQLの組み合わせで、ちまちまと掲示板を作ってます。 現在は参考書通りの設計でnページ目を開くたびに同じJSPにアクセスしていますが、 書き込み時のみプログラム処理で一括してHTML出力してしまい、 普通の閲覧はそのHTMLを見るだけにして負荷を減らしたいと思います。 (もちろん実際は負荷が気になる規模じゃないけど、個人的課題ってことで) さらに後からでも自由にレイアウト変更しやすいようにしたいんですが… JSPの出力をサーブレットから?保存するにはどうすればいいのか、 それとも何かもっといい方法ってありますか?
書き込み途中はエラーがかえるのでその流れとかトラップ処理とか必要になるので 素人にはオススメできない でもJSPでいいんじゃね? DBからの情報をキャッシュしておくだけで問題ない 実際はパフォーマンス的には毎回DBよんでも問題はないと思うが
115 :
デフォルトの名無しさん :2006/06/06(火) 16:51:48
>>110 何がわからないのかわからないが…
画像をLabelとかのコンポーネントで表示してるんなら、コンテナのレイアウトをGridLayoutにでもすりゃいい。
GraphicsにdrawImageしてるんなら、メソッドの引数でxy指定すりゃいい。詳細はjavadoc嫁。
116 :
112 :2006/06/06(火) 17:33:01
>>113 ほうほう、名前聞いたことあるだけで知らなかったけど、調べてみます。
THX!
>>114 …と、何やら問題も含んでるのですね?
実は自宅鯖に仲間内用の掲示板として置いてみてるんだけど、
ついでにそこでエンコしてたりすると時々遅いぞゴルァ!って言われたりするんで
少しでもどうにかならないかとw
117 :
デフォルトの名無しさん :2006/06/06(火) 17:38:27
プログラムを実行する際に、与える引数によっては自分が書いたあるファイル(クラス) が全く使われなかったりすることってありますよね? 引数がAならファイルAを使うけど、引数がBならファイルBを使う、みたいに。
>>116 エンコしていたらデュアルコアとかにしないと静的なHTMLでも重いぞ
そのエンコーダをシングルスレッドで動かすのがまず大事だが
Tomcatがたびたび落ちて困ります><
>>118 まあ、そもそも鯖でエンコすなって感じですよね…
ともかくVelocityをちょっと調べ中で、
大雑把にはどんなものか分かりましたが
>>114 のエラーやトラップ処理云々についてとか
デメリットの辺りをもう少し詳しくキボンヌ
ググッてて見つけられないんで、参考リンクかオススメ本でもいいのでお願いします
CSVファイルのパーサーを作るという、車輪の再発明的なことをやってるんですが、
巷のCSVパーサーって、どの程度の処理速度なら速いって言えるんでしょうかね?
試しに、郵便局ホームページで公開されている事業所郵便番号CSVを食わせてみたのですが、
サイズ的には、13カラム*21383行。
データはここ。
ttp://www.post.japanpost.jp/zipcode/dl/jigyosyo/lzh/jigyosyo.lzh パースして1行分のCSVオブジェクトを全てListに行単位で格納する処理で、完了まで0.5秒・・・
微妙に遅い気がします。
パーサ自体に、NULL文字を明示的に入れるとか、出力はカラム単位でクォートで囲む設定するとか、
いろいろオプション付けて重くなってはいます。
環境は、PenM1.4GHz、RAM1GB、Java5.0です。
こんなもんですかねぇ。。
質問でも相談でもないスレ汚しかも知れませんが、Javaの課題をくれませんか? こんな感じのプログラム作ってみろ。的なものです。 環境は、JDK1.4でGUIとネットワークは除く。 よろしくお願いします。
125 :
デフォルトの名無しさん :2006/06/06(火) 19:23:08
>>102 101です。お答えありがとうございます。
アプレットビューア?、そんなもんがあんのか〜?、とググってみましたが、いまいちわかんないっす。JDKのツールのひとつってのはわかったんですがね。
もうちっと調べてみます。
そういうことがあり得るとわかっただけでも収穫です(^^。さすが2ちゃんねる。
>>123 D言語のインテリセンス作って。Eclipse用にプラグインも。
127 :
デフォルトの名無しさん :2006/06/06(火) 21:14:44
アプレットとサーブレット間をjava.net.URLConnectionクラスを使ってオブジェクトをやりとりする物を作りました。 サーブレットをTomcatにおいてアプレットビューワで実行するとちゃんと動くのですが、IEで実行すると動いてくれません。 それで、[ツール]―[Sun の Java コンソール]で見てみると >access denied (java.net.SocketPermission localhost:8080 connect,resolve) なエラーが出ていました。 どうしたら動くようになりますか?
java+Swingで簡単なWindows向けアプリケーション作ってます。 んで、特定のキーの組み合わせでそのアプリケーションを アクティブにしなきゃならないんですが、 KeyListenerなんかだと当然ながらアクティブ時の入力しか拾ってくれません。 JVM上で動いてるという仕様上無理なんでしょうか。 Win32APIでRegisterHotKey()という関数があるので、 JNIからc++経由で呼び出してみましたが、 ホットキーが押されたというイベントがWindowMessageで処理されるため、 java側で受け取ることが出来ません… 何かいい解決方法はありますか?
>>128 >java側で受け取ることが出来ません…
別にイベントそのものを受け取る必要はなくて
JNIからJavaのウィンドウを触って
アクティブにすればいいだろう。
>>122 クオーテーション使うと、複数行に及ぶ文字列とかちゃんと取ってこれるのかしら
>>129 なるほど、ネイティブコード側で受け取ってしまえばよかったのかー。
試してみます、ありがとうございました。
132 :
デフォルトの名無しさん :2006/06/06(火) 23:36:57
質問です。 ISO 8601の形式でDateオブジェクトを作ることはできますか? DateオブジェクトからISO8061形式でフォーマットすることはできるのですが、 その逆がやりたいのです。 どうか良い方法を教えてください。
>>132 SimpleDataFormat 見れ
>>91 import java.util.regex.*;
class LinkFinder {
public static void main(String args[]) {
Pattern pattern = Pattern.compile("( )");
Matcher matcher = pattern.matcher("123,555");
if(matcher.find())
System.out.println(matcher.group(1));
}
}
ちょっと冗長だけどこれでいいんじゃね?
>>122 >パースして1行分のCSVオブジェクトを全てListに行単位で格納する処理で、完了まで0.5秒・・・
21383行読んで0.5secなら、十分速いんじゃね?
136 :
134 :2006/06/07(水) 01:15:21
>>91 import java.util.regex.*;
class LinkFinder {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("(\\d(,?\\d)*)");
Matcher matcher = pattern.matcher("1,5123,555");
if(matcher.find())
System.out.println(matcher.group(1).replace(",", ""));
}
}
1,2,3,4,5 とかも引っかかっていいんならこれでいいんじゃね?
137 :
デフォルトの名無しさん :2006/06/07(水) 01:29:41
自作のビジュアルコンポーネントはどう作ればいいんでしょうか? Buttonを継承してpaintをオーバーライドするやり方でやってみて、画像を被せるまでは出来たのですが クリックした場合の凹む処理をどうやればいいのか分かりません また、後ろにButtonの描写も入ってるのでこのやり方が正解だとは思えません・・・ こういう場合の定石や、作り方を載せているサイトまたは書籍があれば教えてください
138 :
デフォルトの名無しさん :2006/06/07(水) 01:40:08
Javaのプログラムからマウスカーソルの操作やクリックなどをすることって可能ですか? OSはWindowsです。
>>138 java.awt.Robotを使えば出来ます
140 :
デフォルトの名無しさん :2006/06/07(水) 02:12:04
141 :
デフォルトの名無しさん :2006/06/07(水) 02:20:10
すみません、ご存知の方いらしたら教えてください。 Webアプリでパフォーマンスを極端に追及する場合、一つのServletまたはJSP内に処理を全部書いた方が早くなるものなんですか? 早くなるなら保守性は全く無視して良いという条件なのですが・・・。
投資対効果を完全無視で良いなら、まぁ理論的にはな。
>>141 そんなしょうもないことをするまえに
ちゃんとプロファイリングしろ。
>>141 髭を剃ってダイエット、っていう程度には効果がある。
146 :
122 :2006/06/07(水) 11:11:55
>>130 1行分のCSVデータが、複数行にまたがるケースは考えてません。
"aaa", "bbb", "ccc"
なデータを取り込む際は、クォート取って格納し、出力時は任意のカラムに
改めてクォート付けるとかやってます。
・・・「1行分のCSVデータが、複数行にまたがるケース」って、けっこうありそうですかね?
>>135 ありがとう。
同じことやるにも、格納処理のやりかたやデータ構造次第で、けっこう変わると思うんで、
まずは不具合無く動くことを目標にがんばってみます。
CSVでクォートとかエスケープとか改行文字とかそのへんすべて環境依存項目だからな
148 :
127 :2006/06/07(水) 13:58:47
すみません。
>>127 ですが、わかる人いませんか?
一応自分でググって試してみたんですが、まだIEでは動いてくれません。
試してみた事は、[ツール]-[インターネット オプション]-[セキュリティ]-イントラネットの[レベルのカスタマイズ]でJavaアプレットを有効にして
ウイルスバスターのファイアーウオールの設定で、Webサービス (HTTP) ポート番号80,8080 の受信送信両方を例外指定しました。
そしたら、Java コンソールのエラーが
>Opening Connection
>access denied (java.net.SocketPermission localhost:8080 connect,resolve)
に変わりました。
Opening Connection という表示は、アプレットがサーブレットに Connection を開かせる処理をする前に System.err.Println() で書き出した文字列です。
その後、送信したオブジェクトがどうなったのかはわかりません。
IEで動かす場合、あと何を試してみるといいのでしょうか。
誰か助けてください。お願いします。
そもそもCSVフォーマットと呼ばれる物の正確な定義は誰も知らない罠 一応MS流CSVの定義は合ったかも…
CSV はみんな好き勝手な定義をして使ってたと思う。
基本的には1レコード1行、つまりエクセルとかの表計算みたいな感じで、 改行で1レコード終了、項目間は,で区切る。 異なるシステム間でのデータ受け渡しだから、こうしましょうと双方が 決めたらいろんな仕様のcsvになる。 今はxmlとかだよなあ。
152 :
122 :2006/06/07(水) 15:19:33
153 :
デフォルトの名無しさん :2006/06/07(水) 15:23:15
やっぱみんなcsvは苦労してんだね。 俺もそのへん試して微妙にたらんかった('A`)ので、Excelの吐くcsv限定で かなり適当に自作した。 Accessはまた違うcsv吐くんだよなぁ…
CSVなんてJakarta POIでどうにかできる
そしてCSVを捨ててすべてXMLだけで表現する
そして XML を捨ててすべて独自形式で表現する
YAMLか?
そしてXMLは自分が作ったと言い張る<丶`∀´>
そして世界が踊り出す('A`)
160 :
127 :2006/06/07(水) 17:51:27
俺って馬鹿にされてるんでしょうか? 調べるのにももう疲れたし、どうでもいいかな。
>>160 どうでもいいならいいじゃん。さっさとやめれ。
やるんなら死ぬ気でやれ。
人は思考が停止すると All or Nothing でしか話さなくなる。
163 :
127 :2006/06/07(水) 18:04:31
次がつかえてるんでやめます。 スレ汚ししてすみませんでした。 >162さんの言うような面白い教訓も教わったのでまぁ良かったです。 ありがとうございました。 マジですみませんでした。本当にマジで。
SwingにCanvas相当のコンポーネントってありませんか? 具体的にはBufferStrategyの使えるWindowじゃないコンポーネントです。 フルスクリーンじゃないときにスキンの中に埋め込みたかったのですが SwingにCanvasを埋め込むとかは出来るのでしょうか?
出来るよ
SwingとAWTが一緒になりますが、見えない部分でおかしくなるということは?
>>165 非推奨だが一応は出来る
そのかわり仕組みがきっちり分かってないと危険
SwingでやるならおとなしくJWindow直系だけにしておけ
>>168 んー、非推奨を人様に配布するのは気が引けます。
では逆にpaintComponentのリアルタイム処理版はありますでしょうか?
別にイベントキューを通しても目に見えた問題はないのですが
管理の精度を上げられるなら上げておきたいです。
非推奨ってどっかに書いてある?
Swing AWT 混在 でぐぐると悲鳴が聞こえてくる
どうでもいいが何でピカチューをシグネチャに・・・ホントどうでもいいが
ヒント1:メニュー
うん、みんなそのメニューのためにCanvas埋め込んで自滅してるみたいだねw
それぞれどのように実装しているか考えれば分かりそうなものだが なんかいまさらな話が多いな
自称中級者がこのスレに何のよう?
初心者スレでネタがループするのは昔からなんだが… 最近初心者脱出できたの?
横からだけど、結局 Swing で Canvas の代わりになるものって何?
JPanel
JPopMenuの持つ、自身をヘビーウェイトにする機能を使うらしい。 闇のテクニックだね
181 :
デフォルトの名無しさん :2006/06/07(水) 22:50:40
Javaを勉強したいと思っているのですが通信教育みたいので勉強 するのと自分で本買って勉強するのではどっちがいいですか?
通信教育なんてもんがあんの?
183 :
デフォルトの名無しさん :2006/06/07(水) 22:56:12
てかさ、JREを切り替えるフリーのソフトってない? 1.4.1じゃないと正常動作は保障しませんっていう ソフトがあってさ、いまつかってるのが1.5.0 1.4.1はあまりつかいたくないんだけど、必要になった。
>>183 JREを切り替えるフリーのソフトなんてものが必要な理由がわからん。
実行時に適宜必要なJAVA_HOMEを指定すればいいじゃん。
>>183 publicJREじゃないと絶対に動かないようなプロテクトかけてないかぎり普通にどうぞ
JavaはJREの共存が容易なのがうりだ
アプレット除く
187 :
sage :2006/06/07(水) 23:04:29
ServletRequestのgetInputStreamってどういう時に使うべきものなのか誰か教えてくれ HTTPのBodyをバイナリで取得しなければいけないケースってどんな時なんだ
188 :
183 :2006/06/07(水) 23:05:30
あ、そうか、パス変えればいいのか、漏れは、、OTL レスしてくれた人、つまらん質問して悪かったスマン。。。
>>187 multi;art/form-data
学校の授業でJavaをかじった程度の学生です。 勉強がてら自分でソフトを作ってみたいんで色々考えてるんですけども難易度がどうも分からずちょっと質問させてください。 考えているソフトは ・クリップボードを監視してURLが入ってきたらブラウザを起動する というものです。 1行チャットみたいなのがあって文字交じりの間にURLが入ってるんです。 1行丸ごとしかコピーできないのでアドレスバーに貼ってから前後の文字を消してる状態なんです。 ちょっとソフト探してみたんですけど見当たらないんでつくろうかと思ったんですけどどうなんでしょうか? タスクトレイに常駐とかもさせたいんですけどJavaではまったく作ったことがなくてどれくらい難しいのか・・・ お暇あればレスよろしくお願いします。
>>190 ヒントだけ
1,java.util.Timer
2,java.awt.datatransfer.Clipboard
3,java.lang.Runtime
タスクトレイに常駐はJavaのみではちと難しい。
クリップボードの内容の取得は可能。 トレイ常駐はMustang(Java SE 6)から可能。 なのだが、肝心のクリップボード監視機能はなさそうだ。
>>192 pollingか。
あまりエレガントではないが、それなら可能ではあるな。
195 :
192 :2006/06/07(水) 23:38:30
>>194 ポーリング以外にも処理できる方法があるの?
後学の参考にしたいのでご教示願う。
>>195 や、クリップボードの内容の変化を通知するイベント&イベントリスナー
がないもんかと探してみてさ、ないな、じゃあできないな、と思いこんじゃ
って、ポーリングという手に気づかなかった漏れの頭が固かったという
ことなのです。
197 :
190 :2006/06/07(水) 23:46:42
レスありがとうございます。 まず・・・クリップボードの内容取得と監視が何が違うのかすらいまいち分かってませんorz タスクトレイに常駐せずにクイック起動とかにショートカット作っておいて起動したときにクリップボードの内容を取得。 ということができるということでしょうか? 使い勝手は落ちるかもしれませんが劣化版・・・というのか初めて作るので敷居は低い方がいいかな・・・とか思ってます;
198 :
sage :2006/06/08(木) 00:12:23
監視ってのは、クリップボードの内容が変わったことを知るってこと。 変わろうが変わるまいがひたすら1秒おきとかの周期で内容を取得し てみるのが、ポーリングという概念。前回ゲットした内容と違うもの が得られたら、新しい内容で目的の処理をすればいい。 対して、監視するってのは、新しい内容がクリップボードに入った ことだけをなんとかして知り、そのときだけ内容を見に行くって こと。可能ならば、こうした方がパソコン全体に与える負担は軽く なると思われる。 クリップボードの中身を取ってくるという行為の負荷が無視できるほど 軽微なら、ポーリングでOK。 Toolkit tk = Toolkit.getDefaultToolkit(); Clipboard cb = tk.getSystemClipboard(); Object data = (String)cb.getData(DataFlavor.stringFalvor); とかでクリップボードの内容が取れたと思う。 あと、常駐させるだけならタスクトレイにアイコンを出さずに 居座ることもできるので、それならMustangを待たなくてもよいですね。 この場合、Windowsだとシステムモニタとかから終了させることになる。
200 :
192 :2006/06/08(木) 00:31:23
>>196 レスありがとう。
>>190 できる。
「Clipboard java」で検索してみては。
>>200 >
>>190 > できる。
> 「Clipboard java」で検索してみては。
何でいちいち二回も答えてんの?
補足しとくと、クリップボードなどの変更を監視したい場合、 処理負荷以外に、ポーリングでは取り落としが発生する可能性があるなど、 制限が出てくる。 監視機能がある場合も仕組みによっては取り落としが無いとは限らないけど、 そういうことが無いように実装されている場合が多い。
203 :
190 :2006/06/08(木) 01:05:14
皆さんご丁寧にありがとうございます。
色々試行錯誤しながら作ってみようと思います。
行き詰ったときお世話になるかもしれませんがよろしくお願いいたします;
>>201 難しい、と答えてもらってできる。と答えてもらってるんで質問者としてはちょっとやるきが出てありがたいっす。
質問です。 アプレットで、Jテーブルにデータベースの内容を表示したのですが、 テーブルに表示した内容をマウスでクリックする事で、 クリックした行のデータベース内容を取得したいのですが、 この場合、クリックでの内容取得はどうすれば良いでしょうか? MouseListenerを使って足掻いているんですが、 テーブルその物のデータとか、座標とか、違うものばかり取得してしまい、 目的のデータを取ってくる事が出来ず、詰まっています。 何かヒントだけでも頂けると助かります。
>>204 クリックされた行のデータをキーにして検索すれよ
>>205 早速のレスありがとうございます。説明不足でした。
クリックされた行のデータを取得する時点で詰まっています。
getValueAt() やgetRowCount() を使おうにも、書式が変なのか動作せず、
他の方法も思いつかないのが現状です。
あっそう、としか答えようが無いわけだが
columnAtPointとrowAtPointで座標を行、列に変換してからgetValueAtで要素をとれ 205=208か?的外れな回答はスレの質をさげる
何かスレの質とか語り始めたぞw
配列の質の次はスレの質かw
212 :
204 :2006/06/08(木) 02:23:35
>>209 ありがとうございます。その書式は試していませんでした。
Eclipseで赤線エラー吐いてますが、apiのJTable欄に色々書いてあるので、
columnAtPointとrowAtPointを無事読み込むよう、色々試行錯誤してみます。
サニタイジングについて質問です。 以下のように一文字ずつ置換する方法しか思いつかないのですが スマートに高速に置換する方法ってありますでしょうか? pattern = Pattern.compile("<"); matcher = pattern.matcher(sHTML); sHTML = matcher.replaceAll("<")); pattern = Pattern.compile(">"); matcher = pattern.matcher(sHTML); sHTML = matcher.replaceAll(">"));
213のソース3行目は&lt;、6行目は&gt;です。 変換されてブラウザに表示されてしまいました><
StringBuffer buffer = new StringBuffer(); for(int i=0; i<sHTML.length(); i++){ char ch = sHTML.charAt(i); switch(ch){ case '<': buffer.append("<"); break; case '>': buffer.append(">"); break; default: buffer.append(ch); break; } } sHTML = buffer.toString();
検査対象と置き換え先の文字を それぞれ配列に登録しておく方法はどうかな。
>>213 正規表現とreplaceAll()を使うとエラい遅いぞ。
218 :
199 :2006/06/08(木) 13:29:38
java.uti.Collections#sort() って、意外と高速? QuickSort系の処理を作って、2万行のテキストデータをソートさせてみたのだが、 自前(というか、サンプルを改造)のQuickSortより、Collections#sortのほうが高速だった。 o....rz
>>219 サンプルデータ次第かもよ。
クイックソートの場合、使用する境界値が中央値より離れるほど
効率が下がるから。
Collections#sort()はマージソートなので、またアルゴリズムが違う。
詳しくはソートのアルゴリズムについて調べてくれ。
221 :
219 :2006/06/08(木) 16:51:37
>>220 お、マージソートですか。ありがとう。
ソートしたデータは、
>>122 の郵便番号データ。
ソートキーは、郵便番号データ中の大口事業所等の所在地の
JISコード(5バイト)ってやつをString→intに変換したもの。
環境は、PenM1.4GHz、RAM1GB、Java5.0で、
Collections#sort = 890ms〜900ms
自前QuickSort = 2060ms〜2100ms
アルゴリズムが違うとはいえ、2倍以上も遅いです。。。
自作したcompareToメソッドがタコいのかも。
つか、オレがその
>>122 。吊ってくる・・・
ちなみに、アルゴリズムの参考にしたサンプルコードがあるページはここ。
ttp://www.cs.ubc.ca/~harrison/Java/sorting-demo.html Fast Quick Sortってやつを改造して、作りかけのCSVパーサに組み込んでみますた。
けっこー勉強になりましたよ。
とりあえず、郵便番号データを全部パースしてオブジェクト化したあと、
再度オリジナルと1バイト違わぬ全く同じCSVデータ化してファイルにはき出せるとこまで確認出来た。
なんとなくうまく動いてるモヨンヌ。
222 :
デフォルトの名無しさん :2006/06/08(木) 17:49:31
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } ハローワールドをjavac HelloWorld.javaでコンパイルしてjava HelloWorldで実行すると Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld が出るのですが何故でしょうか・・・急に色々なプログラムがこのエラーをはくようになりました
223 :
デフォルトの名無しさん :2006/06/08(木) 17:59:58
224 :
222 :2006/06/08(木) 18:22:39
くそぉ・・・
俺もなぜか
>>222 と同じ所でひっかかっちゃってる_| ̄|○
大文字小文字の間違いなんてしてないし、拡張子なんて入れてないし・・・
何度も見直したけど原因がわからない・・・なぜだ・・・
>>226 何度も見てるんだよ・・・wikiをさ・・・
でも実行できないのは何故だろうか・・・
ごめん、俺が悪かった_| ̄|○ 原因見つけた・・・
だから俺はあの時「実のおかんと関係持ったらおしまいやで?」と説得してやったのに
>>221 元データがものの見事にほぼソートされているデータっぽい?
クイックソートにとって最悪のデータ
231 :
221 :2006/06/08(木) 23:08:36
>>230 う、まさにドンぴしゃでソート済みデータだったかも。。。
とりあえず、他のデータでも試してみます。
すいません、質問させて下さい。 現在、Javaを用いて天気予報を表示するようなツールを作ろうと思っているのですが、 天気予報の情報は、どこからどのようにして得られる事が出来るのでしょうか?
233 :
デフォルトの名無しさん :2006/06/09(金) 00:47:14
234 :
デフォルトの名無しさん :2006/06/09(金) 00:59:35
質問させてください。 ボタン テキストフィールド ラベル (パネル) これらのコンポーネントだけを並べて表示する場合、きれいに思い描いたとおりに並べたいので レイアウトをnullにしてsetBound()で一つ一つ並べようと思ったのですが、 画面のサイズ変化に対応できるようにするにはどうすれば良いでしょうか? 画面を広げるとコンポーネント間の距離も広がったり。
236 :
234 :2006/06/09(金) 01:11:15
>>235 ありがとうございます。
何のことかわからなかったので検索してみると、開発ツールって出てきました。
僕はいつもメモ帳で書いてるので、こういうのは使ったことが無くてわからないんですが
それを使うとできるようになるんですか?
使えばわかるさ!使い放題だから遠慮することないさ! 気がつけばメモ帳に戻れなくなるぜ!
239 :
234 :2006/06/09(金) 02:29:22
240 :
デフォルトの名無しさん :2006/06/09(金) 12:59:56
>>240 eml JavaMailでぐぐると出てくる1つ目がそんな感じの事してるな
242 :
デフォルトの名無しさん :2006/06/09(金) 13:30:42
サーバ・クライアント間でバイト列の連続送受信をやりたいのですが, 受信するときに BufferedInputStream in = new ...(socket.getInputStream); while(in.read(byteSeq) != -1) // byteSeqはbyte[]型 ; と書いているのですが, write側がソケットをクローズしない限り read(byteSeq)が-1になりません. byteSeqのサイズが不明な場合どのように書けばよいでしょうか? どなたかよろしくお願いします.
>>242 APIリファレンスくらい嫁
・ソケットにバッファされたバイトがなく、close を使用してソケットが閉じられていない場合、available は 0 を返す
244 :
デフォルトの名無しさん :2006/06/09(金) 15:10:54
>>243 バッファにデータが残っているかどうかではなく, write()が終端したらループを抜けたいんですが, そもそもwrite()自体は終端しないのでしょうか?
read()が-1を返す条件が今の所ソケットクローズ以外に見つかりません
>>244 ところてんって知ってる?
あれがイメージできればavailableの意味が解ると思うんだが
Write側が書き終えたかどうかなんて、 Read側でどうやって知るんだよ。 最初にサイズを送るとか何らかの約束がないと無理だろ。
文字列なら0終端という技が可能。 文字列ベースならざくざく読み込んでけばいい (buffサイズ超えたらコネクション切るとか居るけどね) バイナリなら俗にいうContent-Lenghtを事前に送る必要がある これは「事前にサイズを知っている」という条件を満たすためのものだから 例えばはなから8バイトずつとか分かっているなら必要ない Content-Lengthを必要とせずにバイナリを送る裏技(力技)もあるけど これは一般的なやり方だとだいたいサイズが4/3倍になる
248 :
デフォルトの名無しさん :2006/06/09(金) 20:02:55
>>243 245 246 247
やっぱりそうでしたか。write()が裏でサイズ送るか終端してくれれば
うれしいなと思ったんですが。available()は勉強しときます。
ありがとうございました。
243=245か?availableは終端判定にはまったく使えないぞ。
初心者質問失礼いたします。 int型をString型に代入する方法ってありますか? int a = 1234; を、 String str に代入したいのです。 String型をint型に…だったら Integer.parseInt(str); とすればいいんでしょうけど、 逆だとどうすればいいのかわかりません。 買ってみた入門書にも書いてなかったので、よろしくお願いします。
何故Javaにはデストラクタがないのですか?
252 :
199 :2006/06/10(土) 00:28:38
代入するのは無理。 つーか Integer.parseInt(str)も、Stringをintに代入しているわけじゃないぞ。 intの値の文字列表現を作ることは出来る。 String str = String.valueOf(a); とすると、int型のaの値の10進表現文字列を作ってくれる。
>>252 ありがとうございます!早速チャレンジしてみます!
Integer.parseInt(str);は代入じゃなかったんですね……!!!!
>>248 おいおい勝手にwariteでへんなのおくられたらこまるだろ
>>249 そういや似たようなので@ITでもIO回りの記事嘘かきまくってたの思い出した
終端判定にready()つかうあほな記事は他のところでも見られるんだよな
なんでへんな書き方が流行ったのだろうか
257 :
デフォルトの名無しさん :2006/06/10(土) 00:59:31
test[0,1,2] = 10; 指定した配列に10を入れたいのですが、エラーが出ます。 どこが間違っているのでしょうか・・・?
for(int i=0; i < 3; i++) { test[i] = 10; } じゃだめなのか
if文で (a と b)どちらかに当てはまった場合true処理を続ける為のの記号教えてください &じゃなくて・・・忘れました
^
263 :
199 :2006/06/10(土) 02:56:05
「どちらか一方が当てはまったときのみ。両方が当てはまったら×」なら261のとおり ^ 「両方当てはまってもOK」なら ||
264 :
199 :2006/06/10(土) 03:04:14
両方当てはまってもOKは | でもいい。 ||との違いは、左辺が真だった時点で右辺の真偽を問うか否か。 15.22.2 Boolean Logical Operators &, ^, and | 15.24 Conditional-Or Operator || JLSのこのへんな。
>>251 そういう言語仕様だから。
捨てられた(参照されなくなった)メモリはJVMが勝手に
回収する。ゆえに使用済みのオブジェクトにはできるだけ
すみやかにnullを代入すべし。
package test; public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } } testフォルダに移動して、 上記のようにパッケージ指定してあるソースをコンパイルして、 java HelloWorldと入力して実行しようとしたら、 Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld(wrong name:test/HelloWorld) と出て、実行できません。 入力をjava test.HelloWorld にしてみましたが、だめでした。 NoClassDefFoundErrorが出た時のFAQなど調べても、 回答がありませんでした。 どうしたら実行できるのでしょうか?
267 :
デフォルトの名無しさん :2006/06/10(土) 06:43:16
268 :
デフォルトの名無しさん :2006/06/10(土) 06:47:25
LinuxでJavaやる場合ってテキストエディタはemacsで十分ですか?
eclipse最強
>>266 それもFAQだけど一応…
testフォルダの一つ上に出て
実行してみて。
>>268 内様に依る。
>>268 _ _∩
( ゚∀゚)彡 vim!
⊂彡 vim!
273 :
デフォルトの名無しさん :2006/06/10(土) 11:32:32
JAVAのフォルダに 「j2re1.4.1_02」と「jre1.5.0_06」があるんですが 「j2re1.4.1_02」は削除しても良いファイルですか?
javaのフォルダって何? わざわざ自分で用意しない限りできないだろ? コンパネのプログラムの追加と削除で消せるよ
275 :
デフォルトの名無しさん :2006/06/10(土) 13:23:57
>>274 プログラムファイルのとこにJavaのフォルダがあるんですよ...
無意識に作ったのかもしれません。
では「j2re1.4.1_02」はいらないプログラムってことですよね?
消す前に以下のことを試してみ 1.コマンドプロンプトを開く(Winキー+Rキーで出てくる窓にcmd) 2.java -versionと入力 3.出てくるバージョンが1.5なら、1.4は遠慮せず消す 4.1.4が出てきたら環境変数JAVA_HOMEを1.5にする
277 :
デフォルトの名無しさん :2006/06/10(土) 13:56:21
>>276 1.5とでました。ありがとうございます!
278 :
デフォルトの名無しさん :2006/06/10(土) 14:50:18
Javaというよりプログラムを始めて間もないものです。 オブジェクトを引数にとるあるメソッドの呼び出し側のクラスAと 実装側のクラスBがあります。 Aクラス :foo(new Exception()); Bクラス :public void foo(Exception e){} Bクラスの引数のExceptionをThrowableに変更して コンパイル→実行をすると何事もなくうまく実行できます。 Bクラス public void foo(Throwable e){} しかし、Bを他所で変更し、コンパイルをせずに、 クラスファイルのみコピーしてそのまま実行すると、 NoSuchMethodErrorが発生してしまします。 Exceptionを引数にもったfooメソッドはないということです。 これはなぜなのでしょうか? コンパイル時のどういった仕組みが影響しているのでしょうか。 いくらクラスの継承関係で上位互換があるとは言え、 ライブラリ側を変更したら、コンパイルをする必要があるということでしょうか。
言葉よりソース。要点説明する能力がまだ身についてないんだから、先にすべきはそっちでしょ。
>>278 メソッドは名前だけじゃなくて、
同時に引数型も(実際のVMはさらに戻り値の型も)使って検索してるから。
void foo(Exception) を探してるけど、
void foo(Throwable) しかみつからんのでNoSuchMethodError 食らってるだけ。
コンパイル時には解決できるけど、実行時には解決できない。
dolphin 以降なら バイトコード弄って無理やり invokeDynamic 使えば
NoSuchMethodError 食らわないかも。
281 :
278 :2006/06/10(土) 16:13:18
>>280 そういうことですか。
どのような変更をしたら、コンパイルが必要になるか?というのは全て洗い出せるのでしょうか?
それとも、どんな変更でもライブラリを変更したら、必ず使う側もコンパイルすべきとするべきでしょうか。
Javaはインタプリタだがスクリプトではない
283 :
190 :2006/06/10(土) 19:56:13
前回はありがとうございました。 ちょこちょこ作ってるんですが壁にぶつかっちゃいましてヒント的なものをお願いします。 公開するものじゃなく身内が使うものを作っているのでとりあえず動けばいいと思い暫定的なものを作っています。 クリップボードからStringに読み込むところまではいけました。 文字列からURLだけを取り出す方法がわからずURLの最後に***とつけてもらうようにしてあります・・・ 一応あとはブラウザを起動できれば一旦は完成と思うんですがどうすればいいのか一切わかっていません。 けっこうググったつもりなんですがJavaScriptの方がいっぱいでてきて思うように見つかりませんでした。 勉強がてらに作ってるんで糸口だけでも構わないのでお願いします。 あと皆さんは全く分からない場合どうなさってるんでしょうか? API仕様では量が多すぎて見つけられず逆引きのところを探しても量が少なくてありませんでした。
URLの抜き出しは正規表現(java.utilにある)を使うことになるだろうな。 厳密にやるとすごく複雑な表現になるので https?://[-a-zA-Z0-9_.!~;/?:@&=+$,%#]+ くらいでごまかしてもいいかも。 ブラウザの起動は、JDK1.5までなら外部プロセスにまかせるしかない。 ProcessBuilderを使って、Windowsならstartコマンド、MacOSXならopenコマンド を実行する。Linuxだとmozilla-remote とか firefox-remoteとかいうのがあった と思う。要は機種ごとに別の処理を書くことになる。 1.6(現在ベータ版)なら、Desktop.getDesktop().browse(URI) が使える。
java.util → java.util.regex だな。
287 :
266 :2006/06/10(土) 20:57:43
>>270 実行できました!ありがとうございます。
もっとよく調べないとだめですね。
逝ってきます・・・orz
>>283 JAVAのバージョンを書いたほうがいいよ。
JDK1.5以降だけどInternet Explorerならこれで起動可能。
try{
java.util.List<String> list = new java.util.ArrayList<String>();
list.add("C:\\Program Files\\Internet Explorer\\iexplore.exe");
list.add("
http://www.yahoo.co.jp./ ");
ProcessBuilder pb = new ProcessBuilder();
pb.command(list);
pb.start();
}catch(java.io.IOException ex){
ex.printStackTrace();
}
289 :
デフォルトの名無しさん :2006/06/11(日) 09:54:08
sdk v1.4.0と1.4.2って何が変わったんですか?
1.4.1で今まで動いていたアプリが動かなくなる可能性がある変更点は文字コードだな あとはJava2DアクセラレーションにDirectXが使われるようになったりしてJava2D使ってるSwingが大幅に実用的になった 1.4.1から1.4.2は表面上かわってないと思っていい
RMIで、アプレットのメソッドをサーバーから呼び出すという 処理が可能だと聞いたのですが・・・。 実装方法が書いてあるサイトや書籍が見つかりません。 どなたかご存知ないでしょうか?
一応セキュリティまわりいじればアプレットは何でも出来る そもそもアプレットは鯖に配備される そして鯖側は通常そのメソッドは知っていてもおかしくないはずだが 鯖からクライアントのメソッドを呼び出さなければならない状況ってあるのか? 設計変えたほうがよくないか?
本間佳代。
295 :
292 :2006/06/11(日) 15:16:56
>>293 ある更新情報をサーバーが受け取って、
それをクライアント側(アプレット側)のメソッドを呼び出して
その更新情報を通知する、という処理を行いたいんです。
要は、サーバーからアプレット側へのデータの受け渡しを行いたいと。
最初はソケットを使ってできないか、という話になっていたのですが、
どうも無理っぽそうなので、RMIで何とかできないか、となったんです。
>>295 RMIの使い方間違ってるな
それソケット通信でいいだろ
297 :
292 :2006/06/11(日) 15:34:53
>>296 ま・・・間違ってるんですか・・・。
ソケット通信使用の話は、セキュリティ云々で却下寸前になっていて、
それでRMIはどうか?ってなったんですけど・・・。
また検討し直さなきゃ・・・。orz
質問に答えてくださった方々、ありがとうございました。
ソケットがダメならRMIも当然使えないんじゃないか?
>>292 「セキュリティ〜」については
・署名付きアプレット
・Java Web Start
このどちらかで可能かと。
300 :
292 :2006/06/11(日) 16:48:36
>>299 ありがとうございます。
もう一度調べ直して、セキュリティに関して検討し直してみます。
>>297 昔から普通に通信できるよ
鯖と違うマシンとは通信できないけど
302 :
デフォルトの名無しさん :2006/06/11(日) 17:47:32
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String Dick1 = br.readLine(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String Dick2 = br.readLine(); これをコンパイルするとbr は main(java.lang.String[])で定義されています。 とエラーを出します、なぜでしょうか?
303 :
デフォルトの名無しさん :2006/06/11(日) 17:48:20
お前がバカだから
ショボン(´・ω・`)
305 :
デフォルトの名無しさん :2006/06/11(日) 18:01:55
>>304 同じインスタンスを2つ作ってるからじゃない?
2番目をbrではなく別の名前にしないとだめなのではないか。。
と、Cしかやったことがない漏れがコメントしてみる。
>>302 > BufferedReader br =
↑変数brはここで宣言済みなのに
> new BufferedReader(new InputStreamReader(System.in));
> String Dick1 = br.readLine();
> BufferedReader br =
↑この行で同じ名前の変数brをもう一度宣言しようとしているから
> new BufferedReader(new InputStreamReader(System.in));
> String Dick2 = br.readLine();
307 :
302 :2006/06/11(日) 18:06:10
>>305-306 ありがとうございます、変更したらコンパイル通りました
長い文だったので丸暗記してました・・・本当にばかだ・・うう
質問させてください。 現在、Swingを使ったGUIアプリを作っているのですが、すでに50クラス以上あります。 これらのうちいくつかのクラスが、コンストラクタ内で結構な数のファイルリソースにアクセスしています。 なので、GUIビルダで表示させるとエラーが起きたり、クラスの生成順を入れ替えるとうまく 動かなかったりします。 おそらく、コンストラクタ内でやるのではなくて、アプリが一端立ち上がって、タイマーなどを使って しばらくしてからファイルリソースへのアクセスをすれば解決すると思っているのですが、 具体的な方法がわかりません。 各GUIの部品などの生成、表示が終わった事を検出する方法や、タイマーといってもJavaには 色々ありますし。またスレッドを使った方法もあると思います。 一般にとられている、ポピュラーな方法を知りたいです。ご存じの方はいますでしょうか。
309 :
デフォルトの名無しさん :2006/06/11(日) 18:28:46
>>308 50クラスもあるGUIアプリってどんなアプリですか?
ちなみに通常はスレッドを使用します。
タイマーで生成順序を変えるなんてことは考えない方がいいです。
>>308 日本語でおけ
タイマーやスレッドとは関係ない話にみえるけど
(y/n)を押して下さいというメッセージを表示した後 yを押した場合に「承認しました」というメッセージを出したいのですが 文法そのものがどうやって書けばいいかわかりません、何を使えばいいのでしょうか?
>>311 JOptionPane.showConfirmDialog
環境を書いたら?
>>311 ////////////////////////////////////////////////////////////////
import java.io.*;
public class hoge {
public static void main (String args[])throws IOException {
BufferedReader br
= new BufferedReader(new InputStreamReader(System.in));
System.out.println("(y/n)を押してください");
String str = br.readLine();
char res = str.charAt(0);
if(res == 'y'){
System.out.println("承認しました");
}else{
System.out.println("ダメポ");
}
}
}
////////////////////////////////////////////////////////////////
最善の方法かは知らんが
314 :
デフォルトの名無しさん :2006/06/11(日) 21:25:20
GUIでボタンとかテキストフィールドの位置って自分で決めれないんでしょうか?
315 :
デフォルトの名無しさん :2006/06/11(日) 21:28:12
決めれる レイアウトマネージャーでググれ
>>309 スレッドを使用するのですか。
タイマーを使ってはいけないのは、どうしてでしょうか?
もう少し教えていただけますか?
質問です。 StringBufferクラスにあるappendメソッドのように数値を扱えるものはないでしょうか? 例えばInt型の整数の値に入力された数値をくっつける。 int i=1のところに0を入力させると10になるといった感じです。
318 :
314 :2006/06/11(日) 21:52:45
>>317 StringBuffer使えばいいじゃない
Integer.parseInt(new StringBuffer().append(i).append(0).toString());
>>317 なにしたいかわからんがフォーマッタでもさわってみたら?
>>190 ポーリングしなくてもできたよ
Clipboard m_clp = getToolkit().getSystemClipboard();
m_clp.addFlavorListener(new FlavorListener(){
private String s = "";
public void flavorsChanged(FlavorEvent e){
try{
String buf = (String)m_clp.getData(DataFlavor.stringFlavor);
if(!s.equals(buf)){
System.out.println(m_clp.getData(DataFlavor.stringFlavor));
}
s = buf;
StringSelection strClip = new StringSelection(s);
m_clp.setContents(strClip , null);
}catch(Exception err){
err.printStackTrace();
}
}
});
323 :
デフォルトの名無しさん :2006/06/11(日) 22:53:58
質問させてください。 public class test{ public static void main( String[] args ){ String strData = "null po"; System.out.println( strData.matches( "[^A-Za-z0-9]" ) ); } } これを動かすと百発百中でfalseが帰るんですがどこが悪いのでしょうか? 正規表現で英数字以外にヒットさせるようにしたいんですが・・・
自己レス。".*[^A-Za-z0-9].*"って前後に入れなきゃ駄目なのね…
matches(String)は全体一致
C:\jikkeso>java -jar a.jar Failed to load Main-Class manifest attribute from aaa.jar 実行しようとするとこういうエラーがでちゃうんだけど何故でしょうか?
おまえそれほんとにそれでいいのか?
同じスコープで2回も宣言するなよ。(br)
329 :
326 :2006/06/12(月) 00:21:54
C:\jikkeso>java -jar aaa.jar Failed to load Main-Class manifest attribute from aaa.jar ファイル名隠したつもりがaとaaaになってた・・・ 訳してみたら負荷で失敗とかでた・・・ マニフェストがおかしいってことなんですか? 実行できるjarを作ろうとしてます
>>326 JARファイルはzipファイルだから、とりあえず解凍ソフトで作成したJARファイルを解凍してみてください。
1,JARファイルの中に「MANIFEST.MF」というファイルがありますか?
2,MANIFEST.MF の中身に Main-Class: クラス名 という文がありますか?
>>326 NetBeans入れてコンパイルしてdistフォルダのぞいてみるのがはやそう
ライブラリとかも全部セットアップしてくれる
333 :
デフォルトの名無しさん :2006/06/12(月) 10:56:12
質問させていただきます。 いまGUIを勉強しているのですが・・・・ JFrameを使って作られたGUIのJPanelの内容のみを更新するのは どのようにすればよいのでしょうか? 例えば、JMenuからJMenuItemを選んだ場合 その選んだ内容によってJPanelのレイアウトを変えたい場合とかの 例が見つかりません・・・・。 よろしくお願いします。
>>333 また、茨の道を・・・
CardLayoutを使ってレイアウトを変えたPanelを追加・表示するのがどんなバージョン、プラットフォームでも安定して動く方法
335 :
デフォルトの名無しさん :2006/06/12(月) 11:42:30
>>334 ありがとうございます!
とりあえず試してみます
336 :
デフォルトの名無しさん :2006/06/12(月) 11:53:33
Microsoft VM(Ver1.1.8相当)はGridBagLayoutに対応してますか?
337 :
333 :2006/06/12(月) 12:22:18
できましたー! どうもありがとうございました! もっと早く質問しにくればよかった orz
338 :
デフォルトの名無しさん :2006/06/12(月) 12:45:43
JTextFieldに書き込んだ文字列が、どういう文字か(アルファベットか日本語か)を知るメソッドってないですか?
文字列と文字は違うからな〜
340 :
デフォルトの名無しさん :2006/06/12(月) 12:56:36
質問です。 the import org.eclipse cannot be resolved って言うエラーが出ます。どこでorg.eclipseを設定すればよいのでしょうか。
>>338 つ java.lang.Character.UnicodeBlock.of(調べたい文字)
Character.isXxxx系メソッドってのもある。
342 :
338 :2006/06/12(月) 13:27:43
何か本に「・」がカタカナと判定されるとかあるから気をつけましょうみたいな事が書いてあった。
Character.isDigitは漢数字だろうと何だろうと数字ならなんでもtrueなのも罠。
豆という文字が入力されたら、変数から「豆の木になりました」という文字列を引き出して ディスプレイに出力したいのですが、どう構文を書けばよいのでしょうか?
346 :
345 :2006/06/12(月) 16:22:02
もういい!大豆にして食っちゃう!
347 :
デフォルトの名無しさん :2006/06/12(月) 16:36:43
public class check { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String hoge = br.readLine(); if(hoge.equals(args[])){ System.out.println("一致"); }else{ System.out.println("不一致"); } } } 実行時に引数をargsに渡して、入力されたhogeと同じだった場合一致と表示させたいのですが 10行目のequalsで '.class'がありませんとエラーが出ます。 どこに問題があるのでしょうか?
352 :
デフォルトの名無しさん :2006/06/12(月) 18:34:21
htmlのテキストボックスから引数をとり計算するにはどうしたら いいでしょうか?どんなメソッドを使うかだけでも助かります。 よろしくお願いします。
353 :
デフォルトの名無しさん :2006/06/12(月) 19:03:45
>>352 javaとjavascriptを勘違いしていると思われ
>>353 いえ確かにjavaです。
初心者ですが、javascriptとjavaが違うことはわかっています。
HttpServletRequest#getParametersだって事くらい即分かるだろうに
357 :
デフォルトの名無しさん :2006/06/12(月) 20:05:13
Javaアプレットの良い参考書(もしくは勉強サイト)等はありますでしょうか? 書店ではあまり見かけなかったもので・・。
359 :
357 :2006/06/12(月) 20:18:08
P***Gua****というものを導入しろと言われたのですが*に入る文字って何か分かりますか?
>>360 100%ピュアグアバならGuayaba Puraでいいと思うんだがP***Gua****となると難しいな。
P-38Guam旅行へ
363 :
デフォルトの名無しさん :2006/06/13(火) 20:42:35
ボタンを押したら、テキストフィールドに入力された文字を取ってきてコマンドプロンプトに表示ってやりたいんですが 半角英数5〜10文字だけという条件を付けたいんです。 どういう例外処理をしていいかわかりません。 他スレで、matches("[a-zA-Z0-9]{5,10}") とやればいいと教えてもらったんですが 「TextFieldから取ってきた(String)文字」.matches("[a-zA-Z0-9]{5,10}") ってしたんですが、シンボルエラーが出ます。 どうすればいいでしょうか?
if 「TextFieldから取ってきた(String)文字」.matches("[a-zA-Z0-9]*") then if 「TextFieldから取ってきた(String)文字」.length() <=10 AND 「TextFieldから取ってきた(String)文字」.length() <=10
↑失敗した。。orz
String TextFieldから取ってきたString文字 = "だみー"; if (TextFieldから取ってきたString文字.matches("[a-zA-Z0-9]{5,9}")) { System.out.println(TextFieldから取ってきたString文字); } else { System.out.println("×"); } いけるっぺ
368 :
363 :2006/06/14(水) 00:32:55
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/idl/jidlExample2.html ↑Windows環境で、ここのサンプル通りにやっているのだが、servertoolでのregister指定で
「不正なサーバ定義: main class not found.」ってエラーが出ちゃいます。
理由がわかる人教えて。
registerコマンドは
register -server PersistentServer -classpath . -applicationName s1
あるいは
register -server PersistentServer -classpath C:\eclipse\workspace\PersistentHello\bin -applicationName s1
という風に指定してます。
370 :
369 :2006/06/14(水) 11:03:15
ちなみに、orbdの起動は、 start orbd -port 1050 -serverPollingTime 200& ってしないと駄目っぽい。 sunのチュートリアルっていまいち信用できんなぁ…。
javaのPatternクラスを使った正規表現では .(ピリオド)ってエスケープできないのでしょうか?
372 :
デフォルトの名無しさん :2006/06/14(水) 20:49:22
できますよ。
>>371 Pattern pattern = Pattern.compile("\\.");
374 :
デフォルトの名無しさん :2006/06/15(木) 14:28:21
public class Test{ public static void main(String[] args){ int a = 0; for(int i = 1; 1<=10; i++){ a += i; } System.out.println(a); } } このように書くと、7行目のプリントラインに「この文に制御が移ることはありません。」とエラーが出ます 何故でしょうか・・・
375 :
デフォルトの名無しさん :2006/06/15(木) 14:47:54
>>374 for(int i = 1; 1<=10; i++)
376 :
374 :2006/06/15(木) 14:51:15
>>375 アホでした、ありがとうございますorz
377 :
デフォルトの名無しさん :2006/06/15(木) 15:01:36
java.util.zipパッケージのクラスを使用して ファイル圧縮・解凍を行おうと思っているんですが、 ライセンスの問題ってあるんですか? javaでシステム開発を行っているんですけど、 java.util.zipパッケージだけは特別だとか、そんなことありますか。 少し調べたけれど分からなかったもので。。
>>377 ないよ。Java全体で、SunならSunのBCLAだし、IBMならそれなりのライセンス。
そもそもzipに特別なライセンスは必要ないでしょ?
誰か戻り値という物を分かりやすく説明して下さい、学校の授業について行けません。・゚・(ノД`)
先生に聞いてきな
>>380 お前レスを投稿するという行為が関数呼び出し
そしてお前の書き捨てたその本文が引数
そして俺のこのレスが戻り値だ
382 :
381 :2006/06/15(木) 19:59:12
>>379 お前告る。美少女断る。この場合はbooleanのfalseが戻り値なんだが、わかるか?
>>379 中学生?
中学生以上なら数学の関数の結果と思えば良い
何そのelse句無視の投げっぱなしジャーマン
中学生クラスのインスタンスがお前、告るは中学生クラスのメソッド、引数として中学生クラスのインスタンス美少女を渡す。 インスタンスがお前の場合、返り値は必ずfalse。
告られるメソッドがある方が良くないか? 決めるのはインスタンス美少女だし。
System.out.println(bisyojo.canLoveLove(inst379)); この場合、美少女がメソッド内部でクラス中に きもかったという感想を伝えんとも限らないから要注意だ。
ここは返り値のいろいろな説明・サンプルが見られる素晴らしいスレですね
AAA[]lAAA = null; lAAA = new AAA[10]; 上記のような感じで配列なインスタンス生成を行って それぞれのインスタンスが持つメソッドを呼ぶのは どうすればいいんでしょうか? AAA[0].BBB(); と普通にやるとぬるぽなんですが…。
返り血
AAA[] arr = new AAA[10]; for(int i = 0; i < arr.length; i++){ arr[i] = new AAA(); } 頑張って携帯で打ち込んでみた つーかArrayList使え
AAA[] arr = new AAA[10]; for(int i = 0; i < arr.length; i++){ arr[i] = new AAA(); } インデント入れろや、頑張ったって言うくらいなら
393 :
デフォルトの名無しさん :2006/06/15(木) 21:36:24
1. 3を4で割った答えと余りを整数で答えなさい. 2. 3a=(3/2)b+c の等式を bについての等式に変形しなさい. 3. 数字だけを組み合わせて作る4桁の暗証番号は全部で何通りできますか? 4.キーボードから正の数を次々と入力し,0が来たら,それまで入力した数の最大値,最小値, 平均値を出力するプログラムを書きなさい. 教えてください。。HTML使ってます。
宿題スレじゃないんで。
>392 iMomaで見たらインデントされてるのだが… ブラウザだと崩れてしまうか。 配慮が足らんかった すまそ
バカはほっとけ
398 :
大阪人 ◆0RbUzIT0To :2006/06/15(木) 22:08:53
JSPのみでHIT&bLow数字当てゲームの作りかた教えて! 今日学校で宿題出た! 3桁でお願い致します
399 :
デフォルトの名無しさん :2006/06/15(木) 22:11:39
揚げ
400
401 :
デフォルトの名無しさん :2006/06/15(木) 22:34:13
>398 ソースコード貼ればいいの?俺Cしかわかんね だれかやったれ
宿題スレで。 まあ、次に挙げる口座に 指定の額を入れてくれれば やってあげても良いのだがな。
宿題スレじゃねーっての。 "00"+Random#nextInt(int)で初期化 入力はStringを取ればいい あとは適当にやれ
このスレが適当かわかりませんが。。。 スレ違いであれば誘導ください。 SwingアプリをWebブラウザ上で実行させるにはどのような方法がありますか? 目的は、スタンドアローンのSwingアプリをデモ用にWeb公開したいのです。 ただし、デモユーザに特別な環境は用意させたくありません。 アプレットに改造できれば良いのですが、時間がかかりすぎますし。 JavaアプレットのVNCビューワで公開するというのも考えたのですが、 VNCですと特定のアプリのみ利用可能にすることはできませんよね。。。 ヒントがあればお願いします
406 :
デフォルトの名無しさん :2006/06/15(木) 23:36:08
webページのソースってどーやって取得するんですか ブラウザっぽいの作りたいんだけど
407 :
404 :2006/06/15(木) 23:42:59
>>405 ありがとうございます。
調べてみます。
>>404 JFrameをJAppletにする。
mainメソッドの中身をinitメソッドへ。
411 :
デフォルトの名無しさん :2006/06/16(金) 02:06:54
String str=("abc 123 hhh "); strからabc,123,hhhを取り出したいのです。 どうすればいいでしょうか?
>>411 案1 trim()してreplaceall(" ", ",")
案2 split(" ")
何か理由があって「1.4以降のJavaは使えない」という状況なら
java.util.StringTokenizer
>>412 書き忘れたけど案1と案2は同値じゃないから。
「取り出したい」の意図によって使いわけて。
>>412 splitでググったら何とかできました。
サンクス
415 :
デフォルトの名無しさん :2006/06/16(金) 03:11:48
課題でtexもどきを作っているんですが、数式を表示するのに有用なGUIとかって有りますか?
なんか宿題多いねー6月ってなんかあったっけ
419 :
デフォルトの名無しさん :2006/06/16(金) 13:50:40
7進数のやり方を教えて下さい!
>>419 Integer.parseInt(s, 7);
Integer.toString(i, 7);
クラスリテラルという記述方法がありますが(String.class 等)、 この結果の getName() は、対象がクラスであれば(配列クラス、プリミティブ、voidを除くと言う意味で) FQCN であると考えて良いのでしょうか?
422 :
389 :2006/06/16(金) 15:10:14
>>391 なるほど、個別にnewする必要があるのか。
勉強になったよ、ありがとう。
>>421 クラスリテラルは java.lang.Class のインスタンスだから、
java.lang.Class の getName() を調べればいい。
で、getName() は「バイナリ名」を返すので、厳密には限定名とは違う。
具体的にはメンバークラスとか内部クラスとか使ってる場合に、
取り囲むクラスのバイナリ名 $ 内部クラスの単純名 みたいに $ で区切られたりする。
>>423 ありがとうございます。
何となく危惧していた所まさにその通りでした。。
426 :
デフォルトの名無しさん :2006/06/16(金) 18:22:55
すいません。質問です。 現在、JavaScriptで監視ツールのパラメータをipmsg(フリーソフト)で 障害発生時にポップアップで出しています。 このポップアップで出たメッセージをファイルにログとして残したいです。 JavaScriptでファイルに書き込むようなことはできるのでしょうか? 初心者で申し訳ないのですが、どなたか教えてください。
427 :
デフォルトの名無しさん :2006/06/16(金) 18:28:43
↑の者です。ここJavaScriptの板じゃなかったですね。 すいません。
ドメインない人はどうやってライブラリ配布すればいいの? パッケージをいきなりhogelibみたいにライブラリ名にしちゃうと後で困らない?
>>429 ごめん、ちょっと意味がわかりません。
@の右側ってこと?ドメインだよね、これ。
java_confなるドメイン登録サービスがあるのか 趣旨は素晴らしいけど審査してないのかな、ゴミのように登録されているw
パッケージ名はユニークならOKってことなら メルアドはユニークだろ、と言う意味では?>429
>>433 430向けでいい?とりあえずその理屈には納得だけど
物凄い量のスパムがきそうでやだなw
orgドメインでこういうのがあればなぁ やっぱライブラリの格とでも言うのか、3領域で済むライブラリに高級感を感じる org.apacho.geregereとかね
LifeクラスとPlayerクラスの二つのファイルが同じフォルダに入っているにも関わらず、 LifeクラスでPlayerクラスのメソッドを利用するためにPlayerクラスのインスタンスを作成しようと private Player player; player = new Player(); と宣言すると、 Life.java:33: シンボルを解決できません。 シンボル: コンストラクタ Player () 場所 : Player の クラス player = new Player(); ^ というコンパイルエラーが出てしまいます。 player = new Player(); を宣言せずにコンパイルするとコンパイルエラーは出ないのですが、 LifeクラスでPlayerクラスのメソッドを呼び出すところになると 画面がとまってしまいます。 なぜこのようなことが起こるのですか?それと解決策も教えてください。お願いします。
> private Player player; > player = new Player(); private Player player = new Player(); にするか player = new Player(); をコンストラクタかどこかのメソッドの中に書け。 あと同じフォルダにあるかどうかはまったく関係ない。
>>437 解決しました、ありがとうございました。
ホームページのソースから<td class=.emph.>○○</td>に囲まれた文字列を抜き出し表示します
これの表示結果をaaa.txtに出力したいのですがうまくいきません。どなたか教えてください
public class pw4 {
public static void main(String[] args)
throws IOException
{
URL u = new URL("
http://money.www.infoseek.co.jp/MnStock/4755.j/slast/ ");
InputStream is = u.openStream();
InputStreamReader isr = new InputStreamReader(is, "euc-jp");
BufferedReader reader = new BufferedReader(isr);
String line;
Pattern p=Pattern.compile("<td class=.emph.>(.*)</td>");
while ((line = line=reader.readLine()) != null){
Matcher m=p.matcher(line);
if(m.find()){
String rep = m.group(1);
System.out.println(rep);
}
}
}
}
>>439 aaa.txtへ書き出すFileWriterを作るか、リダイレクトしなさい。
441 :
デフォルトの名無しさん :2006/06/17(土) 07:28:15
文字列をバイトストリームに変換してファイルに書き込むにはどうしたらよいのでしょうか。
意味不明だが、圧縮とか暗号化すればいんでね
文字列をバイト配列にしてOutputStreamにどかっと流せばいいよ てか文字列ならWriterにしようよFileWriterにすれば文字列でいい。
>>441 OutputStreamWriterとFileOutputStream
445 :
デフォルトの名無しさん :2006/06/17(土) 08:51:06
Hashtableで同じキーを指定してputしたら、 古いものは上書きされてるのでしょうか?
ちょっと試せばすぐにわかることを聞くのはやめれ。 初心者以前の問題。
試す前にまず仕様を確認しろと。
仕様を確認する前に仕様を策定する側にまわれと
450 :
デフォルトの名無しさん :2006/06/17(土) 11:39:32
どうしてもわからないので教えてください。 テキストファイルを読み込んで+1して同じファイルに出力しようと思っているのですが、 +1されて画面に表示するところまでは正常なのですが、最後のファイルに出力がされません。 import java.io.*; public class Count { public static void main(String [] args) throws Exception { String file = "1.txt"; BufferedReader br = new BufferedReader(new FileReader(file)); BufferedWriter bw = new BufferedWriter(new FileWriter(file)); int num = Integer.parseInt(br.readLine()); num++; System.out.println(num); bw.write(num); } }
closeしてないの?
>>450 bw.write(num);
↑ここに入れるのは整数じゃなくて文字コード
br.readLine() の戻り値をnullチェックしましょう。 bwはfulshとcloseが必要です。
454 :
デフォルトの名無しさん :2006/06/17(土) 12:00:30
みなさんありがとうございます。
>>453 本来はnullチェックすべきだとは思いますが、リード側には問題なさそうです。
試しに、リードの部分を消して書き込み処理だけで試しましたが同じでした。
>>451 closeは省略できると聞いたのですが。一応、closeして試しましたがだめでした。
>>452 文字コード? 本文はどうするのですか? 一応、String型でも試しましたが、駄目でした。
Linuxでやっているのですが、1.txtのパーミッション、ディレクトリのパーミッションが問題だったりするのでしょうか?
コンパイル時、実行時にエラーが出てる訳ではないのです。
実行前に1.txtに100と書き込んでから、実行後1.txtを見ると消えている状態なのです。
試す前に仕様を確認するかどうかはケースバイケースじゃないのかな。 SJC-Pの問題では、ソースコードが提示されてコンパイルできるかどうかを 問う問題が多いが、これが試験ではなく現場レベル・実用レベルだったら すべて詳細に仕様を調べるよりもコンパイルしてみたほうが 早いし、それで充分な場合も多いと感じる。 ・・・とは言え、仕様の確認は重要だな。 J2SEのAPIドキュメントに載っている範囲ならまだいいが、 J2EEあたりになると仕様で決まっていない・明確化されていない部分の 実装依存という問題がかなりあるから。 「試して・動けばOK」という考えだと仕様でそう動くことになっているのか 実装依存でたまたまそう動いてしまっているだけなのかの切り分けができない。
>>454 bw.write(int);使わなくても
bw.write(String.valueOf(num));
でいけると思うけど。
つーかException表示してくだされ ファイルのオープンで失敗してるかもしれんし まさか同じファイルを書き込もうとはしてないよな 片方をオープンしたまま
>>454 ファイルのcloseに限らず資源の解法は必須
あとプログラム自体が初めてならJava以外にも根本的なところが抜けてるようにみえる
電子計算機概論くらいはさらっとよんでおけ
>>454 1.ファイル名を変えること。または、Readerをclose()してからWriterをつくること。
2.write()はclose()かflush()しないとバッファがいっぱいになるまで書き込まれない。
write→バイト(数値/文字コード)をストリームに書く。 print→文字列をストリームに書く。 という違いがある。 読み込むのが数値の文字列表現なら("1"とか)なら、書く方もwriteじゃなく printじゃないのか?
みなさんご指摘ありがとうございます。ようやく正常に動作しました。いろいろなミスが重なっていたようです。 write()のclose()、同じファイルを同時にオープンしていたこと、bw.write(int) が原因だったようです・・・。 read()の方はclose()しなかった場合は、何か悪いことになりますか? public void write(int c) throws IOException 単一の文字を書き込みます。 オーバーライド:クラス Writer 内の write パラメータ:c - 書き込む文字を指定する int と書いてあったのでint型もOKと勘違いしたのですが、この「int c」というのはどういう意味なのですか?
>>462 readの方のクローズは、もしこの後に処理を続けた場合に開きっぱなしになる
writeについてはintのバイナリ表現(32bit整数)をネットワークオーダーで出力する
C言語なんかのintのバイナリ表現と違ってJavaの場合環境依存しないバイナリ表現になる
>>463 つまりwriteにはint型のままではNGなのですか?
>>459 一応、基本情報とSJC-A持っています・・・。(両方とも堂々と言えるようなレベルではないけど・・・。)
>>464 BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.close();
適当にテキストファイル作ってこれやってみそ。自分が何やってるか解るだろ。
ファイルの一部分の読み書きは、RandomAccessFile使う。
writeの引数のintは実質charだと思えばまあ大きな間違いはない。 A という文字はユニコードでは u+0061 だが int とみなすと 0x0061 = 97 write(97) で A という文字が出力される。
u+0061 は a だな。A は u+0041 か。
インスタンス変数は hoge_ みたいに後ろにアンスコ付けてるけど、 クラス変数の接尾語・接頭語はどうしてる?
469 :
デフォルトの名無しさん :2006/06/17(土) 16:01:28
何だよその時代遅れの
finalize句でファイルのクローズをしちゃいけないそうですが どうしてですか?
呼ばれるタイミングがGC依存だからだよ try-open-finally-closeの定型を使いなされ
ファイナライザってnativeの後始末をするためのものじゃないの?
呼ばれないで終了することも多いしな
>>473 native の後始末でも、普通は手動でやるか
Runtime#addShutdownHook() で後始末するかだね。
finalize() 使うことって殆どないと思う。
477 :
473 :2006/06/17(土) 18:57:21
適当に答えたら当たっていたようです! 勉強になりました(><)
Effective Javaからすればfinalizeは「保険」でしかない
ときどきでいいからJavaの鉄則のことも思い出してください
EJはJava5.0の仕様に影響するほどの一冊だからちょい特別視されちまうのさ
Javaの鉄則>>>>>>>Effective Java (翻訳の質)
Effective Javaは確かに見にくいな それでも良書 コード部分だけみてもいいべ
Appletでjarの中に詰め込んだファイルのリストを得る方法はありませんか? Fileを使いたくてもAppletでは無理ですので、せめてjarの中だけでも調べたいです。
Effective Java>>>>>>Javaの鉄則 (本の内容)
485 :
デフォルトの名無しさん :2006/06/18(日) 00:50:00
Javaをアップデートしたら前のバージョンのファイルは削除しちゃっていいんですか?
486 :
デフォルトの名無しさん :2006/06/18(日) 01:09:06
使っていなければよいと思われ。
javaで大体400行前後で自由にプログラムを作れって課題ですが、 この規模だとどの程度のものが出来るか例を教えてもらえないでしょうか? かなり初心者です
>>487 リソースを別にして良いなら簡単なゲームが作れる
489 :
デフォルトの名無しさん :2006/06/18(日) 01:35:37
eclipseでsrc(.java)とbin(.classがある)に分けて保存してるんですがこの場合画像ファイルはbinに置くのが普通ですか? イメージを読み込むときは image = ImageIO.read(getClass().getResource("test.gif")); を使ってます。
図書スレが今分断してしまって人いないので ここで聞かせて下さい 日本語で読めるJava関連の書籍で 初心者が中級者へステップアップするために 欠かせない本を紹介して下さい とりあえず買おうと思っているのは Effective Java Javaの鉄則 です 他にありませんか?
>>490 Javaの格言
Java魂
軽快なJava
リファクタリング
パターン指向理ファクタリング入門
あたりは結構面白かったよ。
>>488 ゲームですか・・実用的なプログラムはまだ無理かな
>>489 Eclipseでは、ソースフォルダにあるものはコンパイル出力ディレクトリにコピーされるから
srcに置いてOK。binに入れておくと何かのタイミングでキレイさっぱり削除されてしまうことがあるから要注意。
>>492 ディレクトリからファイルを再帰的に検索して、指定した文字列や正規表現が含まれるファイルを探して、そのパスと行数を表示するプログラムとか
495 :
えり :2006/06/18(日) 03:00:19
はじめまして。早速ですが、どなたか教えていただけないでしょうか? 現在iアプリを作成しているのですが、エラーが発生し困っています。 Dojaというエミュレータ上では、正常に起動できる状態なのですが、 携帯電話実機で起動すると、以下のエラーが発生します。 「message=Cannot class in system package」 これは、ADF設定にAppTrace=onと設定し、出力したものです。 アプリケーションを起動し、「通信を開始しますか?」のダイアログにて 「はい」「いいえ」のどちらを選択してもエラーが出ます。 Javaも初心者ですが、時間がなくて大変困っています。 エミュレータにて、起動したときには正常に動作するにも関わらず 実機ではできないとはなぜなのでしょうか? エラーの意味がよくわかりません。 よろしければご教授ください。
use File::Find; my $keyword = shift; find(sub { if (!-d && /$keyword/ && open my $fh, $_) { my $line_count = @{[<$fh>]}; printf "%s %d\n", $File::Find::name, $line_count; } }, '.');
>>492 昔作ったオセロゲームが800行だった。書き方によって増減すると思うけど、参考まで。
Javaって趣味でつくるプログラミングが やりにくいからな〜〜〜
内容が無い様なものなら作るのが勿体無いよ
趣味でスタンドアロンならMS系がいいし、趣味でWebならPHPがいいよ。 趣味でやるならiアプリぐらいかな。
初歩的な質問ですみません。 JDK1.5.0_07をインストールし、Path設定を行ったのですが、 javacでクラスファイルは生成されるのですが、javaコマンドで読み込んでくれません (NoClassDefFoundError) Path設定はjavacで動いているので間違いないと思うのですが… 念のため、別環境で作ったクラスファイルを読ませたのですが、やはりNoClassと表示されます。 問題はどこにあるのでしょうかorz
誘導ありがとうございます。申し訳ないorz
>>490 Effective Java のジョシュアが書いた続編っぽいやつ
Java Puzzlers が面白いよ。
ベースとなるMapをある条件でEntryを抽出した別のMapにとり その別のMapからremoveするとベースとなるMapも連鎖的に削除される といった機能を持つクラスはありませんでしょうか? DBのテーブルのようなものですが、極力早く処理したいのです。
506 :
デフォルトの名無しさん :2006/06/18(日) 13:06:21
特定の拡張子のファイルって、特定のアプリに関連づけられていて、ダブルクリック するとそのアプリが起動してファイルが開かれますよね。 Javaアプリケーションでもそれってできるんでしょうか。 特にJava Web Startアプリでそれをやりたいんですが・・・。
JRE 入れると、jnlp に関連付けされなかったっけ?
インスタンスを強制的にold世代に殿堂入りさせる方法はありませんか?
510 :
デフォルトの名無しさん :2006/06/18(日) 16:00:18
GCされたオブジェクトを知る方法は、ありませんか?
511 :
デフォルトの名無しさん :2006/06/18(日) 16:01:31
513 :
512 :2006/06/18(日) 16:07:44
ごめ、はやまった。
>>511 ああ、なるほど。それでルートから外せば良いのですね。
深く考えるだけ無駄のようでしたorz
>>508 いえ、jnlpの話ではなくて、
たとえばJavaでリッチテキストエディタを作ったとするじゃないですか。
そしたらリッチテキストの拡張子(.rtf)がついたファイルをダブルクリックすると
ワードパッドやWordじゃなくて、そのJavaエディタでファイルを自動的に開く
ようにしたいんですよ・・・。
Windowsのフォルダオプションの拡張子関連付けだろ? webstartは設定ファイルの中にjvmの設定を埋め込んでなかったっけか jarならフォルダオプションの機能を使えばいい、JNIで作れると思うよ アプリの配置位置が固定になるから諸刃の刃だとも思うけど
>>515 少なくとも Mustang までは標準API では無理。
JDIC の filetypes API 使うとできるっぽいような気もする。
これ Dolphin に入るかな? もしくは JNI 使って自力で実装するか。
Windows だとレジストリ読み書きできる API さえ作っておけばできるんじゃなかったけ?
PrivateProfile〜みたいな名前であったはずだよ<レジストリAPI openってアクションに普通にコマンドラインのパスだけみたいな単純な作りで登録できたはず
>>518 PrivateProfile云々って INI 操作用の API じゃなかったっけ?
あ、そうだったかもw ごめそ
521 :
デフォルトの名無しさん :2006/06/18(日) 17:43:24
>>512 ありがとうございます。
もう少し、詳しく教えてください。
jconsoleだと、メモリの状況とかは、わかるみたいですが...。
インスタンス名とかクラス名がわかるといいのですが。
>>517 ,
>>518 ,
>>519 ありがとうございます。
Mustangなら標準APIでできるのですか?
将来的にできればよいので、別にMustangでもかまわないです。
もう少し詳細を教えていただけますか?
そろそろ JAR に固有のアイコン仕掛けられるようにしろよと思う今日この頃。
>>523 それはOSの仕事だからJavaががんばっても無理じゃね?
皆さんのこれだけは絶対読め と言える一冊を教えてください
このスレを最初から読め、絶対だ
>>524 んなこたねぇ。Illustrator や Photoshop のファイルはサムネールが 16x16, 32x32 アイコンになる。
Shell 何とかだか何とか Handler だか作れば出来る。
529 :
デフォルトの名無しさん :2006/06/18(日) 22:41:07
javaでexeするにはどれが一番ですか?
サンドボックスにするためにFileではなくURLを使いたいのですが 作業ディレクトリ(user.dir)をURLに変換するにはどうしたらよいのでしょうか?
>>527 すべてのOSでGUI環境が前提になっているわけではないんだが。
今Servletのプログラミングをやっていて ファイルのダウンロード処理をServlet側で失敗した場合に 最初に表示していた画面と同じ画面(JSPです)にエラーメッセージを 表示させようとforwardでやろうとしたんですが ダウンロード処理でoutputStreamを使用するとresponseが返せずに 失敗します。 何か良い方法は無いでしょうか?
>>532 元の画面からScriptで別Windowとしてダウンロードしておいて
元の画面はダウンロードが終わるまでは結果を全て返却しないorリロード繰り返し
FileChannel#getChannelってホントに速いのかな? BufferedImage作ろうとしてByteBuffer#arrayとByteArrayInputStream使ったけど FileInputStreamとURL#openStreamの間くらいの性能しか出ない… そのままプリミティブで頑張れる用途でだけ高速なのか?
535 :
デフォルトの名無しさん :2006/06/19(月) 16:11:36
JavaでGUIアプリケーションを作ってるんですが、 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); を記述してプログラムを終了させてもWindowsタスクマネージャにjavaw.exeが残ってしまうのですが、 何が原因ですかね?
for(int a=1; a>=100; a++){ System.out.print(" "+a); } 数字を10ずつ100まで改行していきたいのですが、どのようにすればいいのでしょうか? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
>>535 アプリケーションの javaw.exe は残ってないんだけど、
開発環境(Eclipse とか NetBeansとか)が使ってる
javaw.exe が残ってるのを見て勘違いしてるとか?
539 :
デフォルトの名無しさん :2006/06/19(月) 16:32:34
>>537 コマンドプロンプトから実行しても終了しないんですよ。
Ctr-Cでも終了しません。
540 :
デフォルトの名無しさん :2006/06/19(月) 16:48:40
Jane Doe Style 2.31 ですが、 起動しようすると、インストールしてあるウィルスチェックソフトavastが反応して トロイの木馬の警告が出ます。 無視して良いんでしょうか?
>>539 とりあえず
final JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SwingUtilities.invokeLater(new Runnable(){
public void run(){ frame.setVisible(true); }
});
みたいな最小のソースで動かしてみれば?
最小のソースで動くのに、君のプログラムが動かないのであれば、君のプログラムが変。
最小のプログラムで動かなければ(VM、OS、ハードまで(?)含めて)システムの方が変。
>>539 別のjavaアプリが動いてる可能性に5000バーツ
アプレットで、JTableにデータベース情報を表示、 DB情報が変更されたら、修正後の結果をJTableに反映させる、 というものを作っているのですが、Jtablelが増えてしまったり、 灰色になって表示されなくなって、上手く動作しません。 テーブル内容を更新するには、どうすれば良いでしょうか。 removeやupdateUIなど、関係ありそうなものも調べて書いたのですが、 どうにも上手く動作せず、見当はずれな気がしてきて。 何かヒントを頂けないでしょうか。
544 :
デフォルトの名無しさん :2006/06/19(月) 19:56:35
コンパイルエラーです。 Kadai3 にアクセスできません。 クラスファイル .\Kadai3.class は不正です。 クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 ってどういう意味でしょうか? 学校のPCでやったときはこんなのでなかったのに
もしかして、5.0でコンパイルしたのに1.4とかで実行した?
>>544 クラスファイルバージョンが 49.0 って事は学校では 5.0 以降使ってんじゃね?
で、家では 1.4.x 使ってるのでクラスファイルバージョン 48.0 までしか対応してないとか。
547 :
デフォルトの名無しさん :2006/06/19(月) 21:27:15
Javaで画像処理をしてるんですが、 モノクロ画像をBufferedImageに読み込んで1ピクセルずつgetRGBで取り出して ある閾値以上のピクセルを抽出する処理してるんですが、もっと効率のいい方法は無いですかね? モノクロ画像ということを利用してどうのこうのとか…
簡単なアプレットを作って実行していたんですが、 appletviewerを右上のXボタンで閉じる際に 以下のようなexceptionメッセージが出る場合があるのですがどうすればよいのでしょうか? しかも出る場合と出ない場合の両方があってもうお手上げ状態なんです。 どうかご教授下さい。 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData at sun.awt.windows.Win32SurfaceData.initOps(Native Method) at sun.awt.windows.Win32SurfaceData.<init>(Unknown Source) at sun.awt.windows.Win32SurfaceData.createData(Unknown Source) at sun.awt.Win32GraphicsConfig.createSurfaceData(Unknown Source) at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source) at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source) at sun.awt.windows.WComponentPeer$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
getRGB(int,int,int,int,ing[],int,int)の方使えばいいんじゃないの? それ以上速いなら俺も知りたい
>>549 UNIX or Linux
appletviewer hoge.html >/dev/null 2>&1
Windows cmd.exe
appletviewer hoge.html >nul 2>nul
以下のようにコレクションを動的に生成すると警告が吐かれてしまいます。 String className = "java.util.ArrayList"; Class listClass = Class.forName(className); Object obj = listClass.newInstance(); List<String> list = (ArrayList<String>)obj; list.add("foo"); list.add("bar"); System.out.println(obj); これをどうにか警告なしで実現したいのですが、どのようにしたら良いのでしょうか?
>>552 で?その警告メッセージはどう表示されるのですか?
554 :
552 :2006/06/19(月) 22:53:57
コレクションの型チェックの警告です。 注: D:\java\workspace\Test\src\test\Main.java の操作は、未チェックまたは安全ではありません。 注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
>>547 BufferedImage img = ImageIO.read(new File("grayscale.png"));
DataBufferByte dataBufferByte = (DataBufferByte) img.getData().getDataBuffer(); // 型判定省略
byte[] buffer = dataBufferByte.getData();
適当だが、こんなのはどうだろう。
詳しくは java.awt.image.Raster や java.awt.image.DataBuffer を参照して。
>>547 その程度の情報では画像ソースしだいでいくらでもコードは変わるぞ
>>551 回答ありがとうございました。試してみたところ確かに件のメッセージが出ることはなさそうです。
もう一つお聞きしたいのですが、これをそのままブラウザ上で起動した場合何か問題があるのでしょうか?
もしあるとするならば解決法をお願いします。
558 :
デフォルトの名無しさん :2006/06/20(火) 02:26:34
if(条件){ String rep = a; System.out.print(rep); } if(条件){ String rep2 = b; System.out.print(rep2); System.out.print(rep); } 変数 rep は初期化されていない可能性があります。 と出るのですがどうしたらいいですか?
559 :
デフォルトの名無しさん :2006/06/20(火) 02:30:12
変数をifブロックの前に定義すれば?
560 :
552 :2006/06/20(火) 02:36:31
外でrepを宣言しててそっちは初期化してないんだろ? ifブロック内で新しくrep宣言してるやん
インターフェースについて質問です。 あるインターフェースを実装したクラスを作成する場合、そのクラスはインターフェースで定義されている全てのメソッドをオーバーライドしなければなりません。そうしないとコンパイルエラーとなります。 しかしインタフェースComparatorを実装したクラスを作成する場合、メソッドequalsを書かなくてもメソッドcompareのみをオーバーライドするだけでコンパイルは成功して、実際クラスとして機能します。 このようにインターフェースの中で必要とするメソッドのみを使う方法を教えてください。
562 :
デフォルトの名無しさん :2006/06/20(火) 10:52:16
>>561 equalsはjava.lang.Objectで実装されている。(適切に実装されているかはさておき)
インターフェースであろうとabstract classであろうと実装されていないメソッドは全て実装しなくてはならない。
equals()はスーパークラス(java.lang.Object)で定義されているからだろ。 あとは、抽象クラスならすべてのメソッドのオーバーライドは必須ではない
質問。Javaでメソッド内での変数の入れ替えを 呼び出し元に反映させるにどうすればいいの? C++だったらポインタ、.NETだったら参照渡しで出来るのはわかるんだけど・・・。 //C# Swap( ref int num1 , ref int num2 ) { int swap = num1; num1 = num2; num2 = swap; } //C++ Swap( int* num1 , int* num2 ) { int swap = *num1; *num1 = *num2; *num2 = swap; }
>>564 無理
でも、なんでそんなことする必要があるの?
>>564 グローバルなクラスに変数を入れて
どこからも参照できるようにするとか
そういう風にしたい変数って多くないし、これでいいんじゃない?
あんま頭イイやり方じゃないけど。
>>565 ただなんとなく考えてみただけなので、
特に理由は無いです(ぉぃ)
568 :
561 :2006/06/20(火) 12:46:42
>562,563 java.lang.Objectの存在を忘れていました。 回答どうもです。
569 :
デフォルトの名無しさん :2006/06/20(火) 15:03:43
最近JavaScriptを始めた初心者です。 どうしたら解らないので、教えて下さい。 新しいウィンドウを開いたり、閉じたりすることは出来たのですが、 新たに開いた子ウィンドウを 元の親ウィンドウがあるホームページ内にいる場合は開いたままで、 ホームページの外に出たら閉じるようにしたいのです。 どうしたら良いのでしょうか?
570 :
デフォルトの名無しさん :2006/06/20(火) 15:05:54
571 :
デフォルトの名無しさん :2006/06/20(火) 15:34:59
PHPから転向してきたJava初心者です。 今、Eclipseが使えない環境で作業していまして、 各ステータスをプリントアウトしながらデバッグしています。 そこで思ったのですが、 javaにはPHPのvar_dumpに相当する便利なメソッドはないのでしょうか? よろしくお願いします。
572 :
デフォルトの名無しさん :2006/06/20(火) 15:40:11
どうも。 突然乱入してスマソ。 ところで、管理者設定ってどうしたら破れるの? って友人に聞かれたので教えてください
管理者を買収するか脅迫すればおk。
>>571 jdbでも使うしか無いかねぇ。 あんま便利じゃないけど。
詳細はsunかgoogleに聞いて。
575 :
デフォルトの名無しさん :2006/06/20(火) 15:44:55
>>573 買収なんて無理だお。
なんとかレジストリとかでできないですかぁ?
面白そうなんだお。 本当にこれ叩いていいんですかぁ?
OK
質問です。 PrintWriter.println(String s)で、 何故かArrayIndexOutOfBoundsExceptionが 発生してしまいます。 このように出ています。 Caused by: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) PrintWriter.println(String s)に何か制限でもあるのでしょうか?
>>579 一部だけ抜き出さないでスタックトレースを全部晒せ。
581 :
579 :2006/06/20(火) 17:08:16
すみません。 このようになっています。 Caused by: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:216) at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:151) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336) at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404) at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213) at java.io.BufferedWriter.flush(BufferedWriter.java:230) at java.io.PrintWriter.flush(PrintWriter.java:120) at java.io.PrintWriter.newLine(PrintWriter.java:256) at java.io.PrintWriter.println(PrintWriter.java:405) at java.io.PrintWriter.println(PrintWriter.java:516) at jp.co.xxx.test.logic.Logic.outputCsv(Logic.java:305) ... 14 more
>>579 println() には何のクラスのインスタンスを渡している?
ソースの中の println() を使用している個所を抜き出してコピーペーストして書け。
583 :
579 :2006/06/20(火) 17:37:57
こんな感じです。 PrintWriter out = new PrintWriter(response.getWriter(), true); String s = "xxxxx"; // 実際には1000文字ぐらいの文字列 out.println(s); // ここでエラー発生
windowsとLinuxのパス区切りの違いの吸収について 教えてください。 たとえばwindow環境では、application.getRealPathの結果が、 c:\home\hoge\file のように"\"で区切られます。 最後の"/"相当の文字の位置を知るために、現状ではまず lastIndexOf("/") を試し、-1が戻ってきたら次に lastIndexOf("\\") を試みていますが、もっと簡便な方法はありませんか? //////////////////////////// //path中の最初の"/"の位置を取得する String sSP = application.getRealPath([ファイル]); if((li = sSP.lastIndexOf("/")) == -1){ li = sSP.lastIndexOf("\\"); } ////////////////////////////
つFile.separator もしくは System.getProperty("file.separator")
587 :
デフォルトの名無しさん :2006/06/20(火) 18:48:01
創るjavaで勉強してる初心者なんですけど NetBeansでソースを書いて実行すると 「 クラス○○○にはmainメソッドがありません。 」 と出てくるのですがどうしたらいいのかわかりません 教えてください
mainメソッド書けば良いよ
589 :
デフォルトの名無しさん :2006/06/20(火) 19:01:18
>>588 mainメソッドをどこに書けばいいのですか?
それさえわかりません
590 :
デフォルトの名無しさん :2006/06/20(火) 19:01:43
じゃあ死ねば
591 :
デフォルトの名無しさん :2006/06/20(火) 19:06:30
>>590 死んできます
冥途の土産に教えてくだされ
化けて出ますよ
なんでかしらんけどAlt+Enterの例外補完が聞かない 欄は表示されるのに補完を実行しても反映されない それどころか稀に周辺のコードを汚して壊すw う〜ん、変なオペレーションした記憶がないのに・・・
594 :
デフォルトの名無しさん :2006/06/20(火) 19:33:51
JTextAreaの内部文字列をgetTextを経由せずにアクセスできないのでしょうか? charをシーケンシャルアクセスできれば十分なのですが、何か方法があればお願いします。
597 :
536 :2006/06/20(火) 19:40:59
>>538 遅くなってすいません、Wordでとはどういう事でしょうか?
DOS上に100までの数字を10ずつ改行していきたいです
forの中にどのような事をすれば簡潔に改行するプログラムをかけるのかな分かりません
>>587 mainがないってことはそのクラスは
他のmainのあるクラスから使うクラスなんじゃないの?
(;^ω^)
/ つ
(_(_,)
しし'
599 :
デフォルトの名無しさん :2006/06/20(火) 19:49:05
そうだねプロテインだね
Imageを切り分けて複数のImageを生成する方法はありますか?
>>597 めちゃくちゃベタだけど。こんなんでいんじゃね。
public class PrintInt {
public static void main(String[] args) {
for(int i=1;i<100;i++){
System.out.print(i);
if(i%10 == 0){
System.out.println();
}else{
System.out.print(" ");
}
}
}
}
602 :
597 :2006/06/20(火) 21:32:29
>>601 99までじゃない?
しかも、10までがずれちゃう。
>>603 1から99までの出力は確認してます。100を入れたかったらi<101か<=にする。
出ませんでしたか?
出ました。 1〜10がずれないようにするにはどうしましょうか?
>>605 format使って桁数(2桁とか3桁とか)を設定するとか。
めんどいのであとはどうぞご自由に。
わかりました。
わかりませんでした。
for (int i = 1; i <= 100; i++) { System.out.printf("%3d%s", i, i % 10 != 0 ? " " : "\n"); }
%cでいいな
ありがとうございました。
jarファイル化の質問です。 以下のように外部に公開するクラスを限定できないでしょうか。 [Pugyaa.jar] HogeClass(public) ← このクラスだけを公開したい HageClass(private) HigeClass(public) 教えて下さいツンデレお姉さん。お兄さんでも構いませんが。
HogeClassが他のクラスと依存関係にないならそのHogeClass.class取り出して公開すればいいのでは。
サーブレットで、ブラウザの入力フォームから名前・性別・年齢を入れたものをテキストにするにはどうしたらいいですか? またその入力したデータを削除ボタンを押したらテキストから消す機能も欲しいのですが・・・ 教えてエロい人!
615 :
612 :2006/06/21(水) 00:19:38
>>613 すみません。例が悪かったですね。↓こんな感じです。
[Pugyaa.jar]
HogeClass ← このクラスだけを公開したい
HageClassIF
HageClassImpl
[HogeClass]が[HageClassImpl]を使用する(依存する)ような感じです。
[HogeClass]はファサードっぽいイメージです。
実際は[HageClassImpl]は凄い沢山あります。
このままjar化すると全ファイル公開されてしまう。。
>>612 Antのjarタスクでjarを作るようにして、
filesetの指定で**/*IF.classと**/*Impl.classをexludeするようにフィルタリングする。
>>612 依存しているならjarの中には入れざるを得ないし、
見えてほしくないクラスの可視性をpackage privateにするくらいしかないだろう。
あるいは難読化でもかけてみるとか。
618 :
デフォルトの名無しさん :2006/06/21(水) 08:51:00
Fileクラスでディレクトリを指定してdeleteを使うと、 ディレクトリが空の場合のみディレクトリを削除しますが、 ディレクトリとファイルごと全て削除する方法はあるのでしょうか。
>>618 無いと思うなあ。
CommonsIOに再帰的に(サブディレクトリも)削除するのがあるから、それ使うとか。
620 :
デフォルトの名無しさん :2006/06/21(水) 12:51:33
JTextFieldでプロンプトのようなものを作りたいのですが 例えば、"prompt: "を先頭に出してそれを削除できなくしたり キャレットがフォーカスできないようにしたいのですが、簡単な方法があれば教えてください。
あるフォルダ以下(サブフォルダ有り)に対して、 ファイルの更新や追加削除があった場合、それを通知するプログラムを作りたいのですが、 1:定期的に、指定フォルダ以下をFile#list()を使ってファイルリストを取得。 isDirectory()などを使い、サブフォルダを再帰的に取得する。 2:前回のファイルリストと照合し、変化があれば通知する。 3:これをスレッドで回す ってイメージしてるんですけど、 指定フォルダ以下のファイルの更新状況監視って、他にどんなやりかたがありますか?
622 :
デフォルトの名無しさん :2006/06/21(水) 15:36:58
ある本で 3を小数として64ビットで表現すると 0100 0000 0000 1000 ・・・0000 となる。これはIEEE754という表現形式である。 とありますがなぜそうなるかわかりません。教えてください。
>>622 先頭1ビット:0→正の数、1→負の数
2〜12ビット:指数部→2^nをあらわす(ただし、ここが0の時に0としたいので0x400を下駄に履いている)
13ビット〜:仮数部→1.xxxxxxxxxx(2進数の固定小数点)ただし、正規化して整数部は必ず1にしているので1は省略する
jar in jarみたいなことはどうすればよいのでしょうか? 1ファイルで済ませたいのでCommonsなどを埋め込みたいのですが
クラスローダを自作する。
ああ、なるほど。意外とすっきりとした解決。
StringBufferからStringに変換する場合、 バッファと新しいストリングとで倍のメモリを消費することになりますよね? バッファの方が変更不可になるなどの制約を受けても良いので 同一の内部配列を使ってStringを作るようなクラスはありませんか?
はぁ?
Stringのコンストラクタにはpackage privateでサポートしてるから java.langパッケージ内にそういうクラスが追加されれば可能。
>>630 が、java.*パッケージのクラスを勝手に定義するのはライセンス違反なので、俺らにはムリ。
結論:あきらめる。
ま、あれだ。Stringで使うメモリけちっても、大して性能向上に繋がらない。
短寿命のオブジェクトは速攻でGCされるようになっているので、気にするだけ意味無いよ。
アルゴリズムやら速度のネックになりそうなところをチューニングしなされ StringBufferをつかうよりStringBuilderのほうが早いし Stringのプラスによる連結においても場合によってはStringBuilder:appendを使うより早いコードが生成されるとか そういうのもしっておけ
んなもん常識だろカス 雑魚がイカ臭い講釈たれてんじゃないよw
634 :
デフォルトの名無しさん :2006/06/21(水) 20:32:25
wがやたら多いな
wは多い方が知的だからな
むしろ痴的
LinuxやMacや*BSDはWindows-31Jをサポートしてますか? 最低限サポートの対象からは外れてるはずなので 知ってるOSのサポート状況だけでも教えていただけると幸いです。
あ、該当ページあった。ごめんやっぱいいです。
640 :
デフォルトの名無しさん :2006/06/21(水) 21:51:50
JAVAの言語仕様の本を一通り読みました。 次に、JDKに関する解説書を読みたく、探しているのですが、なかなかこれというものに出会えません。 みなさんのお勧めを教えて下さい。 オライリージャパンとかピアソンエデュケーションとかの、翻訳本がいいです。 よろしくお願いします。
APIリファレンスでいいじゃん
>>627 Java2 1.4 の場合、stringBuffer.toString() か new String(stringBuffer)
とすれば、バッファはコピーされずに共有される。
Java5 ではコピーされる。
Javaで開発している香具師が「このAgentは、なんたらかんたら」 と言っているのをよく聞くのですが、何のことを言っているのでしょうか? JavaでAgentなる基底クラスってあるのですか? 詳しい方、教えて下さい。
Swingで画像を表示するプログラムを作っています。 メニューバーのメニューからファイルチューザで画像を選択し 選択され画像をpublic void paint(Graphics g)内で表示するように しているのですがpaintメソッドのせいか フォームを表示したときにメニューバーが表示されないというか 文字が消えているというかうまく表示されません。 また画像を表示したときもメニューバーが消えてしまいます。 ContentPaneの上にJPanelを乗せて、JPanelに画像を表示しています。 わかりにくい説明ですが、うまく画像表示部分(JPanel)だけ 更新できないものでしょうか。 そもそもやり方が間違ってるのでしょうか。 レスお願いします。
>>664 画像表示はJLabelを使うのが楽。
画像ファイルからImageIcon作ってJLabel#setIcon(Icon)で終了。
646 :
デフォルトの名無しさん :2006/06/22(木) 11:29:47
GUI上で引数を与えて、スタートボタンを押すとあるスレッドを a = new a(this); a.start(); という形で実行させるプログラムを書いているのですが、 今度はストップボタンを押すとこのスレッドを止める形をとりたいのですが、 stop()メソッドは deprecatedだとエラーがでました。 この場合GUIからスレッドを止める方法はあるのでしょうか。
>>664 Swingの描画は
paint()ではなく、paintComponent()
内でやりなはれ。
>>646 そのThreadに setStop(true) とか停止要求を送れるようにしといて
Thread側で止まるように処理を書くべし。
649 :
649 :2006/06/22(木) 14:48:35
回答ありがとう。解決しました。
650 :
デフォルトの名無しさん :2006/06/22(木) 14:58:49
ステータスバーは無いのかね?
import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello World",20,20); } } この超初心者用アプレットがIEで動かない?なんで? 別の練習で作ったアプレットは動いた。 ブラウザのJavaの実行権限もつけてる。 このクラスを呼んでるhtmlをOperaに突っ込んだらちゃんとでた。 う〜ん、謎です。。。どなたかご教授を。
652 :
デフォルトの名無しさん :2006/06/22(木) 15:18:52
IEのセキュリティじゃねーの
653 :
651 :2006/06/22(木) 15:22:56
>別の練習で作ったアプレットは動いた。 いやだから同じブラウザに別のアプレットを 突っ込んで動くんだよ。。。
>>651 Javaコンソール見てみて(ツール→SUNのJavaコンソール)
655 :
644 :2006/06/22(木) 17:37:54
656 :
デフォルトの名無しさん :2006/06/22(木) 17:40:51
ネットワーク通信で、byte型のコードとdouble型のデータを同時にクライアントに送りたいんですが この場合クライアントは、byte型の受信を見張るスレッドとdouble型の受信を見張るスレッドの 2つスレッドを準備するしか方法はありませんか? もっと効率のいい方法があれば教えてください。
>>651 IEの方はMicrosoftのJavaで動いてるんじゃない?
で、コンパイル時にtarget指定してないと。
javac -target 1.1 -source 1.3 HelloWorldApplet.java
とかで試してみて。
658 :
デフォルトの名無しさん :2006/06/22(木) 17:57:17
ステータスバーは無いのかー?
>>658 Swingの標準コンポーネントがあればステータスバー作れるよ。
ステータスバーってコンポーネントは無い。必要ないと思うし。
なに、SwingのステータスバーってもしかしてSouthに細く配置してるだけなん?
ステータスバー固有の機能ってなんかあったっけ?
ステータスを表示するんじゃないか
664 :
デフォルトの名無しさん :2006/06/22(木) 19:46:00
GUIがダサいんだが 何とかならんのかね?君。
そう?V2CとかWindows L&Fで使ってみてよ。 僕はぜんぜん気にならないんだけど。 MacやLinuxの人らに愛用者が多い2chブラウザだよ。
>>664 Look&Feel使ってもダサいと思うなら諦めなされ。
XPテーマをLuna以外にしてWindows L&F ・・・泣いた
671 :
デフォルトの名無しさん :2006/06/22(木) 22:02:32
初心者なので、すごいしょっぱい質問をします javaで以下のようなコーディングをし ----------------------------------------------------------↓ StringBuffer message = new StringBuffer(); message.append("登録完了レコード\n"); for(int i=0; i<emp_list.size(); i++){ message.append(emp_list.get(i)+"\n") } request.setAttribute("msg", message.toString()); ----------------------------------------------------------↑ jsp側でmsgをアラート表示しようとすると 「終了していない文字列型の定数です」とエラーがでます。 改行コード関係でエラーになるのはなんとなく想像つきますが 対処法がわかりません どなたか指導の方よろしくお願いします
>>671 必要な byte なり double なりのメンバ(おそらく Byte や Double にラップする必要があるとおもうけど)
を持つクラスを作って、それをシリアライズして送るというのではダメ?
674 :
デフォルトの名無しさん :2006/06/22(木) 22:38:54
すいません。質問です コンパイルして実行したら at sun.awt.windows.Win32Renderer.doFillPoly(Native Method) at sun.awt.windows.Win32Renderer.fillPolygon(Unknown Source) at sun.java2d.SunGraphics2D.fillPolygon(Unknown Source) at House.construct(House.java:38) at Ex10.row(Ex10.java:33) at Ex10.paint(Ex10.java:46) at sun.awt.RepaintArea.paintComponent(Unknown Source) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) こんな風に出てうまく実行できません 何ですかこれは
Ex10 の課題は自分で考えろボケ
>>656 送るのも送られるのもしょせん01の列でしかないんだから
区別できるプロトコルを適当に作って送れば
(そして手元でbyteやdoubleを復元すれば)問題ない。
677 :
デフォルトの名無しさん :2006/06/22(木) 22:57:19
>>675 何回か実行できたんですけど
さっきからずっとこれなんです
私たちはエスパーではありません at House.construct(House.java:38) at Ex10.row(Ex10.java:33) at Ex10.paint(Ex10.java:46) の部分のソースくらい提示しましょう
679 :
デフォルトの名無しさん :2006/06/22(木) 23:58:44
House38行目 g.fillPolygon(tx,ty,size); Ex10の33行目 h.construct(g); Ex46の46行目 row(100,250,40,Color.red,g); これだけで原因がわかるでしょうか?
その出力(スタックトレース)の前に例外名は出ていないのかね。
681 :
デフォルトの名無しさん :2006/06/23(金) 00:04:43
すいません例外名とは何ですか? ごめんなさい話になりませんね…
>>679 ピンポイント杉
わかるわけねえだろwww
683 :
デフォルトの名無しさん :2006/06/23(金) 00:12:53
すいません。なんのなく分かりました Exception in thread "AWT-EventQueue-0"java.lang.ArrayIndexOutOfBoundsException: coordinate array ってかいてあります
だからなぜ言われた箇所しか提示しない? スタックトレースを丸々貼り付けてエラー箇所のソースも丸ごと貼れば 問題もすぐに解決するだろうに
685 :
デフォルトの名無しさん :2006/06/23(金) 00:25:33
質問です。 サーバーでクライアントの接続をsocketで管理してるんですが クライアントがいきなり切断した場合、サーバー側で切断を知る方法ってありませんか? スレッドで、ずっと繋がってるか見張る方法を思いついたんですが そのためだけにスレッドを見張るのは非効率な気がするので 他にいい方法があれば教えてください。
686 :
デフォルトの名無しさん :2006/06/23(金) 00:30:04
C:\JSamples>java Ex10 Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: coordinate array at sun.awt.windows.Win32Renderer.doFillPoly(Native Method) at sun.awt.windows.Win32Renderer.fillPolygon(Unknown Source) at sun.java2d.SunGraphics2D.fillPolygon(Unknown Source) at House.construct(House.java:38) at Ex10.row(Ex10.java:33) at Ex10.paint(Ex10.java:46) at sun.awt.RepaintArea.paintComponent(Unknown Source) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) これがスタックトレースです
>>686 House.javaの38行目でArrayIndexOutOfBoundsExceptionが発生している。
配列やコレクションを扱ってて、存在しないインデックスにアクセスしようとしてない?
例えば、配列の要素数が5なのに hairetsu[5]を指定してるとか。
688 :
デフォルトの名無しさん :2006/06/23(金) 00:34:06
ソースって丸々のした方がいいでしょうか?
689 :
デフォルトの名無しさん :2006/06/23(金) 00:35:19
自分で考えろよ
690 :
デフォルトの名無しさん :2006/06/23(金) 00:38:26
とりあえずHouseのソースです import java.awt.*; import java.awt.event.*; import javax.swing.*; /********** クラス House *****************/ public class House{ /*************** フィールド *****************/ int x = 100;//初めのx座標 int y = 250;//初めのy座標 int size = 40;//初めの大きさ Color c = Color.red;//初めの屋根の色 /************** コンストラクタ *****************/ public House(int x1,int y1,int size1,Color c1){ x = x1; y = y1; size = size1; c = c1; }
691 :
デフォルトの名無しさん :2006/06/23(金) 00:39:04
/*********** construct **************/ public void construct(Graphics g){ int tx[] = new int[3]; int ty[] = new int[3]; g.setColor(Color.black); g.drawRect(x,y-size,size,size); g.setColor(c); tx[0] = x; ty[0] = y-size; tx[1] = x+size; ty[1] = y-size; tx[2] = x+size/2; ty[2] = y-size*3/2; g.fillPolygon(tx,ty,size); } }
692 :
デフォルトの名無しさん :2006/06/23(金) 00:42:33
でこれがEx10のソースです import java.awt.*; import java.awt.event.*; import javax.swing.*; /******** クラス 10 ************/ public class Ex10 extends JFrame{ /************** コンストラクタ *****************/ public Ex10(){ setBackground(Color.white); setSize(400,300); //画面サイズの初期値 /* ×ボタンが押されたら、プログラムを終了する */ addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); }
693 :
デフォルトの名無しさん :2006/06/23(金) 00:43:17
/*********** 家の並びを描画 ***************/ /*** 左下座標(x,y),大きさsize,屋根の色cの家が 無限遠点(300,50)に向かって並ぶ ***/ void row(int x,int y,int size,Color c,Graphics g){ int x1,y1,size1; if(size>4){ /*** 家の描写 ***/ House h= new House(x,y,size,c); h.construct(g); /*** 左下座標の計算 ***/ x1 = 300-(300-x)*(y-50-size*2)/(y-50); y1 = y-size*2; /*** 次の家の大きさ計算 ***/ size1 = size*(y-50-size*2)/(y-50); /*** 再帰呼び出し ***/ row(x1,y1,size1,c,g); } } /************** paint *****************/ public void paint(Graphics g){ /**** 赤屋根の家の並び ***/ row(100,250,40,Color.red,g); row(200,250,40,Color.blue,g); } /******************* main *******************/ public static void main(String[] args){ Frame w = new Ex10(); //コンストラクタの起動 w.setVisible(true);//ウィンドウの表示 } }
g.fillPolygonの第三引数sizeのイミわかってる? その場合3じゃなきゃいかんのだよ。40が入ってるじゃないか。
>>685 select は使っていますか?
切断は select で検知できると思いますが・・・。
696 :
デフォルトの名無しさん :2006/06/23(金) 00:57:23
凄く分かりました。 何やってんだ俺… 三角形描くんだからそうですよね 俺なんか死ねばいい…orz ほんとにアリガトー御座いました
ちなみに例外のメッセージにしっかり書かれている coordinate array というのは 「座標の配列」という意味。
698 :
デフォルトの名無しさん :2006/06/23(金) 01:00:02
そうなんですかー もっと勉強しなきゃいけないですね 今度は教える側に… 何年かかるやら
>>690-693 原因は
>>694 の言うとおりなんだけど、それ以前にオブジェクト指向が理解できてないから
そんなことになってるんだと思う。
独学でやってるなら、GUI以前に、もうちょっとクラス構成ってものを勉強したほうがいいよ。
学校の宿題なら、自分でやるか、恥を忍んで先生か学友に聞きなさい。
700 :
デフォルトの名無しさん :2006/06/23(金) 01:04:26
はい!分かりました 先生に聞きます&本気で勉強します
勉強方法についてなんだけど 数学の公式みたいに基本的な物覚えてそれを応用していくみたいな感じでOK?
まず、他の言語の知識があるかどうかによって変わる。
>>703 他言語の知識があったらこういう質問はしないと思うよ。
>>702 数学というより、外国語の習得に近いかも。
基本文法・基本構文を覚えて、
あとはたくさん単語(クラスライブラリ)を覚えること
言い回し・イディオム等(設計や実装のよくあるパターン)を覚えること。
他言語の知識が無いのなら、最初はあんまりいろいろなことを覚えようとしないほうがいい。 たとえば、main メソッドしかないクラスでいろんなことをやって、 クラスやなんやらは後回しにしてもいい。 で、そのやり方で限界を感じたら、「なんかべんりな機能がないかな」という感じで、 必要な機能を探していくのがいい。 プログラミングの経験が一切無い状態で、抽象クラスだとかインタフェースだとかの知識を 詰め込もうとしても、消化不良になる。
706 :
672 :2006/06/23(金) 11:36:54
自己解決しますた というか、あまりにもくだらない質問でしたね…orz
ソースの流用についてなんですが、 J2ME WirelessToolkitで開発したのをDojaに移植する場合、 どのくらいのソースを流用できるか知りたいのです。 画面などのUI部分は無理だと思いますが、 内部処理(計算・データ保持)のとこはそのままいけたりしませんか?
708 :
デフォルトの名無しさん :2006/06/23(金) 14:05:06
NetBeansをダウンロードして使い始めたばかりの初心者です。 Swingが便利だと聞いてmain入りのアプリを作ったんですが、どうも 配置したコンポーネント(jlabelなど)が表示されないんです。 コンパイルはできるんですが、、。んで、グーぐるで調べたところ、 setVisibleという関数で行けるらしいということまでは分かったんですが、 ここで思考能力がストップしてしまいました。お助けください。 Netbeansのコンポーネントを選んで右クリックしてプロパティを 選んだら、色とか大きさとかを変えられるウィンドウが開くんですが、 その中にvisibleの項目が無いのがすごく不思議です。AWTならメニューが あって、trueとかfalseを選べるんですけど。Swingってほんとに便利なの かななんて思い始めました。 ソースは長すぎるので、以下の要点だけを抜粋しています。 public class SelfSimulate9 extends javax.swing.JFrame { public SelfSimulate9() { initComponents(); } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new SelfSimulate9().setVisible(true); } }); } public void paint(Graphics g){ trans(); //いろんな計算をする。 axis(g); //いろんな計算をして描画。 calculation(g); //いろんな計算をして描画。 } よろしくお願いします。
709 :
708 :2006/06/23(金) 14:17:12
あ、いけました。jButton1.setVisible(true); を、public void paint(Graphics g)のメソッドの中に入れたら 表示されました。でも、repaintしないと表示されないんです。 一発で表示されないものなのかな、、、。
>>708 paint(Graphics g)を、paintComponent(Graphics g)に変更する。
711 :
708 :2006/06/23(金) 14:30:05
やったー、いけました。paintComponentメソッドって、今ぐーぐる したらかなり基本的なもののようでした。まいった。 どうもありがとうございます。てか、ものすごい早いご返答。
712 :
651 :2006/06/23(金) 14:35:29
>>657 レスが遅くなって申し訳ありません。
そのコマンドで出来ました!ありがとう!
>>705 そのやり方で始めちゃうと、
・考える前に書く、書きながら考える
・仕様書はソースコード
という奇病にとりつかれるおそれがある。
ポケコン買ってBASICからやれ。話はそれからだ。
>>713 奇病?
まったく健全だと思うが。
・書いたこともないのに能書きだけたれる
・誰も読まない、実際の動作と同期していない仕様書(紙切れ)
を膨大なコストをかけて作る
ほうが、病気だな。
716 :
デフォルトの名無しさん :2006/06/23(金) 15:44:58
とりあえずコードを書き始めてしまう。 コードを書きながら何をどう作るか考えている。 こんな状況を健全だと思う奴がいるからプロジェクトは火を噴く。
まあ、でも、ここでは、プロジェクトの話をしてるんじゃないし。
プログラミング経験がまったく無いです、 これから Java 勉強します、って言っている奴に、 プロジェクトだら設計だら、子難しい話を押し付けて、 コードをかくまえに、「全部覚えろ」とかいってたら、 いつまでたっても身につくわけ無いじゃん。 「この段階で」まず大事なことは "Hello world" と画面に出させることだろ。
720 :
デフォルトの名無しさん :2006/06/23(金) 16:08:55
javaのソケットプログラミングについての質問です、よろしくお願いします。 データを送信するクライアントと、受信するサーバ間でファイルのやりとりをするプログラムを作成しました。 データを正しく送信できたのですが、サーバでは空のファイルしか受信できませんでした。 パケットをモニタリングしたところデータは正しく送信されていました。 クライアントのファイル送信の処理部分は、以下のとおりです。 FileInputStream fis = new FileInputStream("送信するファイル名"); BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream()); while((n=fis.read(buf))>0){ bos.write(buf,0,n) } bos.flush(); サーバのファイル受信の処理部分は、以下のとおりです。 FileOutputStream fos = new FileOutputStream("受信側のファイル名"); BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); while((n=bis.read(buf))>0){ fos.write(buf,0,n); } fos.flush(); クライアントがbos.write()するときに、サーバ側でbis.read()の待ち状態になっていないと ファイルが受信できないのでしょうか?
プロジェクトの話じゃなくて、そういうプログラマを作ってしまっていいのか?って話。 そんな奴使いたくないよ。
そもそもプログラムが習得困難なもののように行ってる時点で そういう輩は早々この世界から消えてもらった方が良い
javaでレジストリにアクセス(書き込み)することは出来ますか?
>そもそもプログラムが習得困難なもののように行ってる は?
はじめに何をどう書くのか考えると習得困難になるという感覚がもうダメダメだね。 何を書くのか、構成を決めてから書きなさい って、小学生の時、国語の時間に作文を書くときに習わなかったのかね。 何も考えないでとりあえず書き始めちゃうと却って習得困難だよ。
任意のレジストリ情報を読み書きするのは標準APIでは無理。 それっぽいライブラリはたぶん世の中にあると思う。 自前の設定なんかをレジストリに読み書きしたいだけなら Preferences API(JDK1.4〜)を調べてみること。
727さんありがとうございました
少子化問題キタ━━━━━━(゚∀゚)━━━━━━ !!
ここで議論はやめようよ。質問と回答のスレなんだからさ。
>>723 Preferences APIというものがあります。レジストリツリーに自由にアクセスできるわけじゃないですが。
お前ら、もっと子供作れ
>>719 プログラミング経験のないヤツが、自己流で
>>705 見たいな勉強法で始めたら
悲惨なことになるよ。
だれかが系統立てて教育するというなら、はじめはそれでいいと思うけどさ。
>>731 回答の妥当性を判断できない質問者もたくさんいるということも忘れずに。
735 :
デフォルトの名無しさん :2006/06/23(金) 18:33:54
すみません。 お手数をおかけしますが、どなたかお助け下さい。 コマンドプロンプトから JAVA -Version と入力した際に出るVersion情報を、テキストファイルにして 記録するにはどうしたらいいのでしょうか? JAVAのVersionによって、呼び出すバッチファイルを 切り替えたいのですが、私の脳髄では、Version情報をテキスト ファイル化し、そこからversion情報を検索してIFで分岐させる ことしか思い浮かびません。 JAVA -version >C:\11111.txt では当然のようにダメでした。 どなたかご教授お願いします。
import java.io.*; class br{ public static void main(String args[]){ String FILE_NAME = "aaa.txt"; String str; try{ BufferedReader br = new BufferedReader(new FileReader(FILE_NAME)); while((str = br.readLine()) != null){ System.out.println(str); } br.close(); }catch(IOException e){ System.out.println("Exception :" + e); }}} aaa.txtファイルの2行目と4行目のみを出力したい場合は どうしたらいいのでしょうか?お願いします
>>735 落ち着け。何がしたいんだ?
>テキストファイルにして記録する
JAVA -version > C:\11111.txtでいいと思うよ。
>JAVAのVersionによって、呼び出すバッチファイルを切り替えたい
System.getProperty("java.version")とかSystem.exit()を使えばできると思う。
740 :
デフォルトの名無しさん :2006/06/23(金) 20:15:06
>738様 735です。アドバイス有り難うございました。もう少し詳しく書きます。 以下のようなバッチファイルを動作させたいと思っています。 ______________________________________________________________ JAVA -version > C:\11111.txt ●(↑この行のままでは中身のない0バイトファイルが出来ます) find "1.4.2_03" C:\11111.txt if %errorlevel% ==1 (goto notver3) else goto ver3 :ver3 java -jar 22222.jar :notver3 java -jar -version:1.4.2_03 22222.jar ________________________________________________________ 人に作ってもらった22222.jarがバージョンj2re1.4.2_01〜03でしか作動しません。 それで、-version:1.4.2_03のオプションを付けて、動作させました。 しかし、PCに1.4.2_03だけが入っている場合、 -version:1.4.2_03のオプションを付けると動作しないことが分かりました。 それで、上のようなバージョン判別のバッチファイルを作ったわけです。 (PCには1.4.2_03のみが入っているか、1.4.2_03とその他のバージョンが同時に 入っているかのどちらの状況しかありませんので、判別は上の内容で事足ります。 ちなみに、jarfileが1.4.2_03に関連付けられていても、 -versionで他のヴァージョンが表示される場合動作しません) 私はJAVAに関して完全に無知なので、 最新のバージョンでも稼動するようにjarファイルを改造することは出来ません。 1行目だけうまく行けば、問題はないのですが...。 ご助力をお願いいたします。
741 :
デフォルトの名無しさん :2006/06/23(金) 21:11:21
.__ J_†_| [[(,,・Д・)<Out of Memory. (Short o frame buffer) [[/⊃¶⊃¶ 携帯アプリでnewでメモリ確保したり画像をロードしたりする所で ≡ ◎-ヽ◎┴◎ これがでてアプリが壊れてしまったぞ。どういうときに出るエラーなのか知りたいぞ。
携帯アプリで使用できる規定の量以上のメモリを使用しようとしたんじゃない? 数百kの画像読み込もうとしたとかさ。 以上、携帯アプリ開発未経験者の推測でした
743 :
デフォルトの名無しさん :2006/06/23(金) 22:26:52
⊂⊃ ★ ∧η∧ \_(,,・Д・)<こんどは、Uncaugh exception happend ヽ |フというメッセージがでて落ちてしまうぞ。 /_ _| 画像の容量を半分にしたらOut of Memoryから解放されたぞ。
自分で考えろうんこ
745 :
738 :2006/06/24(土) 00:14:59
>740 XPで確認したが、標準出力では無く標準エラー出力に出力されるようだ。↓みたいにすればファイルができた。 java -version 2> C:\11111.txt
747 :
デフォルトの名無しさん :2006/06/24(土) 00:53:21
どうしようもない質問なんだけどさ JDK 5.0ってどこでDLするの? まとめサイトの直リン教えても画面真っ白で適当に探したら j2sdkってのがあったけど、、、、、 すまん、もうちょっと詳しく説明してください、、
それでいいお
749 :
デフォルトの名無しさん :2006/06/24(土) 01:02:37
>>748 即答サンクス
あと、DLするのはそのソフトだけでいいんですか?
プログラム打って コンパイルするまですべてを含めてですが
751 :
デフォルトの名無しさん :2006/06/24(土) 02:30:44
JDK1.5.0_06に関してなんですけど 大変初歩的な質問で恐縮なんですが 標準クラスライブラリのパッケージファイル(jarなどで圧縮されたファイル) のある場所ってどこなんでしょうか? JDKインストールする場所によりけりだとは思うんですが標準的に インストールした場合どこにあるのでしょうか? よろしくお願いします
JAVAでフォルダの表示方法(縮小版、並べて表示など)を変更するアプリを作りたいのですがどうすればできるのでしょうか? あるいはどのクラスを使えば実現できるのでしょうか 市販のAPIリファレンス本やjavadocも見てみたもののそれっぽい機能を提供してくれるクラスを発見できませんでした Windowsの機能では特定のフォルダだけか、全てのフォルダにその設定を適用するかのどちらかの方法しかないので サブフォルダを含めた特定フォルダだけ表示を統一するアプリを作りたいんです 取り込んだ日付ごとにサブフォルダに分かれたデジカメ写真用のフォルダなどを想定してます
>>752 Swing には任意のファイル一覧を表示するコンポーネント自体が入ってないので
自力で作るか、サードパーティ製のコンポーネント探さないとダメ。
>>751 JDKインストールディレクトリ/jre/lib/rt.jar
755 :
735 :2006/06/24(土) 08:08:16
738様 735です。ようやく解決しました。 本当にありがとうございました。 java -version 2> C:\11111.txt お手数をおかけしてばかりで申し訳ありませんが、 もしよろしければ、この「2」の意味を教えていただけますか? 「XXに書いてある」という情報でも非常にありがたいです。 よろしくお願いいたします。
>>755 「Windows 標準エラー出力 コマンドプロンプト」でググれ。
757 :
735 :2006/06/24(土) 08:55:40
>756様 735です。ありがとうございました。 ようやくすべて理解できました。
758 :
デフォルトの名無しさん :2006/06/24(土) 13:49:59
あみだくじを作りたいんですが、うまくできません。 どうしたら、いいんですか??
彼女を作りたいんですが、うまくできません。 どうしたら、いいんですか??
>>758 1 2 3 4
| | | |
|−| |−|
| |−| |
| | ||
○
宿題スレへいきな。 言語じゃなくアルゴリズムの問題だ。 ノード関係の問題だがListも要らずに作れるぞ
ネタはちゃっちく見えても 答えが深そうだととりあえず煽ってごまかす。 ここの初級者どもはチンカスだと覚えとけ。
そうそう、どんなあみだくじが作りたいのか、 どううまくいかないのかも書けないようなアホの質問は 煽ってごまかす賃かすの集まりです。
>>762 JDK のインストールから Java の文法から GUI 機能からあるアルゴリズムから
質問から想定できるもん全部お前が教えてやれよwww
作るだけなら乱数使ってコンソールアプリでもいける
なんつーか コンピュータの基礎も知らんでプログラム始めちゃう人が増えたから 仕方ないとは思う それ以上に コミュニケーションの基礎も知らんでネット始めちゃう人が増えたから どうしようもないとは思う
作るだけなら脳内で良い
mainメソッドである数値を計算して求めました。 そしてその数値を同じclass内の他のメソッドでもつかいたいのですが どうすればいいでしょうか?
クラスフィールドに代入しておけば良いのでは?
>>768 一番簡単な方法
public static void main(String[] args) {
〜
使いたいメソッド( その数値 );
〜
}
public static void 使いたいメソッド( int その数値) {
〜
}
入力ストリーム系のクラスにあるavailableなんだけど これにデータが溜まるまで何で待ってるのが一番いいの?
デスクトップのスクリーンショットを撮るプログラムを 作っているのですが、画面のサイズを取得する方法はあるのでしょうか。 Rectangle rectangle = new Rectangle(0, 0, 1400, 1050); BufferedImage bufImg = robot.createScreenCapture(rectangle); 今は画面サイズを手動で指定ます。
5秒後にキーボードのTを押すみたいなプログラムはどう作ればよいですか?
>>773 「5秒後にTを押す」のはプログラムではなく人間なんじゃないんですか?
>>772 簡単に済ますならToolkit
マルチディスプレイとかも対応したいのなら
GraphicsDeviceとかそっち方面もしらべるがよろし
776 :
772 :2006/06/24(土) 18:51:34
ソフト板のFirefoxスレで煽られたんだけど、 FirefoxをJAVAで作るわけにはいかなかったんですか? JAVAで作れば、メモリの事も気にしないでいいらしいし Cよりも速いという話を聞いたんですが、 Firefoxスレではなんか否定的な空気でした。 どういう事なんでしょうか?
780 :
デフォルトの名無しさん :2006/06/24(土) 19:30:04
Color.whiteとColor.WHITEどう違うの?
781 :
デフォルトの名無しさん :2006/06/24(土) 19:36:50
皆さんserverVMで起動するとき -serverオプション使いますよね? でもディフォルトでインストールするとserverVM入ってないですよね。 私はいつもJDKからJREにserverフォルダをコピーして「あー。起動したYO」ってやってるんですけど。 これって邪道ですよね。 正式にはどうserverVMをインストールすればいいんですか? 環境:windows jdk5.0
>>780 まったく同じ
public final static Color white = new Color(255, 255, 255);
public final static Color WHITE = white;
783 :
デフォルトの名無しさん :2006/06/24(土) 19:40:50
>>783 1.3までは小文字のほうだけだった。
推測だけど、Javaプログラマには定数の名前を大文字で書く慣習があるので、
1.4から大文字のが追加された。
785 :
778 :2006/06/24(土) 20:01:09
>>779 なんか失礼だったらすいません。
あまりこっちの事は詳しくないんで。。。
>>778 あえてマジレス。
メモリのことを気にしないで良いというのは、「使い終わったメモリの
始末を自動的にしてくれる」というだけで、メモリ使用量自体は増える。
「Cより速い」というのは、どこで聞いたかしらんけど大嘘。
でも遜色ないくらいには早くなってるよな
でもハードウェアに負荷かかってるのはなんとなく感じるな。 同じ 120km/h 走行でもベンツとカローラの違いみたいな。
>>771 溜まるのをavailableで待つという考え方が間違い
何かしてる間にavailableで溜まってないか確認する
メモリの使用量には気を使わないといけない
おいおい、available() なんて不確かなもんに期待すんなよハゲ
794 :
デフォルトの名無しさん :2006/06/24(土) 23:15:07
サーバーVMはたしかにCより早い場合があるな Cだとコンパイル時に最適化を決めるのに対して、実行時に最適化できるほうが 可能性はあるわけだし、GCにしろキャッシュがヒットしやすいように配置したり いろんな高速化技術の固まりだしな
俗に言うCPU最適化が走るからってのがそうなる一番の原因だね 逆を言えばマイナーCPUではインタプリタでしかないみたいな可能性も
x86でこの手のマイクロベンチマークやると大体 VC >> Java(serverVM) > gcc = gcj って感じで、gccがウンコという結論になってつまらん。
798 :
797 :2006/06/24(土) 23:55:55
あ、なんか誤解されるような書き方した気がするから補足するけど、 Javaが遅いというつもりはないよ。Javaかどうかっていう言語の違い より実装系の違いを論じるべきレベルまでJavaは速くなったということ。
>>797 もしかしてGCCを全くチューニングしない状態で測定してるんじゃないか?
あれはチューニング前提で作られているわけで、チューニング無しじゃ遅いのは当然。
800 :
デフォルトの名無しさん :2006/06/24(土) 23:59:28
パソコン(IEなど)→httpサーバー(CGI)→2chdat取得 →httpサーバー(CGIでHTML変換)→パソコン(IEなど)に出力 というような2chの過去ログ倉庫を作りたいのですが 既に完成されたソースなど公開されていますか?
>>797 ベンチマークなんてマーケティング手法なんだし仕方ないんじゃない?
クラスのフィールドやメソッドの前に#をつける文化ってどこ発ですか? java.lang.Object#wait() ←こんなの
>>802 javadoc 用コメントの @see タグとか {@link} タグとか
806 :
デフォルトの名無しさん :2006/06/25(日) 01:09:54
プログラミング初心者お勧めのjava書籍教えてください。 春からの大学の授業でjavaをしてますが教科書がありません。 あと、授業ではブラウザで画像を表示させてます。(画像を交互とか・・大きさ変えたり) 同じ今年の春から、COBOLとVBも授業でしています。 どれも、内容は触り程度だとおもいます。 こんな感じの経験です。 なん
807 :
デフォルトの名無しさん :2006/06/25(日) 01:13:46
いつの間にかSJC-Aなる資格区分が出来ていますが これはSJC-Pの下位資格と考えていいのでしょうか?
マーケティング的にSJC-Pより浅く広くをうたって同格っぽさをかもしだしていますが 公式的を見る限りでもどう考えても下位資格です。
810 :
752 :2006/06/25(日) 02:09:40
>>807 Java文法に関しては下位資格。
Java文法以外に、SJC-P の扱ってない、J2SE、J2EE、J2MEの違いとか、
サーブレット、JSP、や jar ファイル、XML、UML などの知識が加わっている。
ぶっちゃけた話、SJC-P は本当に「文法だけ」なので、
コンパイルの仕方を知らなかったり、classpath の扱いを知らなかったり、
標準クラスライブラリの構成を知らなくてもいい。
これだけだと、実際のアプリケーションを開発・実行しようとしたときに、
すぐ壁にぶつかる。たとえば、GUIベースのアプリや、
Webアプリを組もうとしても、どうしたらいいかわからない。
SJC-Aの知識は、こういうとき「何を調べればいいかわかる」レベルまではカバーしてる。
812 :
デフォルトの名無しさん :2006/06/25(日) 05:36:00
SocketException: Software caused connection abort: socket write error がどうしてもおこってしまうのでしょうがどうしたもんでしょうか。
814 :
708 :2006/06/25(日) 09:16:04
質問があります。netbeansを使って、絵や線を表示させるシンプルな アプリを作ろうとしているのですが、つまづきました。 作ったクラスをちょっと書いてみます。 public class SelfSimulate10 extends javax.swing.JFrame { public void paintComponent(Graphics g){ jButton1.setVisible(true); axis(g); } public void axis(Graphics g){ g.drawString(String.valueOf(x0),xtr(x0),ytr(y0)+10); } } こんな感じです。でも、メソッドaxis(g)が実行されない問題が起きています。 jpanelを使えば描画が簡単と聞いたのですが、 public class SelfSimulate10 extends javax.swing.JFrame and javax.swing.JPanel{ としても失敗に終わりました。助けて下さいませ〜。 それともaxis(g)に一工夫こらせば、実行されるのかな、、、。
815 :
708 :2006/06/25(日) 09:20:52
さらにpaintComponent()メソッド内に、 super.paintComponent(g); を書くと良い、とあったのですが、書くとエラーが出るんです。 JPanelをextendしていないクラス内で書いているからかな、と思うのですが、 かといってJFrameをextendしている現状を変えたくない、というあたりで ダウン。ええーん、助けてください〜!!
>>814-815 JFrameはJComponentを継承していないし、JFrameにはpaintComponent()メソッドがない。
だから、SelfSimulate10#paintComponent(Graphics g)はオーバーライドしたことにならず呼び出されない。
(axis(g)以前にpaintComponentが呼び出されない)
>extends javax.swing.JFrame and javax.swing.JPanel
Javaはクラスの多重継承できません。
>>814-815 JPanelを継承して書き直すか
JPanelを継承したクラスを別に作って
それをSelfSimulate10から使うとか。
818 :
708 :2006/06/25(日) 09:55:17
で、さっきJpanelをつけてみたんですが、 private void initComponents() のメソッドの中に、 jPanel1 = new javax.swing.JPanel(); という文が付け足されました。 このjPanel1のインスタンスに絵を描くには、どのようにすればよいか、 というところでまたまたわかりません。 ちなみに、それはSelfSimulate10 extends JFrameのクラス内で宣言 されています。でもそのクラス内ではpaintComponentは使えないんです よね?こまったな〜。
819 :
708 :2006/06/25(日) 09:58:40
>>817 ちょっとトライしてみます。またすぐ戻ってきます。
ありがとうございます。
>>818 jPanel1 = new javax.swing.JPanel() {
protected void paintComponent(Graphics g) {}
};
821 :
708 :2006/06/25(日) 10:04:54
少し教えてもらったことを考えたのですが、どうやら私は Jframeにいろいろボタンとかテキストエリアなどさまざまなものを 貼り付けてそこで作業をしようとしていたことが原因しているような 気がしてきました。JFrameは土台に過ぎず、JPanelを重ねて、そこで いろいろ作業をさせるようにできている、ということが理解できて いなかったのがつまづいた原因のようでした。どうもありがとう ございました。
Threadの立ち上がりを待つ良い方法があれば教えてください。 常駐するワーカースレッドに仕事を与えようとしても スレッドがwaitする前にnotifyが走ってしまいます。
823 :
デフォルトの名無しさん :2006/06/25(日) 12:02:00
nに入力された数字列の中で最も多く出現する数字を返すメソッドcountの中身を埋めなさい。ただし、最も多く出現する数字が複数ある場合、位が小さい数字を優先的に返すことにする。 例えば、nが123331の場合、3が3個、1が2個、2が1個出現するので返す値は3となる。 また、nが245654の場合、4と5が2個、2と6が1個出現する。この場合4の方が小さい位で出現しているので返す値は4となる。 public class NumCounter{ public int count(int n){ int[] a=new int[10]; for(int i=0;i<10;i++)a[i]=0; r=n%10; n=n/10; a[r+1]++; int ans=0; for(int i=0;i<10;i++)if(a[i]>ans)ans=a[i] return ans; } } ここまではやったのですが 最も多く出現する数字が複数ある場合、位が小さい数字を優先的に返すことにする。 が書けません。どうすればいいでしょうか
WeakHashMapのvalueがkeyをフィールドに持った場合、これは期待するような連鎖開放は発生するのでしょうか? やはりvalueがkeyを参照している時点で、連鎖開放の条件が失われているのでしょうか? うまくテストをすることが出来ないので、ご存知の方はご教授ください。
java.awt.FileChooser#setFilenameFilter(java.io.FilenamaFilter)はWindowsでは実装されていないのですか?
>>826 setFilenameFilter使えない?使えたと思うけど。
FilenamaFilterは自分で実装しないといけないけどね。
>>822 ちと文章が意味不明だが
コンカレントAPIくらいみたほうがいいぞ
便利な同期関係がそろってる
FileOutputStreamのオブジェクトを作ろうとしたときに投げられる FileNotFoundExceptionの (ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。) というエラーの「構文が間違っています」とはどういう意味でしょうか? (ディレクトリのパス名 + File.separator + ファイルの名前); という引数を与えたのですが、、
>>829 その場合あんまり意味無いよ
指定した名前ではファイルかディレクトリが見つけられなかったって事
「俺の間違いじゃなくお前がなんか間違えてるんだろ?」って遠まわしに言ってる
なるほど。回答ありがとう。
>>822 Threadはそれ自体が明示的に待つものではなく
synchronizedなオブジェクトのwaitによって「待たせる」ものです。
自分で排他したい部分をsynchronizedにして待たせる条件をちゃんとするしかない。
ちゃんとしてればThreadは待たされるしちゃんとしてなければ勝手に進んでしまう。
配列で大量に要素を持ちたいんだけど、boolean型は2bit?
boolean型は32bit 配列のbooleanはVMによる。
つまり、それぞれの要素の番号について正誤判定したいんだけど、 true or false で管理しようが int型の 0 or 1 で管理しようがサイズは変わらないってこと?
boolean単体の場合はサイズは変わらないけど、 配列のbooleanは8bitのこともある。 ほかに、intのbitでフラグ管理する方法もある
837 :
833 :2006/06/26(月) 20:15:52
>>836 どうりでboolean , 2bitでググってもhitしないわけですか。
trueとfalseの二つだから2bitだと思ってた。
>intのbitでフラグ管理
軽く調べてみたけど、今やっと配列あたりまで進んだ程度の知識なので難しいかも。
まあもうちょっと調べて頑張ってみます。
まあ待て おまいは2値を表現するのに 2ビット使うのかね?
うわ、勘違い。1bitですた
ん?わからなくなってきた。 booleanでググったら1bitって出てくる。 どういうこと?
Javaは8バイト単位で構成されている。 Objectのインスタンスは8バイト、booleanをフィールドに持てば16バイト。 64bitを単位をする構造体をイメージすれば大体同じじゃないかな。
8+1でも16バイト、8+8でも16バイト、8+1*8でも16バイトってことね
>>842 ようするにフィールドで宣言する場合、booleanだろうがdoubleだろうが16バイト使う
ってこと?
844 :
デフォルトの名無しさん :2006/06/26(月) 21:11:00
>>843 C言語でも同じだよ。必ずバイト境界に切り上げられる。
ただしC言語の場合はバイト境界はCPUのバス幅と等価。
>>846 じゃあどんな型を使おうが、メモリを使用する量は同じってことでおk?
あと配列の場合はどういう風に使用してるの?
量で言えばそうなる。だからと言って意識するのはモグリ。 配列は知らないな、lengthが唯一のフィールドであるクラスとかそんなんじゃない(適当
つかさ、大量に要素ってどれぐらいなの?
>>852 日本語とアンカーつけは違問題だと思うが。
アンカーが無ければ成立しない駄レスじゃん
>>854 てか、ログ読んでたら大体分かると思うんだが?
風呂でゆっくり考えてたらわかってきた気がする。
ようするに、intの32bitとかdoubleの64bitとかは値の範囲であって、
メモリにはどんな型でも16byte使って記憶されるわけね。
そんで意識するのはモグリ、と。
>>849 現在100万個。できれば1億ぐらい使いたいから困ってる。
8の倍数な、16ってのはObjectのインスタンス+単一のプリミティブ型の場合。 intを3つ持つクラスのインスタンスなら24バイト。
>>856 1億って・・・Σ(゚д゚)オイオイ
ファイルに記述して、1万個ずつくらい取り出して逐次処理とかできんの?
booleanの配列を持ちたいときはBitSetを使いなさい
861 :
デフォルトの名無しさん :2006/06/26(月) 22:39:46
>>837 java.util.BitSetを使うって手も。
>>857 >>859 いや、課題でさ、なるべく早いものを作らなきゃけなくて、
ある程度速くするだけだったら要素は1000ぐらいで足りるんだけど、
自分で考えた最速を作るんだったらそのぐらい必要になったわけでございます。
1000万で十分なんだけど、そこからさらに発展させたいな・・・とか考えてしまいまして…。
>>858 おお、型によってまとめられるわけですか。
>>860 調べてみる
>>863 最初に言えや。それなりのレスできる。あと大量にとかいう表現はやめれ。
BitSetって最高だよな、色んな応用が出来て知る人ぞ知る感があって漢クラスだよ。
素数な予感。アリストテレスは古いとかそんな奴だろ
>>868 このエスパーが。
求めたい数の√までの素数の配列作って順番に割ってく方法も考えたんだけど、
1億までの自然数の配列作って、篩を使って合成数を消すパターンが最速かな、と。
どんな数いれても一瞬で判断できるから。
何この句読点祭り
>>870 残念ながら計算量的には順番に割っていくのも合成数を消すのもまったく同等です。
結果をメモリに残しておくかどうかの違いしかない。
一度計算した結果をファイルにでも残しておくなら別だがな。
>>871 書く→修正を繰り返してたらこうなった。
読み返してなかった。申し訳ない
>>872 そのあと10万〜1000万の素数を何回も引っ張り出してくるプログラムだから、
そのたびにその数が素数かどうか判定するのに時間かかるのが問題。
だから一瞬で判定できるように全部の配列を作っちゃおうかと考えてたんだけど。
詳しく説明してなくてスマン。
それなら最初からどっかに落ちてる素数のファイルでも用意しておけばいいだろ
>>875 それはさすがに反則なんじゃないかと。
まあ全部の配列持つのも反則なような気がしないでもないけど。
君のやろうとしてる事は自分のプログラムでわざわざ円周率を求めて それを使用してるようなものじゃん
878 :
872 :2006/06/26(月) 23:38:49
>>874 ,876
わからないやつだな。毎回計算してメモリに持つんだったら
>>874 の
>そのあと10万〜1000万の素数を何回も引っ張り出してくるプログラムだから、
>そのたびにその数が素数かどうか判定するのに時間かかるのが問題。
も計算量的には無視できるっていってるんだよ。ホントに速くしたいんだったら
一度計算しておいたものを読み込むしかない。
>>877 そう考えると使っていいのかな。
いい加減居つき過ぎなような気がしてきたからそろそろ去ります。
迷惑かけました。
一度計算しておいたものの計算はどうすんだ
ネットから引っ張ってくんじゃね?
なるほど、つまりは料理番組の表だけの時間ってわけだな。 素材の仕込み時間がどれだけかかるかは関係ないって話だ。
>>878 >毎回計算してメモリに持つ
最初に全部計算してメモリに持たせて、ある値nが素数かどうか知りたいときには
配列の要素のn個目を参照して素数かどうか判断するってことじゃない?
884 :
862 :2006/06/26(月) 23:47:18
>>874 フェルマーテストとかで「確率的素数判定」を行ったほうが計算量が少なくなるからお勧め。
885 :
デフォルトの名無しさん :2006/06/26(月) 23:54:33
質問です。 JComboBoxでsetSelectedIndexでコンボボックスの値を変えると itemStateChangedも一緒に呼び出されてしまうのですが itemStateChangedを呼び出さず、コンボボックスの選択値を変える方法はありませんか??
886 :
デフォルトの名無しさん :2006/06/27(火) 02:17:39
class Hello{ public static void main(String[] args) { System.out.println("Hello World!"); } } これを別のクラスから呼び出してHello World!を表示させるにはどう書けばよいのでしょうか? 解説サイトまわっても呼び出し方を見つけられず困ってます class Yobidashi{ ・・・ }
>>886 class Hello{
public static void main(String[] args){
System.out.println("HELLO");
}
}
class Yobidashi{
public static void main(String[] args){
Hello hello = new Hello();
hello.main(args);
}
}
こんなやり方してる奴見たこと無いな
ところで、素数でアリストテレスって?
>>887 Hello.main(null); でいいじゃん。new Hello(); する必要ある?
890 :
デフォルトの名無しさん :2006/06/27(火) 12:30:57
2006年1月10日 2006年3月5日 2006年12月3日 2006年12月23日 ↓ 20060110 20060305 20061203 20061223 のようにしたいのですが replaceAll置き換えで 年[0-9]年にマッチしたら年を0に変える のようにしたいのですが
>>890 思いの丈を書くのは自分のBLOGで。後半は意味不明だが。
893 :
890 :2006/06/27(火) 12:47:17
囲まれた部分を置き換えみたいなことできませんが?
>>890 日本語がよくわ
つーかjava.util.Date、java.text.SimpleDateFormatあたりを見てみろ
>>890 こんな感じか?
public static void main(String[] args) {
String text = "2006年1月10日\n2006年3月5日\n2006年12月3日\n2006年12月23日";
System.out.println(replace(text));
}
static final Pattern PATTERN = Pattern.compile("([0-9]{4})年([0-9])?([0-9])月([0-9])?([0-9])日");
static String replace(String text) {
boolean replace = false;
Matcher m = PATTERN.matcher(text);
StringBuffer buf = new StringBuffer();
while (m.find()) {
replace = true;
m.appendReplacement(buf, m.group(1));
buf.append(m.group(2) == null ? "0" : m.group(2));
buf.append(m.group(3));
buf.append(m.group(4) == null ? "0" : m.group(4));
buf.append(m.group(5));
}
m.appendTail(buf);
return replace ? buf.toString() : text;
}
0を追加後、2桁だけ残す static String replace(String text) { return text.replaceAll("年(\\d+)月(\\d+)日","-0$1--0$2-").replaceAll("-(?:(0\\d)|0(\\d{2}))-","$1$2"); } もっと上手いやり方ないかな
何をしたいのかわからないのを推測するのは無駄
898 :
デフォルトの名無しさん :2006/06/27(火) 19:00:54
>>898 AppletならHTMLのソースに<APPLET code="クラス名.class" width="幅" height="高さ"></APPLET>ていれたらいいよ。
900 :
デフォルトの名無しさん :2006/06/27(火) 20:06:15
public class aaaa{ public static void main(String[]args)
901 :
デフォルトの名無しさん :2006/06/27(火) 20:08:56
>>901 int h = a.length();
903 :
デフォルトの名無しさん :2006/06/27(火) 20:14:23
あっ!()入れ忘れてました!w
904 :
デフォルトの名無しさん :2006/06/27(火) 22:48:27
char[] cc={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}; これでcc[0]=a,cc[1]=bになるんじゃないんですか?どこが違うでしょうか
1 import java.util.regex.*; 2 3 class Sample{ 4 public static void main(String args[]){ 5 Pattern pattern = Pattern.compile("/"); 6 String[] strs = pattern.split(args[0]); 7 System.out.println(strs[0]+"年"+strs[1]+"月"+strs[2]+"日"); 8 } 9 } これはYYYY/MM/DDとコマンドライン引数で入力すると、 YYYY年MM月DD日の形式で表示されるプログラムです。 5行目が意味わかりません。 Patternとconpileメソッドの使い方がさっぱり意味不明です。 API読んでも理解不能です。これホントに日本語か?って感じです。 説明お願いします。もしくはわかりやすいサイト教えてください。
日本語だから理解できないのは日本人じゃないからじゃないかな?
Pattern#compile(String)は引数で与えられた正規表現(?)を使うPatternを返すメソッドって感じだったかな? だからsprit()でYYYY/MM/DDをYYYY, MM, DDに分割してるってことだと思う。
正規表現(?)ってなんですか。。。
文字のパターンみたいなもの。
ぐぐれ
912 :
904 :2006/06/28(水) 00:28:06
String str="abcdefghijklmnopqrstuvwxyz"; char[] cc=str.toCharArray(); これでchar[0]がa、char[1]がbになるじゃない でもtoCharArray()を使わないで char[] cc={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}; とすればchar[0]にa、char[1]にbが入ると思ってるんだけど、どっかおかしい int[] a={4,3,4,52,5,}; とするとa[0]=4,a[1]=3となるのをchar型で応用してみたんだけど、エラー出るのです
913 :
デフォルトの名無しさん :2006/06/28(水) 00:30:55
辞書代わりに JavadocをHTMLで見たいんですが どこに置いてありますか? Sunのサイトって入り組んでてわかりにくいです・・・
'a', 'b', 'c'
916 :
デフォルトの名無しさん :2006/06/28(水) 00:45:48
>>915 早速ありがとうございます。
ローカルで見たいんですけど
これってダウンロードできるとこありますか?
917 :
デフォルトの名無しさん :2006/06/28(水) 00:48:03
918 :
デフォルトの名無しさん :2006/06/28(水) 00:49:40
919 :
デフォルトの名無しさん :2006/06/28(水) 00:59:21
実行できるjarファイルってどうやって作るんですか? ダブルクリックしたら作成したプログラムが動く奴。
922 :
デフォルトの名無しさん :2006/06/28(水) 14:14:06
nullが代入されてる状態でもsynchronizedの対象にできるの? private String abc = null; ・・・ synchronized(abc) { } ・・・ みたいな。
そりゃぬるぽだろ
HH:MM:SSで与えられる時間を整数倍するにはどうすればいいのでしょうか?
文字列なんだったらHH、MM、SSの各2文字を抽出して整数に変換 それでもって HH*3600 + MM*60 + SS で秒に変換 あとはお好きなように。 まあSDK見ればもっと手軽な方法見つかると思うが。
928 :
デフォルトの名無しさん :2006/06/28(水) 22:03:09
JAVAランタイムダウンロードできないんですが、どうなっているんでしょうか?
いま試してみたけどダウンロードできるよ。なんか遅いけど。
930 :
デフォルトの名無しさん :2006/06/28(水) 22:14:33
StringBufferは何故equalsを実装していないのですか?
>>932 StringBuffer は mutable だから比較の際には syncronized する必要があるけど、
それだと 2つの StringBuffer を syncronized しないといけなくなるから、
ライブラリ側でやるとデッドロックの回避とか考えると頭が痛い、
やるならライブラリユーザ側でやってくれって事じゃないかな?
と思ったけど、それだと StringBuilder で equals が実装されてないのが謎になっちゃうな。
他には、equals 実装するなら hashCode() も実装しなきゃいかんけど、
StringBuffer の内容変更するたびに hashCode 再計算するとパフォーマンス落ちるとか?
http://bugs.sun.com/bugdatabase/view_bug.do;?bug_id=4049974 とか見ると、馬鹿がStringBuffer を Map のキーにするのを防ぐ(?)のも理由のひとつだとか。
StringBufferは生成物としてtoStringの結果を取り出す「作業領域(buffer)」 と考えると、中にある文字列の同値性でわざわざ再定義する必要はなかろ、 てことかもね。
コレクションに入れた後に、hashCode 変えられたら困るだろう。 ゆえに、immutable しか equals は定義してはいけない
だな
>>935 ,936
思いっきり mutable な ArrayList とかが equals を再定義している件についてどう思われますか?
ますますワケワカメだな
>>937 動きゃいいんだよ。そもそもJava自体が慎重に設計されてるわけではないし。
940 :
デフォルトの名無しさん :2006/06/29(木) 08:42:30
>>927 やってみます。ありがとうございました。
StringBuffer[] sbArray = new StringBuffer[80]; String data = "abcdefghijklmnopqrstuvwxyz"; int i = 0; int j = 0; for(i =0 ;i<data.length();i++){ if(data.charAt(i) ==','){ j++; }sbArray[j].append(data.charAt(i)); } とするとどうしてsbArrayがnullになってしまうのですか?
sbArrayの各配列は初期化されてないからNullのままだろ
943 :
941 :2006/06/29(木) 16:40:37
即レスありがとうございます。
944 :
デフォルトの名無しさん :2006/06/29(木) 16:48:24
白黒の画像から1ピクセルずつ濃淡の度合いを取り出すのはどうしたらいいですか?
>>944 まず、画像って何?ファイル?それとも自分でDrawした物?
URLConnectionでHTMLを取得したのですが 下のようにJavaScriptで呼ばれた部分のHTMLを取得する には、どうしたらよいでしょうか? <script type="text/javascript"> document.write(getPageHTML()); </script>
948 :
デフォルトの名無しさん :2006/06/29(木) 22:27:42
exeファイル開くにはどうすればいいですか?
バイナリエディタに突っ込め
950 :
948 :2006/06/29(木) 22:55:34
言い方が悪かったです。 Sample.javaをコンパイルして実行したら cmd.exeが実行されるようにしたいのです。 Sample.javaにどう記述したらいいんですか?
Runtime.exec()
>>947 JavaプログラムでHTMLを取得する場合
WebのJavaScriptの部分が取得できないのですが、
それもJavaScriptの質問に抵触するのでしょうか?すいません
>WebのJavaScriptの部分が取得できないのですが んなこたーない
中味が.jsに定義してありました・・・なんとかなりそうです。 お世話をかけました
955 :
デフォルトの名無しさん :2006/06/30(金) 01:12:30
JAVAで実行ファイル作成するにはどうすればいいんですか?
実行可能jarで起動しているjavaアプリから、 同時に起動しているアプレットのインスタンス、 あるいは同時に起動しているほかのjavaアプリのインスタンス を参照することはできますでしょうか?
958 :
デフォルトの名無しさん :2006/06/30(金) 01:52:13
こんばんは。初歩的な質問ですいません。 DoJaでTEXTBOXに数値以外が入力されたらエラー表示するにはどうすればいいんでしょうか
どうすればって数値以外が入力されたか調べるしかないだろ。
960 :
デフォルトの名無しさん :2006/06/30(金) 02:24:54
書き方が変でしたね。 その方法が知りたいのです。
961 :
デフォルトの名無しさん :2006/06/30(金) 02:34:30
TreeMapで、値から逆にキーを取得する方法ってありませんか?
>>961 Iteratorで各値をチェック→キーを取得
static { } みたいなブロックはどういう意味なんでしょうか?
>>963 static初期化子
>>964 筆者が独自にそういうものを規定していなければ、単に書き間違い。
次のプログラムを教えて下さい! 1 5個の整数をキーボードから入力し、それらの合計と平均を求めるプログラム。 2 2以上の整数Nを入力し、0からNの偶数をすべて出力するプログラム 3キーボードからx(x >= 1)の値を入力し、f(x) f(xー1)*2+1 f(0)=1の値を出力するプログラム 4 整数Nを入力し、それが素数かどうか判定するプログラム 5 5個の整数を入力し、最小、最大を求めるプログラム 6 整数Nを入力し、 約数をすべて求めるプログラム 7
968 :
デフォルトの名無しさん :2006/06/30(金) 10:51:03
>>957 Mustangのjconsoleはアプリg側で特に何もしなくても監視できる
ようなので、JMXでできるのかもしれない。
オブジェクト指向の クラス、フィールド、メソッド、メンバ、コンストラクタ、継承、オーバーロード パッケージ、インポート、カプセル化、インターフェース、配列、例外 などの最も基本的なこと(一番簡単なプログラム)だけ勉強するのに適した参考書とかありますか? あとサーブレット、JSPの基本のこととか。(Tomcatを使った基本的なこととか。) 今ははじめてのJSP&サーブレットプログラミング改訂版っていうのを借りて読んでるんですが・・。 メソッドの基本だったら↓こんな感じで書いてあるものが理想です。よろしくお願いします。 「b.java」 public class b{ //メソッド static void meso(){ System.out.println("メソッド(=C言語では関数)内部だよ"); } public static void main(String args[]){ System.out.println("これからワープ"); meso(); System.out.println("メソッド終わったよ"); } }
そんな小学生の教科書見たいな本は無い
971 :
デフォルトの名無しさん :2006/06/30(金) 12:11:43
?を含む文字列の?の全てを他の文字に置き換えたいときには、 どうしたらいいのでしょうか。 正規表現のためreplaceAllメソッドを使えば例外が投げられてしまいますが。
>>970 わりと簡単めにわかりやすく書いてあるものならありますか?
>>972 取りあえず本屋池
お前のわかりやすいが分るエスパーなど居ない
975 :
968 :2006/06/30(金) 12:48:02
jconsole.jarをバラして逆コンパイルしてみた。 sun.tools.jconsole.LocalVirtualMachineで、 MonitoredHost.activeVms()ってのを使ってるようだが、 Sun製クラスなのね。標準APIにはなさそう。
Javaにデフォルト引数がないのにはどんな理由があるのですか?
977 :
デフォルトの名無しさん :2006/06/30(金) 14:19:00
>>945 カメラからBufferedImageにとりこんだ白黒画像です。
>>976 理由はしらん。
構文解析の手間が増えるのと、とりあえずオーバーロードで間に合うから
ってあたりじゃね?
>>977 945ではないが濃淡の度合いって何ですか?
ARGBの値とは関係なし?
無知でスマソ。
白黒画像=2値ビットマップ画像 白黒写真=グレースケイル画像 と解釈してしまうのは漏れだけか。
コンソールから入力された改行コードを検出するにはどうしたらいいですか? なぜ keyin = br.readLine(); if(keyin =="\n") とかではだめなんですか?
>>981 改行を検出して改行までの文字(改行は含まない)をStringで返すのがreadLine()ですが。
983 :
981 :2006/06/30(金) 18:54:00
984 :
デフォルトの名無しさん :2006/06/30(金) 19:43:07
javaのクラスというのを最近習ったのですが、説明聞いてもいまいちわけわかりません 理解しやすくイメージを僕に植え付けてもらえませんか?
やだ
じゃ、手抜きで インスタンス=鯛焼き クラス=鯛焼きの型
>>986 何か違う気がする。
少なくとも、意図があまり伝わらない。
クラス:人間 メソッド:食べる、考える、・・・ フィールド:目、口、年齢、・・・ クラス:労働者 人間を継承 メソッド:働く、・・・ フィールド:会社、・・・
クラス:NBAのバスケットプレイヤーの写真 インスタンス:イノタケのバスケット漫画
>>986 はどっちかというとtemplate methodだなw
>>977 BufferedImage#getRGB()
ってのではだめ?白黒ならRGB同じ値のはずだから & 255 して1バイト目取り出したら濃度が256階調で得られるけど。
RGBからHSBに変換して(Colorクラスでできる)、明度を取った方がいいかも。
>>993 Serverクラスの方
writer.println("test"); の後に
writer.flush();
を入れてみて。
995 :
デフォルトの名無しさん :2006/06/30(金) 22:13:51
"" をプリントするにはどうしたら良いのでしょうか。
エスケープシーケンス
997 :
デフォルトの名無しさん :2006/06/30(金) 23:28:34
WinXpでこんなソフトを考えてますが、可能でしょうか? LPT1を監視して、他のアプリケーションが印刷ジョブを流したら、 そのデータを読み取りたいです。印刷は行います。
次スレないんすか。
1000ゲットしたら夢のような就職ができますように
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。