1 :
デフォルトの名無しさん :
02/03/06 21:36 ____________
何でもマターリと質問して下さい。
 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄
人 b ∧∧
(○) /〇ヽ/ (゚Д゚,,) ̄ ̄ 丶~
ヽ|〃 ( し-J U U  ̄ ̄UU
_________∧________
カキコする前に下の注意書きをチェックしとけゴルァ!!
>>2 過去スレの一覧
>>3 Javaの基礎と、よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
2 :
デフォルトの名無しさん :02/03/06 21:36
2!!!!!!
4 :
デフォルトの名無しさん :02/03/06 21:36
5 :
デフォルトの名無しさん :02/03/06 21:37
6 :
デフォルトの名無しさん :02/03/06 21:37
8 :
デフォルトの名無しさん :02/03/06 22:10
9 :
デフォルトの名無しさん :02/03/06 22:16
10!!!!!!
>>10 わざわざご苦労様。
名誉挽回のつもりか?
しつもーん String.substringでsubstring(0,0)と、開始と終了のインデックスが同じ場合は、 何が返ってきますか?
14 :
デフォルトの名無しさん :02/03/06 22:50
>3はバカ!
""
17 :
デフォルトの名無しさん :02/03/06 23:05
っつーかそんくらい実験しないやつは(・∀・)カエレ!!
自分で実験しない奴は成長しない public class Test{ public static void main(String[] args){ //test code String str = "hogehoge"; String substr = str.substring(0,0); System.out.println("["+substr+"]"); } } こーゆーので、実験なんぞ30秒でできんだろぼけ。 ここにカキコしてレスまつよりはええだろ! 実験用のコードかくのも勉強だろ!
その実験をするスキルが無かったのでは?
>>21 そうなのかなぁ・・・悲しいな。
職場で同じような質問されたら、泣いちゃうよ。
いくら初心者歓迎でもなぁ・・・
NT4.0+tom-cat で servlet 始めたんですが、jar を import する時の環境 ってclasspath を設定するだけでは駄目なんでしょうか。 プログラムを実行すると、jar に入っている class の object生成するところ でerrになり、tom-cat の log に、 UnsatisfiedLinkError no xxxxx in java.library.path とトレースされます。
>>24 そういうjarはTomcatの下のlibディレクトリにいれとけばOKっす
Tomcatのドキュメントをよく読んでみそ
あ、信じないでね。
Tomcatのバージョンは? 4以降だとシステムのclasspath見ないから、TOMCAT_HOME/common/lib とかに入れないとダメ。
>>27 VER4.01 だったかな?やっぱりそうですか。なんか classpath が
効いてないきがしてました。
ただそこにも入れてみたんですけどだめでした。
29 :
デフォルトの名無しさん :02/03/07 01:23
まだJavaはじめたばっかでほかのプログラム を触ったこともなくてアプレットのこと聞きたいような 超初心者の俺はどこに逝ったらいいんですかね? すぐむずい話になるから初心者専用すれ作ってもよいか?
>>29 ココで聞け。新スレ禁止。むずい話?はとりあえず読み飛ばせ。
ではしつもーん (1) class (2)public class プログラム プログラム public class 名前{ main method main method と、どちらの書き方でもコンパイルできるよね? クラスを分けることにどうゆういみがあるんですか? オブジェクト指向を一言でゆうと?
↑見にくくなってるけど 4行目は名前{間でが一つの分でmainからは 二つ目のプログラムと思ってくださいな
とりあえず意味わからない。 (1) … … (2) … … っつーかんじに書き直してくれるとわかりやすいかも。
34 :
デフォルトの名無しさん :02/03/07 02:15
はじめてTomcatダウンロードしようと思うんだが、 どのバージョンがよろしいれすか?
>33すんません DQNな質問なんですけど (1)public class プログラム public static void main のようにクラスを一つにして書くのと (2)class プログラム public class public static void main のようにクラスを2つ書くのとプログラムの内容はまったくいっしょでも どちらでもかけるよね?メリットは何なんですか? ひょっとして折れ逝ってよしですか?
36 :
デフォルトの名無しさん :02/03/07 02:21
またJTableの質問なのですが・・ JScrollPaneの中にあるJTableについて 指定したセルまでスクロールして表示する。。というのは難しいのでしょうか? JListではensureIndexIsVisibleで出来るようなのですがJTableにはこのようなメソッドがありません・・
>>35 ちゃんとコードで書いてみてくれ。
両方とも変に省略せずに。
>>36 JComponentの scrollRectToVisible 使うとか。
>>36 こんなかんじかな…
Rectangle rect = MyTable.getCellRect(row,col,includeSpacing);
MyTable.scrollRectToVisible(rect);
>>31 「オブジェクト指向を一言で言うと」っつー問いは
「あなたにとって『人生』を一言で言うと」っつー問いに似ています。
そのような問いに対する答えは「オブジェクト指向」の特性を簡潔に
述べたもの、というより「答えた人の性格」や「答えた人の考え方」に
なってしまうと思います。
>>41 もしかして、前スレで質問してたアメリカの大学生か?
43 :
前、質問した人 :02/03/07 06:32
>>42 いえ、私じゃないです。(w
以前は皆様、本当にお世話になりました。
一番最初のクラス宣言で public class program { と class program { の"public"の違いって何なのでしょうか? 本には他のパッケージからも参照できる~と書いてありますけども ???です。他のパッケージから参照されるとは一体、どのような状態 を指すのでしょうか?よろしくおながいします。
45 :
デフォルトの名無しさん :02/03/07 10:19
入力した数字が金額なのでカンマをつけたいのですが 入力:1234567 → 出力:1,234,567円です 数字を文字列にキャスト変換して、長さ調べて 桁を調べてカンマを +","+ こんなふうに入れていくしかないでしょうか?
java.text.DecimalFormat 使え。 以上
47 :
じぇーむすごすりんぐ :02/03/07 10:21
おまえらJava1.4のバグの取り方を教えてください。
48 :
デフォルトの名無しさん :02/03/07 10:26
>>45 日本人なら4桁でくぎれ!
この毛唐かぶれが
Java1.4のバグって具体的には?
50 :
デフォルトの名無しさん :02/03/07 10:57
JavaってRS-232C使えるんだね。知らんかったー! これからはJavaでRS-232C使おっと。
Java Beanは逆コンパイルできるのでしょうか?
できないと考える理由を示せ。終わり。
>>44 ソースの先頭に
import java.util.ArrayList;
もしくは
import java.util.*;
って書いて、
ArrayList list = new ArrayList();
って感じのソース書いたことない?
ArrayListはjava.utilというパッケージに属するクラスです。
それを、java.utilというパッケージ以外に属するクラスから
使用しようとした場合、ArrayListは「他のパッケージから参
照される」って状態になります。
ただしjava.langパッケージはデフォルトでimportされてる状
態なので、どのパッケージからでも明示的にimportすることな
く
System.out.println("hoge");
と書けちゃいます。
(importしなくてもパッケージ名+クラス名で書きゃいいんだけ
どね)
54 :
デフォルトの名無しさん :02/03/07 13:20
>52 出来ちゃ配布に困る。出来ない方法を調べてるのに。。。
>>54 jarファイルを暗号化して
解読する専用のクラスローダと一緒に配布するとか。
>>55 専用のクラスローダを逆コンパイルされたら
芋づる式に逆コンパイルされて結局同じとゆー罠。
Obfuscation(難読化)ツールを使って 相手が解読を諦めるのを祈るしかないよーな。 「絶対に」逆コンパイルされたく無いなら 解は「配布しない」しかなくなりますし。
つまり、Beanは逆コンパイル出来ちゃうんだ。 JavaのソフトってオープンソースなんだNE! って困るぞゴルァ。
>>46 さんくすー! でけたよぅ~。
このレベルのフィードバックっているかな?いらないよね
60 :
デフォルトの名無しさん :02/03/07 14:41
>JavaのソフトってオープンソースなんだNE! JAppletとかBeanはねー。配るものだし。 だって、exeとか配ってるのと同じなんだから当然できるでしょ。 そもそも解析できない「配布している」プログラムっていったい、、、
>60 C言語で作ったexeはC言語に逆コンパイル出来ないんですけど。
exe だってクラックされてるんだから 難易度が多少違う程度だな。
>62 マターク違う。 実行ファイルとプログラムがマターク違う、とカーニハンもプログラム書法で言ってる。 プログラムを復元して、それを強化されて、配布されたらアウトよ。
64 :
デフォルトの名無しさん :02/03/07 15:05
うーん、実際、読みにくくするツール使ったものは元のソースには戻らないけど。ちょっとした改造くらいならすぐにできるね。
65 :
デフォルトの名無しさん :02/03/07 15:12
JMFでMP3のID3タグを取得するにはどうしたらいいんですか?
じゃあ、Javaアプリを売ってるところってどうやってるんだろう。 太郎Javaはオープンソースしてたね。他は?
67 :
デフォルトの名無しさん :02/03/07 15:54
孫クラスから子を飛び越して親のコンストラクタ を呼び出すことはできるのでしょうか? super(xxx)で呼び出せるのは自分の親のコンストラクタ だけですか? 親のコンストラクタはオーバーライドしており複数あります。
>>53 わかりました。
しかしJavaってむずいですな。
まあむずくなかったらソフト会社の人は食っていけないですけども。
>>67 super()を使うと
親、親の親、曾祖父?とたどっていって
最初に引数とマッチしたコンストラクタが呼び出される。
それ以外は不可。
>>44 あんな説明でわかるとは・・・
個人的には、Java言語自体は比較的簡単な言語だと思います。(つっこまないでね)
まぁ、一日や二日でマスターできるほど簡単なものなら、
プログラマーはみんなバイトでいい、ってことになるんで困っちゃうんですが。
バイト以下のプログラマーも、いぱーいいるってのもまた現実・・・
>>70 >最初に引数とマッチしたコンストラクタが呼び出される。
ちがうくない?
super(xx)で、親クラスに引数のあうコンストラクタ無しは
親の親に引数のあうコンストラクタが存在したとしても、コン
パイルエラーじゃないっすか?
>>67 わかりました。
>>70 親のコンストラクタを
super(a,b)として呼んだ場合、
親のオーバーライドしているコンストラクタで特に
親の親のコンストラクタを呼んでいなければ、
親の親のコンストラクタがオーバーライドしてあっても
デフォルトで呼ばれる親の親のコンストラクタはsuper(a,b)ではなく
super()である。ですね。
子 super(a,b)
↓
親 super() (super(a,b)は呼ばれない)
↓
親の親
>>67 あるクラスのコンストラクタを呼び出した場合、Objectクラス
からはじまり、継承関係にあるすべてのクラスのコンストラク
タが順に実行されます。
クラスのコンストラクタが複数ある場合でもそのうちどれかひ
とつ(以上)が必ず実行されまっしゅ。あるクラスのコンスト
ラクタを実行したくない、ってのは無理です。
っちゅうか、コンストラクタのせいで継承による利用がしづらい
ってのは、ちょっと設計みなおすべきです。
>>63 良い逆コンパイラ使われたら
Cのプログラムだって状況は全く同じなんですけど。
「プログラムを復元して、それを強化されて、配布されたら」
程度だったら 逆アセンブラの出力からだってできるし、
はっきり言ってJavaかどうかにかかわらず防ぎようが無いね。
リバースエンジニアリングが怖くてプログラムが書けるか。 そんなに怖けりゃスパゲッティにしとけ。
78 :
デフォルトの名無しさん :02/03/07 22:53
えーと、全くの初心者ですが Swing使ってGUIアプリ作ろうと思ってるんですけど MVCを意識してソース分けまくった方がいいですか?
ソースじゃなくて、クラスでした。
80 :
デフォルトの名無しさん :02/03/07 23:19
>>78 初心者が下手にMVCを意識すると逆にぼろぼろになるよ
最初は、JFrameかなんかにイベント処理を詰め込んで
まず、Swingでのプログラムってもんを会得したほうがいいんでないかい?
MVCをやる必要なしと言っているわけではない。
今はまだ無理してやる必要はないと言っている。
81 :
デフォルトの名無しさん :02/03/07 23:45
というかJAVAって逆コンパイルで元に戻りすぎ。 読めませんソフトをつかっても時間稼ぎにしかならないからなあ。 みなさん、どんな難読化ソフトをつかってます? (このネタ、「初心者」じゃないしスレ立てたほうがいいかなあ?) サン以外のコンパイラを使えば割と大丈夫という説も聞きますが いかがなんでしょう?
EJBで悩んでます。 ejbCreateやejbRemoveはDBに反映するのに updateだけ反映されません。
83 :
デフォルトの名無しさん :02/03/08 00:11
非常に厨房な質問で申し訳無いんですが、 JAVAのどれをDLするのが一番良いんでしょうか? なんかバージョン違うのがたくさんある&色々な種類があるみたいなので…
>>80 そーですか、なるほど。
まだSwingというかJava始めたばかりなんで、まだまだ先は長そうです。
参考までにどのくらい出来たらMVCを意識したプログラムを作れますか?
>>83 J2SE 1.4.0でいいんじゃない?
あ、でもマニュアルが日本語訳されてないか。
>>84 さぁ?君のこと知らんしなぁ。
そのうちできるようになるよ。
>>81 知られたくないようなコア部分は、バイトコードそのものを暗号化
しといてjarに含めて配布する。
実行時は、復号したバイトコードのバイト配列を使ってClassLoaderで
クラス化し、必要に応じてインスタンス化すると言う作業をやって
くれるClassLoaderを自作する。(ココは仕方ないので、難読化だけ
ですます。)
これで、時間稼ぎがカナーリできるかと思うんだけど…
88 :
デフォルトの名無しさん :02/03/08 00:40
ところで、javaって言語習得に何時間ぐらいかかるのかなあ? 何ヶ月?何年?いちおう初心者のための本は読んだけどリファレンス見たりしてると いやんなる。
>>88 リファレンスは、機能が必要になったら見れ。全部覚えよう何ていうのはアホ。
どのパッケージがどんな機能を実現しているかぐらいだけ把握しておけばよし。
90 :
デフォルトの名無しさん :02/03/08 00:47
そなんですか。本と初心者ですみません。 で、どれくらいかかるんですか? 目的意識を持ったほうがよいと思うんですが、 89さんは何から始めました?
>>88 習得時間が気になるならやめろ。
リファレンスみていやんなるならやめろ。
まぁ、趣味でやるなら死ぬまでに習得できりゃいいだろ、
仕事でやるならぐだぐだ言ってんじゃないよ。
92 :
デフォルトの名無しさん :02/03/08 00:50
ほんと2ちゃんねるって感じだなー。 まー答えるのめんどくさいってのもわかるんだけど、 はあー心狭き人種の憩いの場か・・・
>>90 AWT→
Swing→
JDBC→
JNI→
Thread→
Socket→
RMI→
CORBA→
Servlet→
Referrence→
Security→
XML
仕事で、こんな順番だたYO。
Threadが一番奥が深いYO。未だにミスるし。
94 :
デフォルトの名無しさん :02/03/08 01:00
ありがとYO! 93さんに積もり積もった質問をしたいのですが、 独学ですか?学校で勉強したほうがよいのは当たり前として まともに一人でやるのには心細すぎ! 自慢話でもよいので今は何が作れるのか語っておくれ!
>>94 2フェーズコミットやメッセージブロードキャスト機能付の
4階層サーバクライアント用フレームワークをストレージまで
含めて全部フルスクラッチで自作してます。下層はRMIで手抜き
してるけど…
96 :
デフォルトの名無しさん :02/03/08 01:13
出直したほうがよいかもしれないですね。 すごいのかもわかりません。しかし勉強する順番を教えてもらったのは ありがたいです。
97 :
デフォルトの名無しさん :02/03/08 01:17
>>38 JTableの質問をした者です。できました!どうもありがとうございます。
>>94 えーっと自分はJava暦(趣味)1年だけど、全然です。
Javaの言語仕様は0から初めても一月で理解できるでしょう
でもAPIは、数が膨大なだけでなく、高度なオブジェクト指向で
最初は(僕の場合未だに)フレームワークの理解に苦しみます。
でもこれってJavaの勉強ってゆーより、オブジェクト指向の勉強
って感じなんだよね、設計の勉強なんだよ、ちゃんと理解できて
同じレベルの設計ができるようになれば、言語がかわったって
絶対にJavaで身に付けた技術は無駄にならないと思う。
僕の勉強は場合一人でやってます、学校に行っても大して役に立たない
気がする。
たとえばゲームとか作るのなら半年もあれば楽勝です。
でもWindowアプリやサーバーサイド等、APIの力に頼るソフトを「まともに」
つくれるようになるには2年はかかるのではないでしょうか?趣味で
やってる場合の話ですけどね、仕事で1日中やってれば当然上達もはやい
でしょう。
98 :
デフォルトの名無しさん :02/03/08 01:20
どの程度のゲームが作れるでしょうかね? プログラムといったらゲームって言う連想をしてしまうんですが そこが一番気になってるんですよ。
>>98 基本的には何でも出来るんだけど…
RMIで、TCPを使った通信の制御がソケット生で弄るのの10倍簡単に出来る
から、ネトゲなんかいいかもね。(TCPで繋がる環境がお互いに必要だけど…)
タイマーの精度とかスレッドモデルとかのあたりが、非常にリアルタイム
処理に向いてないから、アクション系は辞めたほうがいいと思うYO。
あと、PureJavaだとハードウェア環境依存の描画エンジンとかを使え
ないから、忙しいレンダリングとかは無理かと。
こんなところで。
百式
age
103 :
デフォルトの名無しさん :02/03/08 16:52
Javaでは、描いた図形や読み込んだ画像に、 透明度を設定したりできるのでしょうか?
Javaっていってもいろいろあるみたいですね。 Javaアプレットを想定しています。
106 :
デフォルトの名無しさん :02/03/08 21:03
もうしわけねぇ・・・ List の具体的な定義の仕方と使用例を教えてくださらんか… 可変長の配列って事までわかったのだが使い方がわがんね… 固定長の配列はもういやだ…
>>106 インターフェースとコンクリートクラスの区別がついていないと見た。
List list = new ArrayList();
list.add("hello");
list.add("world");
とかやってね。なんで List 型に ArrayList 型を代入しているのは
自分で調べて。
109 :
デフォルトの名無しさん :02/03/08 23:28
Java2D使ってる人っている? まだあまりAPIガイド見たことないんだけど、画像の拡大縮小回転 は簡単にできるみたいね。スプライト機能なんかはないかなあ?
110 :
デフォルトの名無しさん :02/03/09 00:39
オブジェクトってどうゆうイメージをもてば いいんですか? いまいち良くわかりません。
111 :
デフォルトの名無しさん :02/03/09 00:49
>>110 そのまんまだが「物」だ
あと半年でできるゲームっつったら1からJavaはじめたとしたら
マイコンBASICマガジンレベルだろう
他の言語で作った経験があればゼビウス程度の縦シューはできるかな
あるクラスを(メモリの上に)実体化したもの。 人間クラスが有るとすると、僕やアンタそのものが人間オブジェクトということ。
>>112 のいうのは、プログラム上の話だ。
そういうのもオブジェクトと呼ばれるが、インスタンスとも呼ばれる。
本来は、僕やアンタというオブジェクトがあり
そこから人間クラスという概念が生まれるもしくは創出される。
プログラム的には、便宜上、先にクラスを定義することになるのだが・・・
ま、いいや、眠いし。
>>110 上手く理解できてないことまで含めて、
理解度を示してくれんことには教科書的な
反応以上のモノは出てこないよ。
JScrollPaneに貼り付けた画像に、 Java2Dのアフィン変換をかける方法ってありますか? 今はImageIconをJLabelに貼ってJScrollPaneに追加という形を 取ってるんですが、この方法だとpaint()の中でg.draw()しないので、 アフィン変換出来ないんですよね・・・ それから、画像に範囲指定枠などを重ねて表示したいんですが、 これも、上記の方法では実現出来ないんでしょうか??
g.draw() → g.drawImage() の間違いでしたー。
Icon の paintIcon をオーバーライドするとか。 Swingは良く知らないのでダメだったらごめんちゃい
セットアップとインストールはどうちがうの? いっしょでいいのかな?
とりあえず 英和辞典で調べろ。 話はそれからだ。
って 一回言ってみたかったんだ、てへ
てへ、っちゅうな、ゴラァ
テヘ☆
124 :
デフォルトの名無しさん :02/03/09 04:51
教えてください。 JavaScriptで、Webページのソースを取得するオブジェクトって何ですか?
125 :
デフォルトの名無しさん :02/03/09 05:45
サーブレットのパフォーマンステストを行いたいのですが、 一秒間に○○個のリクエストをこなすことができる、といった 類のものは、どうやって測っているのでしょうか?
黄色いサルでもわかるジャバの煎れ方のはなしし
127 :
デフォルトの名無しさん :02/03/09 14:11
やさしいJAVA ISBN:4797313935 を勉強し終わったのですが つぎに進む本としてどんな本がいいですか? アプレットの本でなくアプリケーションの本を紹介して下さい。 GUIをつかいたいんですが…。 あとクラスとかメソッドの名前 (例えばSystem.out. System.in BufferedReader など) ややこしくなったりしませんか?
128 :
デフォルトの名無しさん :02/03/09 14:15
>>124 今一度問う!!
Javaなのか?
JavaScriptなのか?
JavaとJavaScriptは別物だぞ
林くんと、小林くんだって
「林」がついてるからって
同じではないだろう
まあ、質問の内容からいって
Javaだと思うが・・・
Javaなら、「Webページのソースを取得するオブジェクト」
っていうのはないと思う
ただ、いろんなものを連結させてそういう機能を作る
たとえば、俺だったら
読み込み時にはBufferedReader、Socket、必要に応じてStringTokenizer使うかな
あとは、そのデータをファイルに保存するのかどうかによって
処理が変わるけど・・・
129 :
デフォルトの名無しさん :02/03/09 14:21
>>127 次に読む本?
「やさしいJAVA ISBN:4797313935」ってGUIネタは
のってないの?
おれは最初買ったのは「BlackBook」で結構いけた
でもいまは、「コアJava(Sun)」
これは、もっていて損はないが
レベル上がってからのほうがいい
131 :
デフォルトの名無しさん :02/03/09 14:33
BlacdBookなかなか良さそうですね♪ 本屋に行ってみます。 残念ながらやさしいJAVAにはGUIに関しては ほとんど何も載ってませんでした。 アプレットの説明もほんのちょっとしかかいてなかった。
132 :
デフォルトの名無しさん :02/03/09 14:35
>>130 え?だってJavaScriptでそんなことできるの?
っていうか「Webページのソースを取得する」の意味
間違ってる?
133 :
デフォルトの名無しさん :02/03/09 14:40
>>131 でも、GUIやりたいんなら
Javaの場合、Swingも学ぶといいと思う
その本にはSwingのことは書いてない(AWTだけ)
ので
BlackBookの「Swing」も買って置いた方がいいかも
別にBlackBookにこだわる必要ないが・・・
Java言語でのパーサ構築入門(うろおぼえ) とかいうのおもしろそーだった
>>132 その場合の答えは 「JavaScript ではそんな事出来ない。」でいいと思うよ。
JavaScriptで出来ないからってJavaでのやり方教えても意味無いと思うし。
136 :
デフォルトの名無しさん :02/03/09 14:51
SwingとAWTって全く別物なんですか? AWTを勉強してからSwingをやった方が理解しやすいってことは ないんですか?
AWTやって無駄になるようなことは無いと思うけど。 特に Fontまわりとか Image, Graphicsまわりは java.awt下にあるけどSwingでも良く使うね。
あとは Event とかもそーだし、 Drag & Dropもそーだし、
139 :
デフォルトの名無しさん :02/03/09 15:06
>>136 もちろん、AWT→Swingのほうがいいですよ
ただ、GUIやりたいっていったから
Swingを最終目的として「買っておいたほうがいい」
実際イベントは、java.awt.event.*
に依存するところが多いし
もちろんSwingコンポの独自イベントもあるが・・・
ただ、スレッドセーフでないのでSwingは気をつけないといけない
また、Swingは描画コンポーネントだということで
AWTとはちがいます
JavaScript から表示中の HTML を取得することできるけど… (IE)
141 :
デフォルトの名無しさん :02/03/09 15:56
>>140 知っているなら教えていただけませんか?
お願いします
143 :
デフォルトの名無しさん :02/03/09 16:24
初心者ですが、コアJava2 買ってしまいました。 この本で勉強しようと思うのですが大丈夫でしょうか? 言語は、Cの文法がかろうじてわかる程度の 知識しかありません。
144 :
デフォルトの名無しさん :02/03/09 17:05
JAⅤAでつくったソフトを配布するときは、どのようにすればしていますか? とりあえず、相手先に渡してダブルクリック一発で起動してもらいたいんですが。。。 例えばJbuilderを使って、.exeファイル( Windowsで動けばよい )を作ることはできるでしょうか?
勉強前から弱気になってるヤツって あんまり勉強しないし、 勉強しても中途半端な知識しか持たないよーな。
>>144 マニフェストファイルを JAR ファイルに入れとけ。作り方は JDK 付属の
JAR ドキュメント見れ。
ダブルクリック一発で起動できたっけ?
>>150 ”ダブルクリック”という動作を一発で起動。
5つボタンマウスの一つを「ダブルクリック」に割り当てる Java アプリ
JPanelをフレームに貼り付けて、JPanel#paintをオーバーライドして 画像を表示してるのですが、なぜかJPanel#paintがエンエン呼び出されます。 なぜなんでしょうか?CPU使用率が100%でかなりいけてません。 public void paint(Graphics g) { System.out.println("in paint"); Image img = createImage(MemoryImageSourceを生成するメソッド); g.drawImage(img, 10, 10, this); } こんな使い方です。
155 :
デフォルトの名無しさん :02/03/09 17:54
156 :
デフォルトの名無しさん :02/03/09 17:55
オレの環境(WinME)だと、.jarファイルをダウンロードしてクリックしても 「関連付けがどーのこーの」という窓が開くだけなんだけど。。。。。
>153 そのコードだと、 Imageオブジェクトが生成されて、 画像の生成が開始される。 ↓ drawImageが呼ばれる。 ↓ 画像の生成が終わり、 repaintが自動的に呼ばれる。 ↓ 繰り返し になる。 あと1フレームごとにMemoryImageSourceと Imageオブジェクト作ってるのもかなり無駄。
>>156 JDK じゃなくて JBuilder だっけか? 関連付けされてないかも。
どうでもいいけど Main-Class のマニフェストが入っていない JAR を
ダブルクリックしたとき、無言で終わる javaw は何とかしてほしいな。
スレ違いかもしれないけど…javaオフで来た相手を問答無用で 任意のページに飛ばすにはどうすればよいでしょうか?
<APPLET CODE="java.applet.Applet" WIDTH="0" HEIGHT="0"> Java が有効になってないっす。飛びます、飛びます。 <SCRIPT LANGUAGE="JavaScript"> document.location = "no-java.html"; </SCRIPT> </APPLET>
>>157 レスありがとうございます。
えっとですね、サイクルの説明がいまいち分からないのですが、
Image img = createImage(MemoryImageSourceを生成するメソッド);
画像を生成する
↓
g.drawImage(img, 10, 10, this);
表示する
↓
paint処理終了
ってことではないのですね?「画像の生成」って?
drawImage関数により実際にモニターに表示されることですかね。。?
よろしければもう少し詳しく説明していただけると大変ありがたいです。
>あと1フレームごとにMemoryImageSourceと
>Imageオブジェクト作ってるのもかなり無駄。
動画を表示しようと思ってるのでこの処理をpaint内でやってます。。。
というか、paint内でやるのはやっぱりおかしいですかね?
むずいなぁ。。
>153 こんなかんじにして stepを繰り返し呼ぶようにしてやればよいはず。 { source = new MemoryImageSource(w, h, cm, buffer, 0, w); source.setAnimated(true); source.setFullBufferUpdates(true); } public void paintComponent(Graphics g) { if(offImage == null) { offImage = createImage(imageSource); } g.drawImage(offImage, 0, 0, this); } void step() { //描画処理いろいろ... source.newPixels(); }
createImageでは画像の"生成の開始"が指示されるだけで 実際の処理は別スレッドで行われる。 その別スレッドの処理が終了しないうちに画像を描画しようとすると その描画処理は保留されて、画像の完成を待ってから改めて repaintが呼ばれることになる。 (ここでrepaintあ呼ばれるのはdrawImageの第4引数で指定された奴) 以上、かなりいいかげんな説明。 詳しくは自分で調べてちょ。キーワードは - JDK1.1のプッシュ型イメージモデル - ImageProducer/ImageConsumer/ImageObserver
164 :
デフォルトの名無しさん :02/03/09 19:01
javacをした時のエラーメッセージのロケールを切り替えるにはどうしたらいいんでしょうか? 英語出力にしたいのですが・・・。 因みに javac -J-Duser.language=en Hoge.java じゃ駄目でした。
>>164 それ、英語にしてるんだけど、どこのロケールにしたいわけ?
>>160 ありがとうございました。
オフの場合自動的に指定URLに飛ばす事はできませんでしたが
ダミーページを挟むことでなんとか形になりました。どもでした。
英語にしたいんです。 因みにあれをやると日本語になります。 環境: win2k + jdk1.3
168 :
デフォルトの名無しさん :02/03/09 19:26
>>143 その本ちょっと難しいぞー
種類イロイロあるからどれを買ったかわかんないけど
初心者読む本じゃないな
でも、持っていて絶対損はありません
>>167 -J-Duser.region=US も併用してみたら?
javac -J-Duser.language=en でヘルプが英語になったけどな、一応 (JDK1.4)。
171 :
デフォルトの名無しさん :02/03/09 19:53
>>169 日本語のままでした。
不可能なのかな。
アレな方法としては、tools.jar の sun/tools/javac/resources/javac.properties を sun/tools/javac/resources/javac_ja.properties にコピーする、んでイケルんじゃないかと思われ。 tools.jarのバックアップ取るの忘れないようにね。
jdk1.4にして解決。
>>173 その方法の方がベストでしたね・・・
157様
>>162-163 レス遅くなり申し訳ないです。よく読んでみて考えてみます。
ありがとうございます!
とりあえず提示されたキーワードを調査してみます。。
176 :
デフォルトの名無しさん :02/03/09 23:21
コアJAVA、高いですね(^^;) 明日、お金いっぱい持って本屋に行ってきます。
177 :
デフォルトの名無しさん :02/03/09 23:53
>>176 高いし重い(笑
読むとき手が疲れる。
もっと分冊にしてほすい。
モーみんな迷惑かけたくないからさ 猛勉強したいんだけどさ ネット上でわかりやすい場所ないですかね? 独習Javaが届くまでのつなぎとしてさ
179 :
デフォルトの名無しさん :02/03/10 00:38
コアJava2応用編の改訂版っていつ出るの?
180 :
デフォルトの名無しさん :02/03/10 00:45
独習Javaね…
>>180 独習Javaだめなん?
もっといい本あるなら情報きぼんぬ
182 :
デフォルトの名無しさん :02/03/10 00:55
Javaアプレットで「びよよよ~~ん」と バネやゴムが伸縮するような動きをする グラフィックがあるHPを見かけたのですが、 あーゆーのって物理の公式をプログラムに おきかえているのですか? もしそうだとしたらJavaで書く物理公式集とか あるのでしょうか? おすすめの本、HP等あったら教えて下さい。 ちなみに物理関係のHPいろいろ見ましたが、 どうJavaに置き換えてよいやらさっぱりわかりませんでした。
183 :
デフォルトの名無しさん :02/03/10 00:58
>>182 各部位の位置が時間に従属する関数(重力とかは全部「定数」だよね?)
だろうから、タイマースレッド作って一定時間ごとに部位の位置を計算
して画面に描けばいいだけじゃないの?
>>184 クラスファイルDLして逆コンパイルするのが一番楽だったりして。
>>181 本じゃないけど、高木先生のジャバハウス覗いたら?
かなり勉強になると思うけど。
187 :
デフォルトの名無しさん :02/03/10 01:29
JavaSciptのdocument.write()でテキストボックスなどを画面上の オブジェクトとして作るhtmlを作る。 htmlを表示させて、JavaScriptで画面を描画。そのテキストボックスに 日本語やアルファベットを入力して、submitボタンを押してJavaServletへデータを送る。 すると、JavaServlet側でデータを覗いてみると、日本語だけ文字化けしてるのだけど、 これってJavaScript側か、JavaServlet側で文字化け回避方法ってない? サンプルがあるとありがたいです。 回避方法考えるだけで、これだけで1日つぶした・・・。
>>186 初心者向けには、トピックス眺めると良いと思うが…
最近発言者が勘違い馬鹿の巣窟となっていて、やり取りの内容が
極めて腐ってるので、MLへの加入はしないほうがいいと思う。
>>187 Unicodeにエンコードして送っとけ。
190 :
デフォルトの名無しさん :02/03/10 01:34
書き忘れ JavaScriptで画面を全部作った(説明どおり)状態でサブミットすると、 Shift-JISで送らずにUnicodeで送ってくる模様。 後、環境はIBMのhttpServer+WebSphere3.5.4。
>>190 EUC_JPにエンコードして送っとけ。
192 :
デフォルトの名無しさん :02/03/10 02:16
多角形を描くプログラムを教えてください。 Polygonを使うまではわかったのですが・・・。
193 :
デフォルトの名無しさん :02/03/10 03:17
>>192 そんなの入門書見れば載ってるだろ
俺は使ったことないが、勘で答える
まず、それぞれの点のx、y座標を
配列に入れて
Polygon(int[] xpoints, int[] ypoints, int npoints);
で、いいんじゃない?
API見て理解できないようじゃ
オブジェクト嗜好がわかってないよ
JavaのAPIは、わかりやすいんだから
>>オブジェクト嗜好 いい得て妙。
196 :
デフォルトの名無しさん :02/03/10 07:31
Javaの本の話なら何でも聞いてくれ 馬鹿みたいに買いあさっていたからな 独習Javaは初心者にはもってこいだ BlackBookは初心者が読むのにもいいし 中級でも結構つかえる 独習Javaにはない記事には クリップボードのつかいかた Beanのつかいかた オブジェクト尻洗いぜーション JDBC,Servlet,Java+CGI など簡単ではあるが 基本から、使えるTipsまで載っている コアJavaは中級以上じゃないと読みこなせないだろう ただ、持っていて損はないし 有用なTipsがわんさか詰まっている ので、初心者も買ってみればいい コレのおかげで難問解決したことが何度あったことか・・・ (俺の持っているのは2000・12・31の初版) まあ、あとはSwing関連の本ですね 普通Javaの入門書はSwingの解説までしてないから必要でしょうね BlackBook のJavaSwingプログラミング持ってるけど あの程度の本でいいんじゃない? あとは、本の発刊日とか版をみて、古いのは避ければいい 同じ本が2冊以上並んでいるときも新しいのと古いのがある場合もあるので よく見てください ところで、BlackBookに登場する「Jhonson」っていうやつは なにものなんだ? 新米プログラマ:「Jhonsonのやつが僕の作ったクラスをめちゃくちゃにしたんだ!」
197 :
デフォルトの名無しさん :02/03/10 10:38
198 :
デフォルトの名無しさん :02/03/10 13:03
>>187 とりあえず、formの属性にaccept-charset付けたら?
ブラウザにもよるけど。
199 :
デフォルトの名無しさん :02/03/10 13:07
>>196 Enterprise Java Beans 3rd editon
Richard Monson-Haefelってどうよ?
201 :
デフォルトの名無しさん :02/03/10 13:29
>>198 accept-charsetか。
これは試してないな。今から会社逝くんで、会社に着いたら試してみる。
>ブラウザにもよるけど
ブラウザ依存と取れるけど、ターゲットとしてるブラウザは、
IE5.5SP2以上と、NS6.1以上だから、これらで動いて文字化けしなければ
ラッキーだ。
THX。
あ、ブラウザによるっていってもUnicodeで送りつける最近の
ブラウザなら、accept-charset理解するか。で、このへんって
最近どうなの? 昔はとりあえずISO-8859でパラメータを受け取って
自分でJisAutoDetectに通すのが普通だと思ってたんだけど、
Unicodeで送られるとJisAutoDetectって規格上Unicodeの判別して
くれないよね。
http://java.sun.com/j2se/1.4/docs/guide/intl/encoding.doc.html `multipart/form-data'を指定して中のContent-Typeについている
charsetを期待するってのはありなのかなぁ。どなたか現状を教えてください。
203 :
デフォルトの名無しさん :02/03/10 15:21
コアJAVA買ってきました♪ なかなかいいですね。 紀伊国屋(梅田)ではホームページ言語ってとこに並んでて 見つけるのに苦労してしまった。 ホームページ言語って書かれるとHTMLとか JavaScritのことだと思っちゃうよね。 CとかC++(プログラミングって棚)と一緒に並べて置いて欲しかった。 ちなみにPerlもホームページ棚にしかなかった。
オマエを摩り下ろす
205 :
デフォルトの名無しさん :02/03/10 17:22
JavaのAPIをDownloadできるサイトはありますか?いちいちネットでつなぐのは、めんどくさいので。 くそ質問でスマソ
いくらなんでもオマエ、そりゃくそ地獄の使者だろ。。
>205 java.sun.com
MSDN入ればVisualJ,J#のリファレンスがもらえるよ
MSDN持ってるような金持ちが 205みたいな質問するかなぁ?
210 :
デフォルトの名無しさん :02/03/10 20:22
すみません、職業PGの方。
JAVA始めたいのですが、仕事で使うJAVAって、どんなことをするんですか?
やっぱアプレットってやつですか?
関係ないけど当方VB、VBAしかやったことないです。
>>203 梅田紀伊国屋のJAVA関連書籍の並べる所間違ってるんじゃないかと
思ってたよ。HTML、ASP、javascript、JAVA全部いっしょくた。
211 :
デフォルトの名無しさん :02/03/10 21:10
>>208 おい、VJ++J#とJava2APIを一緒にすんじゃネーよ
>>210 サーブレットが多いんじゃない?後は、普通にアプリケーション。
アプレットは、もう終わってると思うよ。JWS使うべき。
213 :
デフォルトの名無しさん :02/03/11 12:48
下位互換って言うのか、上位互換って言うのか分からないのですが、 JDK1.4のjavacでコンパイルしたものを、JRE1.2や1.3の環境で 問題なく動作させることはできるのでしょうか。 (APIについては、前バージョンからあるものだけを使っているものとする)
JRE1.2や1.3だったら大丈夫だと思われ。 JRE1.1だとダメってのがFAQであったような
>>214 -target 1.1 オプション付けてもだめ?
>>213 俺は止めたほうがいいと思う。やるなら -target オプションつけたほうが良い。
1.4 のコード JAD で逆コンパイルしてみたけど、1.3 以前の頃のようにきれいに
戻らない。フロー変える最適化もされているみたい。
217 :
デフォルトの名無しさん :02/03/11 15:54
すいません、初歩というか一歩目のですが… コンパイルは通ったのですが実行すると Exception in thread "main" java.lang.NoClassDefFoundError: となってしまいます。ちなみに、前に作って動いていたものも同様になってしまいます。 classpassの設定が失敗してるらしいというのを突き止めたのですが どのように書き直せばいいのかがわかりません。ご教授くださいませ。
java -classpath . MainClass
うーん、しかもjava って打っても反応がない… java自体にパスが通ってないみたい…
申し訳ねぇ・・・たんにJDK\binにパスが通ってなかった。 なんでパス消えてるのさ…。お騒がせしました。ぺこり
221 :
デフォルトの名無しさん :02/03/11 18:15
メソッドにオブジェクトを渡すという意味がよく分かりません。 それで、よく考えてみると String date = "3/11"; System.out.println("今日は"+date); っていうのも実はメソッドにオブジェクトを渡しているような 気がしたのですが、この解釈はただしいのでしょうか? さらにいろいろ、考えてみたのですが上の例の3/11っていうのは オブジェクトdateのインスタンスフィールドに格納されてたと いうことなのでしょうか? するとSystem.out.printlnというのは、そのインスタンス変数を 利用する方法を知っているということですか?
222 :
デフォルトの名無しさん :02/03/11 18:43
>>221 知っているというよりは決まった方法を使うってことで
その方法というのがdateからStringを取り出すということで
toStringを持ってない人を突っ込んだらエラーになるっつーことで
223 :
デフォルトの名無しさん :02/03/11 19:29
宿題がわかりません、助けてください、お願いします。 次のようなサッカー大会のデータ 年度:勝者校:敗者校 例 1995:Shimizu:Tottori 1995:Tokyo:Shiga ・ ・ をファイルから読み取り、チーム名、勝数、負数、参加年度を マッピングを使って整理します。 そしてすべてのデータを 読み終えた時に下記のように出力します。 Name: Tokyo Wins: 2 Losses: 1 Years: 1989 1990 Name: Osaka Wins: 5 Losses: 4 Years: 1984 1988 1989 1991 1995 ・ ・
225 :
デフォルトの名無しさん :02/03/11 19:31
: をトークン区切りとして文字列をそれぞれ取り出して 適当に表示するというのを行数分繰り返せばいいのか。 レズ画像10枚分の仕事だな。
Class TreeMap と下記のクラスを使用します class TeamInfo { int wins; int losses; Set years; TeamInfo(int wins,int losses,String year) { // ここにコンストラクタを } void incrementWins() { wins++; } void incrementLosses() { losses++; } void addYear(String aYear) { // addyearをここに } public String toString() { // toString()をここに } }
227 :
デフォルトの名無しさん :02/03/11 19:34
>>224 わかりました。今からそちらに行きます。
マルチポストになってしまいますが
すいません
229 :
インプットファイルの例 :02/03/11 19:38
1939:Tokyo:Yokohama 1939:Chiba:Shizuoka 1940:Hiroshima:Tokyo 1941:Hiroshima:Chiba 1941:Tokyo:Hiroshima 1942:Osaka:Yokohama 1942:Osaka:Saitama
つまり、System.out.printlnはオブジェクトを引数に渡されると .toStringを使ってString型を取ってくるんですね ↑間違ってたら指摘して下さい。 それじゃあ import java.util.Date; public class today { public static void main (String[] args){ System.out.println(new Date()); } } というのは、 DateクラスがインスタンスメソッドとしてtoStringをもっている ということですか?
231 :
デフォルトの名無しさん :02/03/11 19:57
>>230 はい、そのとおりです。
APIでDateを見るとよりいっそう理解が深まるかと。
すみません あるサイトで、申し込みボタンを押したらこのようなエラー がでました。どのようにすればよいのでしょうか? ----- Error: 500 Location: /chkcontents.jsp Internal Servlet Error: javax.servlet.ServletException
サイトのほうの問題か?
相手サイト側の問題なんですか? 「インターネットで予約がうまくできない場合などはお電話ください」 とあるので、諦めて明日電話したほうがいいですかね。
235 :
デフォルトの名無しさん :02/03/11 22:46
>>234 他の板へお帰りください。
ここは「Javaプログラミング」のスレなんですが。
>>234 そうだな。
画面のハードコピーか保存したものがあれば対処するほうも楽だが
そこまでする義理も無いだろ。
>>235 わかりました。去りますね。
プログラム見ても何が書いてあるのかわからないので
全部コピーする度胸もありませんし・・・
では。
238 :
デフォルトの名無しさん :02/03/11 23:02
初心者です。 じゃばってなんじゃば?
239 :
デフォルトの名無しさん :02/03/11 23:08
241 :
デフォルトの名無しさん :02/03/12 00:39
人 /〇ヽ (( ゚Д゚)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (| |) < 私が じゃばこ ですが、何か? ~| | \____________ ∪∪
242 :
デフォルトの名無しさん :02/03/12 00:55
>>241 読みも書きも同時にできるストリームが1.4で実装されたらしいんだけど
それってソースパクッてきて1.3で使ってもいいの?
仕事上1.4にできないので・・・
>>242 JMMの外にメモリ確保するらしいから、ランタイムにデカイ拡張が
有ると思うよ。ランタイムを1.4にしなきゃどの道使えないと思うが。
>>243 そうすっか。
じゃあ今まで通り自作のしょぼい実装を使うことにします。
じゃばこさん、ありがとう
245 :
デフォルトの名無しさん :02/03/12 01:15
みなさんこんばんわ! ところで、JTextFieldのリスナーについてなんですが、、、 もし複数のJTextFieldがある場合って、別々にリスナーを 作るしか方法はないんですか? たとえば、ボタンとかだったら、同じリスナーで getSource()とかでソースを判断してイベント起こせる じゃないですか。JTextFieldはそれができないんでしょうか? どなたかよろしくお願いします!!
人 /〇ヽ (( ゚Д゚)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (| |) < 逝って良しじゃば。 ~| | \____________ ∪∪
>>245 つうか、テキストフィールドでどんなイベントをハンドルするつもりなんだ?
そこを間違ってそうなアホさが漂っているので…杞憂ならスマソ。
248 :
デフォルトの名無しさん :02/03/12 01:58
Exception派生 と RuntimeException派生によるtryチェックの有無ですが、 これってコンパイラレベルで区別してるのですか?
>>247 どうも!
insertUpdate, changedUpdate, removeUpdateで
いろいろやっています。根本的に間違っているのでしょうか?
どうか教えてください。
251 :
デフォルトの名無しさん :02/03/12 02:38
づくのギコかわいいね
252 :
デフォルトの名無しさん :02/03/12 02:49
>>249 やっぱし?
ちょっとダサいね。この部分。
何で? コンパイル時に開発者に警告する以外に目的があるのか?
254 :
デフォルトの名無しさん :02/03/12 05:29
if (args.length>0){ のargs.lengthってどういうことをあらわしているのですか? どこを調べても詳しくのっていないので、、
256 :
デフォルトの名無しさん :02/03/12 14:07
>>255 >どこを調べても詳しくのっていないので
氏んでください。
もっと詳しく調べてみてYO
春だねぇ
259 :
デフォルトの名無しさん :02/03/12 14:10
>>255 >のargs.lengthってどういうことをあらわしているのですか?
お前がどうしようもないアホだってことかな。
↑おめーらつまんねーよ、、 叩くんだったらもっとおもろくやってくれよ、、、たくっ、、
261 :
デフォルトの名無しさん :02/03/12 14:12
↑それしかいえねーのかよ、、、つまらん、、
263 :
デフォルトの名無しさん :02/03/12 14:23
みなさんこんにちは。 Javaを使い始めて思った事はやはり「重い」ということでございました。 貧弱な環境ではアプリが頻繁にこけたりもするようで困ってます。 聞くところによると、 実行中の重さの原因はSwingに由来するものが多いとか聞きます。 .いまどきながらAWTで書いたりすると、軽くなったりするのでしょうか。 またGUIを使わないとかなり軽くなりますか? こけては困る部分をGUI無しで作って走らせて、 GUIは別のアプリとして開発して走らせようとも考えたのですが、 これはどうですか。 有効ですか?二つも同時に走らせる事になって結局遅くなりますか?
実際にためしてみればすぐに分かることと思います。
265 :
デフォルトの名無しさん :02/03/12 14:27
>>264 もうしわけないです。
でもAWTの開発方法は知りませんし、
もし不必要なら今から学んでも完全に無駄だと思いますので困っています。
GUI無しサーバーと、GUIクライアントに分割する場合には
アプリ間の通信方法が必要になるはずですが、それもまだ知りません。
>265 凝ったGUIを必要としないAWTで十分なアプリならAWTでやればいい。 ルータの設定ツールで見たことある。結構軽いよ。 ところで何を作りたい? さまざまな組み合わせを漏れなく総て列挙するのはつらいし無意味とおもうのですが?
269 :
デフォルトの名無しさん :02/03/12 14:56
tomcat4で、jakartaプロジェクトをantでコンパイルしたのですが Httpsession.classが見つかりません。 となってしまいます。(その他のクラスも同様) 解凍して移行したときにコピーし忘れだと思うのですが このclassの設定ファイル(jarファイル?)ってどこに設置されてますでしょうか? 私自身サーバを理解できてないので意味不明なところがあったらごめんなさい。
何を言いたいのか良く分からん。
俺の出番か
272 :
デフォルトの名無しさん :02/03/12 15:59
ごめん、事態が変化しました。 現状での問題をもう一度お願いします。 サーバ:アパッチ、トムキャット4 で、ジャカルタ・タービンをインストール(というか解凍)して antでビルド成功。 そして、アクセス!…と来たのですがプラウザ真っ白。 なにも表示されません。 現在、build.xmlとserver.xmlをチェックしたのですが問題なさそう。 なにか操作の糸口があれば…と。よろしくお願い致します。 ジャカルタプロジェクトはtomcat3だから、多少の不具合はでる(269のようにsession.classの場所が移動してたし) と思っていたのですが
本当ならTurbin DataManagerって画面がでてID,PASS入力になるはずなのです。
> サーバ:アパッチ、トムキャット4 > ジャカルタ・タービン この辺、カタカナで書くと何か変な感じするね。
解決しました!お騒がせしました。 たんに、トップページのアドレスが間違ってただけでした 申し訳ない
人 /〇ヽ (( ゚Д゚)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (| |) < ・・・・・・・・。 ~| | \____________ ∪∪
>>276 ちょっと待ってその頭の上に乗っかってんの何?(w
>じゃばこ ねえ寒くない?寒くないの!? つーかウチュウ人?ウチュウ人なんでしょ?
>>279 /  ̄ ̄ ̄ ̄ \
/ \
/ ヽ
/ ⊂ニニニ⊃
| 人 ⊂ニニニニニニニニ⊃
| /〇ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Λ_Λ (( ゚Д゚)) < うるせー!逝って良しじゃば!
( ´∀`)( ,,ノ \________________
( つーo皿 /
(_ ̄)'^◎ /⊂ニニニ⊃
|/(_) \ ____ /
◎
___,⌒ヽ / ̄ ̄ ̄ ̄ ̄
\ ' ヽ ) | 田 田
田 田| ) ) | 田 田
田 田| ) | 田 田
> 人 > /〇ヽ > (( ゚Д゚)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ > (| |) < 私は じゃばこ ですが、それが何かじゃば? > ~| | \______________ > ∪∪ こういう宇宙人、いたよね昔。
「じゃばこ」みたいなキャラクターは個人的に悪趣味だと思うが、 「ギコじゃばこ」は好きだな(w
へヘ /〃⌒⌒ヽ 〈〈 ノノノハ))) |ヽ||´ ∀`|| にははっ ⊂[リ∨╂リ]つ . 「、 ̄ ̄ ̄ リ /リリリリリ  ̄ ̄ ̄\. /\\ U U \ ,.' \\ \ / \「. ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ヽ ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ. \ ,.' ヽ ヽ . ' ヽ ヽ{ _ ____ __} .  ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄
仲間内だけのねたでやっているぶんにはかまわんが、 JavaPressだかの記事中に出すのはやめてくれ。>> じゃばこ でもギコじゃばこはイイ!
>>281 いたなぁ~!!
たしか森の中での写真があったはず。
Javaとは寸分の関係も無いがな(w
厨の域を通り越してしまっていますが、聞いてください。 JAVAのAppletをとりあえず作って完成したので サーバーサイドのJAVAプログラムを作ってみようと考えています。 何をしたいかは、XMLをサーバーにおいて HTMLに変換した結果だけをクライアントに送りたいというもの。 簡単な実験のつもりで、いろいろサーブレット・JSPについて調べてみたら サーバー側にJRunとJSDKが必要とか書いてあるし、 Apacheの設定なども必要らしい? 普通のプロバイダーで5MB容量でTelenet使えない我が環境では どうすることもできないのだろうか?と悩んでる今日この頃。 もしかして普通のJAVAアプリ入れれば普通に動くとかいう落ちがあるかもしれないが こんな環境の俺が、サーブレットとは言わないが サーバーサイドでJAVAで書かれたプログラムを動かして HTML変換や、XML書き換えなんかはできないのですか? 厨な環境は、CGIでもやってろということになるのですか? (スレ・板違いならスマソ)
287 :
デフォルトの名無しさん :02/03/12 20:46
>>286 なんつーか、おおらかな目でみればCGIもサーブレットも
おんなじなんですよ。
>>286 人
/〇ヽ
(( ゚Д゚)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(| |) < 自分のパソコンにJRunなり、Tomcatなり入れればよいじゃん?
~| | |Java勉強用の環境ならば、Apacheも特に入れなくとも良し。
∪∪ \_________________________
>>287 書き方が悪かった。CGIというかPerlだね。これ。
あの変態的な書き方だけは避けたい、とは言わないけど
サーバーサイドでJAVAしてみたいのです。
で、可能なのですかね?(上記環境で)
【新スレ】 じゃばこの じゃばJava相談室 その1
>>288 HPで動かしてみたいのです。
(なんというワガママぶり)
>291 じゃ、無理。
>>292 簡潔な結論。惚れ惚れした。
とにかくアリガト
294 :
デフォルトの名無しさん :02/03/12 21:06
295 :
勉強人J ◆ZlUAfWEw :02/03/12 22:08
はじめまして、現在クラスの継承の勉強をしている初心者です。 GregorianCalendar クラスを拡張して Day と言うクラスを作ったんですが なっとく出来ない個所があります。 教えて下さいオネガイシマス。
何を?
297 :
勉強人J ◆ZlUAfWEw :02/03/12 22:11
import java.util.*; public class reidai16{ public static void main(String args[]){ int month = 3,day = 13; //誕生日3月13日 Day t1 = new Day(); Day t2 = new Day(2002,month - 1,day); switch (t1.compare(t2)){ case 0 : System.out.println("誕生日おめでとう!"); break; case 1 : System.out.println("誕生日は過ぎました"); break; case -1 : System.out.println("誕生日はまだです。"); break; } } } class Day extends GregorianCalendar{ public Day(){ super(); } /* public Day(int y,int m,int d){ super(y,m,d); } */ public int compare(Day t2){ if (get(Calendar.MONTH) == t2.get(Calendar.MONTH) && get(Calendar.DATE) == t2.get(Calendar.DATE)){ return 0; } else if (before(t2)){ return -1; } else { return 1; } } }
298 :
勉強人J ◆ZlUAfWEw :02/03/12 22:15
以上がソースです。 GregorianCalendar クラスを継承してるので親クラスのコンストラクタを 子クラスが全部持ってるのなら、コメントアウトした部分は無くても良いんじゃないか と思ったんですが、コンパイルしてみたらエラーが出てしまいました。 何故なんですか? 読みにくくて申し訳無いんですがよろしくオネガイシマス。
コンストラクタは継承されませんぞ
300 :
勉強人J ◆ZlUAfWEw :02/03/12 22:36
>>299 なんと!!
そうだったんですか、長々とすみませんでした。
どうもありがとうございます。
301 :
デフォルトの名無しさん :02/03/13 01:42
メモリが足りないよ・・・ deleteが欲しい・・・
>>301 参照外しておけば、メモリが足りなくなる前にFullGCが走るだろうが。
問題あるか?
つうか -Xで最大ヒープサイズ指定できるオプション知らないという話か?
>>302 GCが走る前にアウトオブメモリーになるの。
メモリ1Mb以下なの。
>>303 ハァ???
なんでそんなリソースでJavaなんか使ってんの?
305 :
まだまだ素人で :02/03/13 02:00
Javaの環境設定を教えてください。 パソコンを1台を渡させてそこからJavaを使ってホームページを作れと言われたら、 どのようにしていけばいいのか調べても理解が出来ないのですが、教えてください。
>>304 組み込みなの。
動的にメモリ確保してるといつ爆発するかわからないの。
オレも泣きそうなの。
>>305 あんたの発言が理解できない。
ホームページが作りたいなら、サーバにhtmlテキストでもアップしときなさい。
Javaは窓から投げ捨てろ。
>>305 JDKをインストロールしる。
googleでJDK検索しる。
>>306 あー、組み込みでJava…じゃあ仕方ない?
<実行時メモリ使用量の最小化だけを目的としたコーディングとは?>
1.newしない。
2.クラスは1こ、メソッドは全部そこでstaticで宣言する。
3.変数は可能な限り全部staticなプリミティブ値にする。Javaの1ワードを使い切る
目的で、型は可能な限り全部int。16ビットのビットフラグとして用いても良し。
4.文字列は仕方ないのでchar[]。
5.シンボルテーブルを節約するため、全てのシンボルは可能な限り短い名前にする。
…そんなルールで書いたソースは、今更書きたくないし、読みたくない。
つうか、Javaでやりたくない。
あ、intは32だったな。スマソ。
311 :
デフォルトの名無しさん :02/03/13 02:20
>>309 指針示してくれてありがとうなの。
すでに文字列はbyteでやってるの。
Stringは永遠に封印なの。
つーか、1.と2.は冗談ぬきで今考慮中なの・・・
>>311 byteはメモリに無駄が出るかもよ。確か普通のJVMは全ての変数にint分の
サイズを割り当てるはずだから。(普通じゃないVM使ってるのかな?)
変数はintで切っといて、1バイトづつ区切って4バイト分をココに書いて
おくと、実行時に文字列関連の使用メモリを1/4にできるかも(藁
あと、Stringが使っているintern()みたいな機構(Flyweightパターン)
は、文字列を沢山使ってるなら役に立つかも。
>>312 >変数はintで切っといて、1バイトづつ区切って4バイト分をココに書いて
目からうろこ。思わず素に戻っちゃったよ。
ちょっと検証してみる。
314 :
デフォルトの名無しさん :02/03/13 03:06
newしたらdisposeする。 ・・JAVAか?(笑
>>314 ・・・それでもJAVAですの。
こまめにnullを代入してますの。
>292 何カ所かservlet使わせてくれる無料HPなかったけ? うろ覚えだけど。
317 :
デフォルトの名無しさん :02/03/13 11:17
javav1.5ではテンプレート機能を、なんという、 ニックネームでよんでいるのでしょうか? 雑誌で、v1.5からテンプレート機能が使えるようになると 書いてあったのですが、その記事の中で、v1.3やv1.4 でも既に使えるようになっている、とも書いてありました。 是非、使ってみたいと思っています。 一応、javaの本家で探してみたのですが、”テンプレート”で 検索してもあたりませんでした(template)。javav1.5では テンプレート機能を、なんという、ニックネームでよんでいるのでしょうか? 詳しい方々教えてください。 お願いいたします。
javav って何よ?
ごめん。java v1.5 っていう意味か。 で、1.5 って何よ?
JDK1.5?
322 :
デフォルトの名無しさん :02/03/13 11:53
317です。 321さん、これです!! 速攻れす、ありがとうございます。思い出せなくて困っていました。たすかりました。 318,319,320さん、JDK1.5のことでした、分かりづらくてごめんなさい。
323 :
デフォルトの名無しさん :02/03/13 18:42
>>314 disposeってさ、なんかしんないけど
すぐにdisposeされないんだよね
なんでだろう。GCが管理してるんでしょうか
オブジェクトが破棄される(dispose)ときに
そのクラスにfinalizeメソッド(スペル自信ない)があれば
そのfinalizeブロック内の処理が実行されますよね?
でも、disposeされたタイミングですぐにfinalizeブロックの
処理が行われていないようなんです
System.out.println("破棄されました");などの文を
finalizeブロック内に置いて確認したけど
時間的にかなりの間が開いて実行されます
ひどいときはfinalizeブロック内の処理が行われないまま
アプリが正常終了するときもあります
JDK1.3.1です
324 :
デフォルトの名無しさん :02/03/13 19:17
サンは日本が大好きです。 特にMETALの日本語環境を見てると意気込みが良くわかります。 参考資料 >オブジェクト直列化は、コア Java の入出力クラスを、オブジェクトをサポートするよう >に拡張するものです。オブジェクト直列化は、オブジェクトとそこから参照されている >オブジェクトを、バイトストリームにコード化します。 そして、そのストリームからオブ >ジェクトグラフの完全な復元を行います。 >直列化は、簡易な持続性の実現や、ソケットや Remote Method Invocation (RMI) に >よる通信のために使用されます。オブジェクトのデフォルトのコード化では、private >と transient のデータが保護され、クラスの展開がサポートされます。 >クラスは、独自のコード化を実装することができるため、外部フォーマットについては >単独で責任を持ちます。
325 :
デフォルトの名無しさん :02/03/13 20:33
326 :
デフォルトの名無しさん :02/03/13 20:37
誰かクラックしてくれ
どうせならRemote Method Invocationも訳してほしかったね。
328 :
デフォルトの名無しさん :02/03/13 20:52
>>323 えーとあれだ。GCが管理してる で正解。
具体的には参照を切り離してるだけ。
いつでも開放してもいいよ っていうのを
VMに教えてるだけですよ。
329 :
デフォルトの名無しさん :02/03/13 21:16
掲示板を作りたいんだけど、 次の10件、前の10件の作り方がよくわからないよー。 セッションを作成して、URLリライティングを 次、前の10件につけて飛ばして、条件分岐すれば、 との俺の考えなのですが、そのやりかたがよくわかりません。 また、他のやり方があるならばよろしくお願いいたします。
このスレうざい
>>329 サーブレットだよね
普通にサーバ側に「ここからここまでよこせ」っていうのを
送りつければいいんじゃないの?
>>324 だから、FontUIResource差し替えろよ。ディザがでるのはデフォルトだからだよ。
JavaでGUIを仕事でやっていて、今日初めてContainer#invalidate()の 使い道を知った…これ、使うと使わんとでは、GUIの印象が違いすぎる… Swingも全然遅くないじゃん… みんなは、知ってた?
>>334 API見たけどなんに使うのかようわからんかった。。
そんなにスゴイの?
336 :
デフォルトの名無しさん :02/03/14 02:22
>>335 GUIのコンポーネントって、普通は各種プロパティを変更すると、もしVisible
な状態ならすぐ再描画が走っちゃうじゃん。この処理が画面上で繰り返し起こる
ととても見苦しいし、遅くなる。
ところが、コンポーネント群のルートになるContainerのinvalidate()を
事前に呼んででおくと、その後そのContainerのvalidate()を呼ぶまで画面
上のContainerの責任範囲の再描画が遅延されるのよ。
普通にやると、setText()だのsetEnabled()だのをコールする度に、それぞれの
コンポーネントで再描画してしまうところが、ルートコンテナのinvalidate()を
よんでおいて、その後子コンポーネントのプロパティ変更を全部してしまって、
それからルートコンテナでvalidate()呼ぶと、validate()呼んだときに一回だけ
再描画するだけになるから、格段に速くなるし動作も綺麗になるよ。
って、こういう文章だけで分かるかな?
試してみたいなら、例えばこんな事をしてみそ。 ダイアログにいろいろコンポーネントがはってある状態で、なにかのイベント で一瞬にして全てをdisableにしたい、なんてことは良くあるよね? このとき、事前に何もせずにコンポーネント一個ずつにsetEnabled(false) していくと、とても遅くて、途中が間抜けな事態になる。 ここで、全てのコンポーネントのルートなるコンテナ(いちばん簡単なのは ダイアログのContentPaneだろうね)のinvalidate()を事前に呼んでおいて、 setEnabled(false)の処理を全部終えた後で、ルートコンテナのvalidate() を呼んでみよう。 …多分感動するよ。俺は感動した。目からウロコ状態。
338 :
デフォルトの名無しさん :02/03/14 02:47
JScrollPaneについて質問です。 あるイベントに呼応して見える部分を変えるにはどうしたらよいのですか? ScrollPaneだとsetScrollPositionというメソッドがあって、これを 使うのだと思うのですが・・・。 ちなみにスクロールバーはNEVERです。
339 :
デフォルトの名無しさん :02/03/14 02:48
>>338 スクロールバーが縦横NEVERのScrollPaneになんの意味があるのだ?
>339 サンダーフォースか タイムパイロットでも作るんだろ
341 :
デフォルトの名無しさん :02/03/14 03:32
>>339 スクロールバーではなく別のイベントで、見える部分を変化させたいんです。
ですから、確かにScrollPaneの意味は無いかもしれませんね。
342 :
デフォルトの名無しさん :02/03/14 03:49
>>337 AutoRedraw OFFを始めて知った感動みたいなもんか(おい
343 :
デフォルトの名無しさん :02/03/14 06:11
>>336 説明にあるような実験やってみたけどあんまり効果がわからないです
>このとき、事前に何もせずにコンポーネント一個ずつにsetEnabled(false)
>していくと、とても遅くて、途中が間抜けな事態になる。
っていうのは1個づつ変わっていくのが目にみえるぐらい遅いということなのかなあ・・・
いってることはわかる。invalidateで再描画を強制的にロックして
validateで再描画・・・
バックグラウンドで別のスレッドが走っているなら
効果あるのかな?ちなみに差し支えなければ効果の見られるソース
教えてください
JInternalFrame のリサイズで、メニューバーを避けて縦方向だけ 最大化したり、他の JInternalFrame を避けて最大化したりする 方法を教えてくださいませ。
345 :
338=341 :02/03/14 10:59
ちょっと!誰か早く教えて下さい! 誰もわからないわけじゃないでしょ??
>>345 あーあ、言っちゃった。
善意で教えてもらってるところに「早く」は禁句だよ。
あんたの都合押し付けられてもねぇ。。。。
撤回します。すみませんでした。 早くなくてもいいので、どなたか教えていただけると 大変助かります。よろしくお願い致します。
い・や・だ・ぴょ~ん
自分で調べろ
>>347 >>38 じゃダメなのか?
あと、スクロールしなくていいなら
JTabbedPane とか CardLayout 使う事を
考えたほうが良いのでは? とかいってみるテスト。
351 :
デフォルトの名無しさん :02/03/14 20:39
質問というか。 Javaって割と簡単であるとか初心者にも向いているといわれま すが、実際はどうなのでしょうか? Javaの文法自体はすんなりすぐに覚えられたのですが、 クラスの山との果てしない格闘は続くばかりです。 個人的には何とかなってますけども、これが万人に向けてやさ しいと言えましょうかねえ? 気持ち悪い仕様もあるような気がするし。 Swingでアプリ書ける人って(JDKで)、 どうなんです?意外に思ったより少なそうな気がするのですが。 どうなんでしょう。
352 :
デフォルトの名無しさん :02/03/14 20:45
>>351 どうだろ。
その気になれば誰でも書けると思うけど
それはプログラマなら当然(というか出来ない人はいない)で、
問題なのはやりたがる人がいないということ。
で、反面 企業はじゃばじゃば言ってるから
Javaができる人は 当分の間は くいっぱぐれない と思う。
>>351 どこで初心者向きとか言われてるわけ?
どうせ初心者本の帯とかに書いてあったんでしょ?
Javaで商売してる人が山ほどいるんだからそんなすぐマスター
出来たら商売あがったりだっつーのw。
簡単で初心者向けといえばPerlじゃないの?
>>352 どういうわけで、やりたがる人がいないのでしょうか。
業界外の人間なので分からないのですが、教えていただけますか?
355 :
デフォルトの名無しさん :02/03/14 21:28
なんかよくわからないが世間的に とりあえずJAVAやっとけ、みたいな空気がありますよね。 (とりあえずCだ、みたいに) で、やさしいJAVAみたいな本も沢山ある。 そういう本は大抵、文法の(場合によっては通り一辺の)説明しかして いないわけですが。 文法は全然楽勝で理解できても、その後こそ面倒だと思うのですが。 もしかして世間では挫折者だらけなんだろうか? ともかくJAVAが初心者向けなんて嘘だとは思います。
>>355 それは今もっともソフト業界で使われている言語がJAVAだから。
JAVAが出来れば生活に困らない。
やさしいJAVA←売れそうだよな。このタイトルw
そんな売り文句をまともに受けるなよ(藁
世間は挫折者だらけだぞ。初心者向けなわけねえだろ。
中途半端な入門書が世の中にたくさん出回っているのは Java挫折者を大量生産させて自身の地位を安定させようという 現役Javaプログラマの巧妙な罠だと考えている。 オレは マジでJavaは初心者向けだと思ってるけど そこらで売ってる本で勉強してたんじゃ 初心者は永遠にアプレットどまりだよ。
358 :
デフォルトの名無しさん :02/03/14 21:43
>>357 初心者向けって言っても、
「コマンドラインで文字遊び」
のレベルならね。
その後が簡単とは思えない。
そんなん、どの言語だって初心者向けじゃん
>>351 >>クラスの山との果てしない格闘は続くばかりです。
まともなアプリを書こうと思ったらいずれ
API,ライブラリ,アクティブナントカ,システムコール等々の山々と格闘することになる。
Javaはまだ整理されているほうだよ。
361 :
デフォルトの名無しさん :02/03/14 21:59
あの難解な論理型言語のPrologだって、 「初心者向け」の説明は実にやさしい。 ・・というかこの上なくやさしい。 おそるべし「初心者向け」(笑
おまえらアセンブラは書けるの?
>>362 Z80とかH8なら書ける
でもx86のはやったこと無いから勉強期間1週間ほしいかな
ってJavaのスレで何聞いてるのさ
どなたか、JAD(逆コンパイラ)のサイトの移転先を知りませんか?
>>363 凄いね。
俺もプログラム組んでる身としてどうにか
アセンブラを書けるようになりたいよ。
344です。 なんか、雑談が始まっちゃってますが、どなたもご存知ないのでしょうか? 345ではないけど、レスがないとガイシュツ過ぎて無視されてるのか判断 しかねます。(質問スレでは仕方ないのかもしれませんが。)
368 :
デフォルトの名無しさん :02/03/15 00:07
オライリーの「ワニ本」と「トラ本」。 1.4が登場しつつある今でも、問題なくおすすめですか?
369 :
デフォルトの名無しさん :02/03/15 00:09
>>367 そんなレイアウトマネージャはないので、自作しろ。
test
371 :
デフォルトの名無しさん :02/03/15 00:11
>>368 Java2以降は、ライブラリの改定、追加(拡張だったのをコアにいれたり
とか)とバグフィックス・性能改善でバージョンが進んでいるだけなので、
大丈夫でしょ。
Swingじっくり勉強するための本教えろ
373 :
デフォルトの名無しさん :02/03/15 00:23
374 :
デフォルトの名無しさん :02/03/15 00:35
RMIって、みんなあんまり使わないの? Registryをプログラム内部でnew出来るようになったし、 ソケット生で使うよりずっと楽が出来ると思うんだが、 みんななんで使わないんでしょうか? バグとかそういう心配は、プログラマが自前でソケット 周り作るのに比べればずっと安全だと思うんだが…
375 :
デフォルトの名無しさん :02/03/15 00:44
>>374 JAVAにもつばつけてSwingアプリを作って見てる人です。
RMIってきちんと動作すると言う点では大丈夫ですか?
つまりバグが埋まっていないかとか、機能的に整備されてい
るのか、と言うような事ですが。
使ってみてどうですか?
確かに便利そうではあるので。
376 :
デフォルトの名無しさん :02/03/15 00:51
>>375 極言すれば、Socketの上でオブジェクトシリアライズ/デシリアライズ
の機構を隠蔽してるだけじゃないか?
RMIを疑わしいと思うようなら、そもそもJavaを使うべきじゃないと
思うよ。
ブロッキングI/OのSocket+監視用スレッドで危なっかしい同期処理を
自前で実装するよりは、カナーリ安全だと思うぞ。其の辺を全てラン
タイムの内でやってくれているわけだし。
377 :
デフォルトの名無しさん :02/03/15 01:03
378 :
デフォルトの名無しさん :02/03/15 01:06
>>377 なんでですかね。日本のJavaプログラマが、みんなServletしか
書けない似非技術者ばかりだから?馬鹿Sヨドモが、そもそもその
存在を理解していないから?
379 :
デフォルトの名無しさん :02/03/15 01:07
>>376 ありがとうです。
JAVAはつばをつけたくらいなので、詳しくないんです。
身近にJAVAのバグで苦労した人がいるので、つかえるのか
一応聞いてみただけです。
ので、使ってみた人の感想を聞いてみた買ったのです。
ある程度動けば、面倒なCORBAとか自前よりはずっと良いだろう
ことくらいは解りますので。
パフォーマンス的にも問題ないですか?
380 :
デフォルトの名無しさん :02/03/15 01:15
>>379 一度サーバオブジェクトの参照が取得できれば、後は単なるTCPソケット
通信だから、まあ、そんな感じ。
381 :
デフォルトの名無しさん :02/03/15 01:59
みなさん1.4ってどうですか? なんかベータのまま出荷されたらしいですが、どうです? 機能的にはなかなか萌えますけど。 Swingが軽くなってると嬉しいんですが。
382 :
デフォルトの名無しさん :02/03/15 02:02
>>381 MetalLookAndFeelのJOptionPane.showInternalXXXDialogが
色付になってかっこよくなってた。ちょっと嬉しかった。
あと、JScrollBarがマウスのホイールに反応するようになってるし。
generics(でいいんだっけ?)はいつ追加されますか? 個人的にコンテナを使うときにobjectからダウンキャストするのは 気持ち悪いです
>>384 コアにバンドルはJDK1.5からの予定。
>>385 ありがとう。
C++のテンプレートほど難解にならないことを祈りつつ待ちます。
某関数型言語のように 多相型などがあれば美しく解決できるんですけどね・・
>>350 ありがとうございました。
質問ですが、scrollRectToVisible()を使うときはJScrollPaneは必要無いんですか??
これまでは、JScrollPaneの中にJComponentがあったんですが
myComponent.scrollRectToVisible(rect)みたいに使うんですよね?
JComponentからどうやって指定した範囲をrectで取得するんですか?
私が今やろうとしているのは、別のJScrollPane(これはバーがある)の
バーの動きに呼応して自動的にスクロールするというものです。
volatileImageはゲームと動画以外にどんな使い道ありますか?
>>389 だったら JViewport 使えば?
どっちにしろ myComponent の親が JScrollPane とか
JViewport とかじゃないと scrollRectToVisible は
無視されるだけなんですけど。
JDKのJComponentのscrollRectToVisible と
JViewportのscrollRectToVisible みてみれば?
>>JComponentからどうやって指定した範囲をrectで取得するんですか?
悪いが意味がわからん。
>>389 >>JComponentからどうやって指定した範囲をrectで取得するんですか?
自分で算出しろよ。JScrollPane側で表示されているComponentのrectを
とってくればいいんじゃないのか?
393 :
静かな日々の階段を :02/03/15 11:21
だめだぁセンスねぇ・・・力を貸してください TOMCATサーバにあるDBをJDBCで見に行きたいのですが サパーリわかりません。 ローカルのjavaプログラム動かして見に行く事ってできますか? とりあえず、 実践JDBC(そのまま使えるサンプルコード100選)って本でのってるのを そのまま打って(url,user,passwordは変更しましたが) 実行したのですが更新どころか接続すらできません… どっかにデータベース&ソースのセットでサンプルないですか?
tomcatのあるサーバのDB(なんか知らんが)には JDBCのサンプルついてないのか? JDBCのサンプルなんぞどこにでも 落ちてるようなきもするけど。 センスとかの問題っつーより やる気が無いとかそっちの問題と思われ。
395 :
デフォルトの名無しさん :02/03/15 11:36
匿名クラスと内部クラスについて書かれた資料等あります? アクセス制御がどう働くのかさっぱりわかりません。
>>390 >volatileImageはゲームと動画以外にどんな使い道ありますか?
では自動車はドライブと運搬以外にどんな使い道がありますか?
397 :
デフォルトの名無しさん :02/03/15 11:52
>>389 です。
だめだ。完全に混乱してきた・・・。
なんか基本的な事を間違えているような気がする。
JScrollPaneの中にmyComponentが入っています。
MyComponentはJComponentをextendしています。ここまでは
いいのでしょうか?そもそもこれが変??
でその後jsp.scrollRectToVisibleなんですが、これも変?
myComponentのある範囲を指定してそれをrectとして放り込む
のでは、と思ってるのですが・・・。
>>394 ついてないんですよ。それがまた。
だもんで、本のサンプルを打ってみたんです。
動いてるサンプルがあれば一番なんですけどね…
やる気無いわけじゃないけど、だいぶピヨピヨってなっているのは確かです。
何がわからないのかが明確にわかるように
初めから調べなおしてみます…
MyComponent.scrollRectToVisible は親(コンテナ)を辿っていって JViewport 等があれば それの scrollRectToVisible を呼び出す。 JViewport は scrollRectToVisible を呼ばれると MyComponent の 指定された位置を表示する。 で、JScrollPaneは 内部でJViewportを使用している。 ところで、 >>JComponentからどうやって指定した範囲をrectで取得するんですか? の説明は無いのね。
400 :
デフォルトの名無しさん :02/03/15 14:35
匿名クラスと内部クラスについて書かれた資料等あります? アクセス制御がどう働くのかさっぱりわかりません。
そこいらの本に載っていると思うが。
アクセス制御はみたまんま働くとおもわれるが
質問の意図がサパーリわかりません。
>398 Java初心者で、こちらでよくお世話になっている者です。 私も398さんと同じ本を購入して、Webアプリを作っています。 あの本はOracleとAccessが実例だったと思いますが、 tomcatにあるサーバーのDBって、何のことでしょう? 私は、 Windows2000 + Access2000 + ODBC + JDBC + Servlet + JSP で作っています。もしかしたらご協力できるかも(w
405 :
John ◆0z.4Is5E :02/03/15 14:56
406 :
静かな日々の階段を :02/03/15 16:18
>>404 ありがとう!現在さらに頭ピヨピヨです。
DBはpostgreSQL、それがtomcatサーバにおいてある。
そして、それにアクセスして表示(最終的には更新)するページを作成したいのです。
しかし、方法がわからないのでとりあえず
本に載ってるサンプルを作り、動いてるのを確認してから
サーバ名、パス、テーブル要素などの記述を改良していこうと考えたわけです。
まず、サンプル1-1なのですが、
これを成功させるために必要なものってなんですか?
そしてどこに配置すればよいのでしょうか?
第一に、ひょっとしてこれってローカルでのDBへのアクセスプログラムなのでしょうか?
質問ばかりで申し訳ないのですが宜しくお願い致します。
質問の意味がわからないかもしれませんので
なにか足りない情報がありましたらご教授ください。
PostgreSQLだったらサンプルついてたような… ついて無い、ってのは削除されたのかな?
私PostgreSQLは全く使ったことがないので、ごく基本的な
ところのみでよいでしょうか?
また、TomcatサーバーがWindows系でなければ、私は
全くの役立たずなので、他の方のフォローを期待して下さい。
通常DBと接続するためには、WindowsだとODBCにDBを登録して
やらなければいけません。登録後に、JDBCにODBCで設定した
ものを設定する必要があります。
ちなみにODBCの登録の方法は、コントロールパネル→ODBCを
起動して、あとはユーザーDSNとかシステムDSN(どちらでも
よかったような?)に登録してやります。この時に、PostgreSQL
用のドライバを指定してやる必要があると思われます。
ODBC→JDBC→Servletで扱えるようになる、というわけです。
UNIX系の場合は、408さんご指摘の
http://www.postgresql.jp/document/pg653doc/j/programmer/jdbc.htm に書いてあるようです。これはPostgreSQL用のJDBCドライバをいきなり作って
いるようです。
以上の作業は、必ずPostgreSQLが入っているPCで行って下さい。
(間違えていたらびしばし修正して下さいです)
ここまでできると、ようやくjavaで書くことができるように なります。 例の本のサンプル1-1は、ODBCなどの設定でDBが入っている PCを覗くことができる場合のサンプルです。PCはローカルとは 限らないような・・・この辺の設定方法はデータベーススレッド で聞かれたらいかがでしょう。 何も役に立てなくて申し訳ないです・・・
あ、 409と410って矛盾していますね・・・ 私のところのように規模が小さい場合は、サーバーと DBが同じPCですが、他では分かれていることが多いん でした。静かな~さんが悩んでおられるのは、JDBC (Windows系ならODBC)の設定の部分でしたね。 うーん、やはりデータベーススレッドかPostgreSQL のスレッド(UNIX板にあったような)に行かれたら よいかもしれません。 すみません逝ってきます・・・・・
>>404 さん
とんでもないです!ありがとうございます!
ほんとに助かります。
同じく408さんもありがとうです。
そっか、行う前にいろいろ設定しなくちゃいけないのですね。
読ませて頂いて私が定義不足だったところを書きますね。
サーバはunixで、データベースもそこにあります。
で、自分のHPの一ページとしてJAVAorサーブレットorJSPで読みに行って
表示したい。ということでした。(現時点ではそのHPも同じサーバです)
説明不足でごめんなさい。
いろいろいじってみます。報告できそうな事になりましたら
フィードバックいたします。ありがとうございました。
413 :
デフォルトの名無しさん :02/03/15 19:14
継承を勉強してると頭の中がパニック状態になってしまった。 そこで質問なんですが、 オブジェクト変数の型(実際のオブジェクトの型でなく)を Objectにしておくと、オブジェクトの代入の時に、 気を使う必要がなくなるような気がするのですが、 それだと困る事ってありますか?
つかってる型がぜーんぶ Object型のソースなんて よめるか?
416 :
デフォルトの名無しさん :02/03/15 20:44
>>413 変数の型をObjecto一種類しか使わないとすると
コンパイルエラーが減る変わりに実行時エラーが増える。
さてどっちがいいでしょう?みたいな。
Smalltalkみたいに変数の型はObjectのみの
オブジェクト指向言語もあるけどね。
417 :
デフォルトの名無しさん :02/03/15 20:59
>>413 JAVAでは、Object型の変数からは、Objectクラスにあるメソッド
しか起動できない。
それでは独自のクラスを作る意味が殆どないでしょう。
>>412 まずは接続できないときのStackTraceをちゃんと見ることだな。
>>374 RMI は J2EE で使われてるし、誰も使ってないということはないでしょう。
Socket のほうが親しみやすいから使う人が多いということはあるかも。
420 :
デフォルトの名無しさん :02/03/16 00:32
>>397 です。
>>399 さん、ありがとうございます。
>ところで、
>>>JComponentからどうやって指定した範囲をrectで取得するんですか?
>の説明は無いのね。
すみません。説明するの忘れていました。
scrollRectToVisibleの中にはRectangleを放り込むわけですよね?
で、そのrectは、myComponentの表示したい部分をrectとするのだと
思うのですが、そのやり方がわからないんです。
>>392 さんは自分で
算出しろとのことですが、算出して、それを実際にとりだすメソッドが
わからないんです。どうかご教授お願いします。
>>420 取り出す?どこからよ?
相対的なビュー位置を、スクロールバーの現在位置を使って自力で算出して、
自分でRectangleをnewしろよ。
422 :
420です :02/03/16 01:15
>>421 ということは
myComponent.scrollRectToVisible(new Rectangle(a,b,c,d))
のような感じでいいのでしょうか?これは一番最初に私がやったこと
なんですが、全く動作しませんでした。myComponentのコンテナは
JScrollPaneです。
423 :
デフォルトの名無しさん :02/03/16 04:15
オリジナルのルックアンドフィールって個人で開発 している人いますか? あるいは、作って公開している人とか・・・ WinXPのスキンでさえあんなに盛り上がっているんだから Javaのスキン(ココではルックだが)があってもおかしくないんですが・・
テキストエリアにファイルの内容を表示した後、テキストエリア内 の変更を監視したいのですが。 PlainDocument doc = new PlainDocument( ); doc.addDocumentListener( new MyDocumentListener( ) ); JTextArea textArea = new JTextArea( doc ); textArea.read( bufReader, doc ); class MyDocumentListener implements DocumentListener { changedUpdate,insertUpdate,removeUpdateの実装 } としてもイベントをキャッチしません。 何か、全然とんちんかんなことをしてる気がしますが、API読んでも いまいち分からないので、どなたか御教授お願いします。
textArea.read( bufReader, doc ); の第二引数で Document のインスタンス渡すのであってるのか?
そーゆーときは JDK付属のソース読め。 javax.swing.text.JTextComponentのreadの実装を以下に示す。 public void read(Reader in, Object desc) throws IOException { EditorKit kit = getUI().getEditorKit(this); Document doc = kit.createDefaultDocument(); if (desc != null) { doc.putProperty(Document.StreamDescriptionProperty, desc); } try { kit.read(in, doc, 0); setDocument(doc); //今までのDocument(コンストラクタで渡したPlainDocument)は //getUI().getEditorKit(this).createDefaultDocument()に置き換えられる。 } catch (BadLocationException e) { throw new IOException(e.getMessage()); } } とゆーわけ。
429 :
デフォルトの名無しさん :02/03/16 14:04
doc.addDocumentListener(this);//にしておいて public void changedUpdate(DocumentEvent e) { //処理内容 } //でいいんじゃない? //どんな意図があるのかわかんないけど //クラス作る必要ないと思います //thisはもちろんimplementsしたクラスね //まあ、大抵JFrameぐらいだと思うけど
JFrameにDocumentEvent回すって… それはそれでタコな実装のような気もする。 classファイル数を削りたいなら有効かも。
>>430 それはわかっている
でも、426の書き方見てると
イベント受けるためにクラス作っているようなもんだから
無駄だと思っただけ
言われてみれば
class myTextArea extends JTextArea implements DocumentListener
{
myTextArea()
{
//
add.DocumentListener(this);
}
public void changedUpdate(DocumentEvent e)
{
//
}
//
//
}
とやるのが普通かな
特別な理由が無いのなら、インナークラスの方がスッキリしてて良くない?
426です。 素早いレスありがとうございます。 しかしまだよく分かってないのですが、、、 >428 リスナをセットした PlainDocument を置き換えられないため には read メソッドをオーバーライドしなくてはならないのでし ょうか?
434 :
デフォルトの名無しさん :02/03/16 14:40
>>430 ただね、他のクラスと頻繁にメンバの値をやり取りする場合
全部、包括してしまった方がいいときもある
>>426 の話ではその可能性もある
435 :
デフォルトの名無しさん :02/03/16 14:45
インナークラスって、内部クラス?匿名クラス? まあこの辺は好き好きだよ おれは、インデントしてどんどんソースが右に寄っていくので 使わないようにしてる・・・
>>433 >read メソッドをオーバーライドしなくてはならないのでしょうか?
それも解決法のひとつであることには違いないが、
「しなくてはならない」って聞かれたら「No」と答えるね。
まぁ人の好き好きだけど、俺の近くで class myTextArea extends JTextArea implements DocumentListener って やりたがる人はゴチャゴチャした ソースを大量生産してくれます。
438 :
デフォルトの名無しさん :02/03/16 17:45
抽象クラスについて質問です。 Personという抽象クラスを作って EmployeeとStudentというクラスがPersonを継承します。 EmployeeとStudentでgetDescription()メソッドを定義します。 このgetDescription()メソッドはPersonクラスで抽象メソッドとして 定義はされていません。 このとき、 Person p = new Employee(…) p.getDescription() としても、getDescription()メソッドは呼び出せないらしいんです。 自分が考えるには、動的バインディングが働いて、呼び出せる気がする のですが…。 これは、抽象クラスにのみ起こる例外なんですか? それとも私の動的バインディングの理解が間違っているのでしょうか? ちなみに、上の例は、コアJAVAのP222に書いてあります。 質問内容がわかりにくかったら、そこを見てもらえると、うれしいです。
>>438 まあ、気長に勉強を続けなよ。その内だんだん分かってくるから。
440 :
デフォルトの名無しさん :02/03/16 18:07
>>438 >p.getDescription()
>としても、getDescription()メソッドは呼び出せないらしいんです
呼び出せない、ではなくて、コンパイルエラーになる。
コンパイル時にこういった間違いを発見できることはメリット。
>>438 質問に答えるから、コアJAVAくれ。
動的バインディングっつーのは 実行時の話です。
438の話は 「Person型」に定義されていないメソッドを
しようとするためコンパイラがエラー返します。
ちなみにインターフェイスに定義されていないメソッドで
例外的に呼ぶことのできるのは Object で定義されたメソッドのみです。
例えば
interface A{ }
class implA implements A{
public String toString(){ reutrn "implA"; }
public static final void main( String[] args ){
A a = new implA();
System.out.println( a.toString() );
}
}
某MLで昔話題になってた奴ね。
442 :
デフォルトの名無しさん :02/03/16 18:27
>>441 ありがとうございました。
よくわかりました。
でも、コアJAVAはあげられません。ごめんなさい。
>>442 おいおい、俺の持ってるコアJavaはP222には
SQLの話が載ってるぜ。
ちなみに、俺のコアJavaはvol.2応用編だが・・・
コアJavaって何種類ぐらいあるのよ?
俺の知ってる限りでは
「基礎編」(黄色のカバー)「Swing編」(緑)「応用編」(赤)ぐらいだ
多分
>>438 の言ってるのは「基礎編」だと思う
それ以外だったら、コアJavaでなくてレアJavaだな
なぬ。 Swing編なんてあるのか? しらんかった
>>444 うん、ココ一年以内の話だけど
確かに本屋で見て
どっち買うか迷ったのを覚えています
基礎編も内容的にはかなりいいものだったんで
悩みました。傍から見てると「あいつなに本の重さ比べてるんだ?」みたいなw
でも、検索したら緑のやつはなくなっていて
新たに紫カバーのコアJavaが出てるみたいだな
446 :
デフォルトの名無しさん :02/03/16 23:41
だれでも結構なのでよろしくお願いします。 当方、現在Javaをつかってブラウザのアプリケーションを作ろうとしてます。 htmlのドキュメントそのものを表示する事はできるのですが、タグをきちんと読んで表示する(たとえば<b>とうつと太字になるとかテキストの打ちこむスペースがきちんと表示されるとか)のはちょっとわかりません。 どうすればいいのでしょうか。 また、クッキーを有効にするのはどのようにすれば良いのでしょうか。 できればi-アプリで作りたいので上記の機能を出来るだけ簡単にやりたいのですが、どなたか分かる方はいらっしゃいますか? よろしくお願いします。m(_ _)m
447 :
デフォルトの名無しさん :02/03/16 23:46
>>446 1)
どうしてもやりたいのなら自分でブラウザを作るしかないでしょう。
ふつうはアプレット使いますが。
また、i-アプリはブラウザではないです。
2)
i-アプリではクッキーは使えませんです。(docomo以外は知らないが)
448 :
デフォルトの名無しさん :02/03/16 23:58
>>446 >現在Javaをつかってブラウザのアプリケーションを作ろうとしてます。
これの意味が「ブラウザ」作りたいってコト?
まあいいや、
JEditorPaneを使えばいいと思う
ただ、このあたりって奥が深いので
難しいです
HotJavaはどーなった?(古っ) たぶん iアプリ用簡易ブラウザ作りたいんだと思うけど… iアプリも ブラウザもやったこと無いからわかんないや。 でも個人的には iアプリの制限のきつさじゃ ブラウザ実装できても、起動はできるけど HTML読み込むだけの空きメモリ無いとかってな オチになるかもね。
一応、既に半パケとという実装例があるから可能っちゃ可能だと思ー >iアプリのブラウザ とりあえず構文解析で検索してみてはどうかな。
>>450 半パケ>あれはサーバ側の仕事だし、iアプリに限らないし
iアプリは実行ファイル(一部リソース含む)たったの10kバイト以下で作らないといけないので
452 :
デフォルトの名無しさん :02/03/17 12:17
>>422 です。
もう一度見直してみましたが、やっぱりわかりません。
myComponent.scrollRectToVisible(new Rectangle(a,b,c,d))の
a,b,c,dはそれぞれ計算して出すintです。それでmyComponentの
(a,b)から幅c高さdの範囲をJScrollPaneに表示しようとしています。
myComponentはJScrollPaneの中に入っています。つまり
JScrollPane scroll = new JScrollPane(myComponent)です。
なにかおかしなことをやっているのでしょうか?APIマニュアル見ても
イマイチわからないので、どなたかご教授お願いします。
453 :
デフォルトの名無しさん :02/03/17 12:18
Exception(String message, Throwable cause) のcauseは何に使うのでしょうか?
>>453 そのExceptionの発生原因の例外を保持する為に使う
>>452 とりあえず上手く動かないソース晒せ。
全てはそれからだ。
>>452 スクロールバーをNEVERじゃなくすると動くかどうかやってみて動くようであれば、
その方法ではできない可能性はありそうだ。
>>455 ソースを見ないと何も出来ない低能は(・∀・)カエレ!
>>457 別にソース見なくてもいーけど。
>>455 のは情報少なすぎ。
それまでのカキコからの追加情報ゼロだし。
>>456 嘘とか偽りを「可能性はありそうだ」とかの
オブラートに包んで発言するのはやめようね。
そうか漏れは嘘偽りを言ってたのか・・。
460 :
デフォルトの名無しさん :02/03/17 16:36
コンストラクタで例外が発生すると起こる弊害はな~んだ?
例外生成時に例外が投げられたらどうなるんだろ・・・
>>463 ふつーに投げられるよ。
昨日試した。というかやられた。
今対処中。 フー
465 :
デフォルトの名無しさん :02/03/17 17:56
>ふつーに投げられるよ。 ふつーと言うのは、 つまり、生成途中だった例外は投げられないと言う事かな?
>>465 catchのなかでさらに 例外を投げる/例外が起こった ときの話だよね?
467 :
デフォルトの名無しさん :02/03/17 19:18
>>466 class TestException{
TestException() throws NewException{
throw new NewException();
}
}
469 :
デフォルトの名無しさん :02/03/17 19:26
>>452 だいぶ時間が空いて話が混乱してきたので
整理したいんですけど
まず、スクロールバーなしのJTextAreaがあって
もうひとつ別の場所にJSclollPane(+JTextArea?)があって
この二つを同期させたいって言うことなのか?
452=469
VisualAge for javaの英語版を落として入れてみました
ただ・・・
JSPって何処に置いて、呼び出すときって
http://127.0.0.1 ・・・(でいいのかな?)のあとなんて入れれば
いいのでしょうか?
どこかに載ってるHPでもああればそのURLでもいいです、教えてください。
>>471 まずはかる~く ネットワークの勉強をすましてこい
ネットワークの勉強ですか、そうですね、それもそうなんですが 置き場所が分からんのだもん・・・・・ WebSphereテスト環境動かして、そんで・・・
>>452 です。みなさんありがとうございます。
>>456 とりあえず、スクロールはNEVERにしていません。
>>469 JScrllPaneが二つあって、片方のスクロールに同期して
もう一方のスクロールが自動的に動く(ただしこの
JScrollPaneのバーは表示したくない)というのが最終目標です。
今はうまくいっていないため、まだスクロールバーはNEVERに
していません。また、Rectangle(a,b,c,d)のa,b,c,dも適当な
値を入れて実験しています。が、うまくいかないんです。(反応ゼロ)
ご教授ください。
>>474 だったら、二つのJScrollPaneのスクロールバーを同じインスタンスにすればいいんでないの?
何か日本語ヘンだ。
>>452 いや、だからJScrollPaneを表示しないんだったら
JViewport
使うべきだと思う(誰かもそういってたでしょ)
そうすれば、Rectangleなんて使わなくても
PointクラスでOKだよ
ちなみに
452==469じゃない
>>475 SwingのUIコンポーネントは、インスタンスを別の画面と共有できないと思うよ。
一つのGUI表示に1ツちゃんとインスタンス割り当てないと、変な動作する。
イベントハンドラ書いて、もう一方に通知して移動させるのが、現実的。
>>475 ありがとうございます。やってみます。
>>477 ありがとうございます。JViewportはAPIマニュアル見たんですが
今ひとつよくわからなかったんです。もう一度読みなおして
試してみます。
ちなみに、中に入るコンポーネントってJTextAreaだったっけ? わからんければソース書いてやるから、ちょっと待ってなさい
JViewportを二分割するのがいちばん簡単そうだな。
>>481 ありがとうございます。中に入っているのは独自のクラス
(JComponentをextendしています)のインスタンスです。
paintを使ってこのコンポーネントに色々描いています。
>>452 具体的なGUIの絵を書いてくれ
やりたいことが何に必要なのか
サパーリなのでイメージ湧かないよ
JViewportを2分割ってどーやるんだ?
>>452 つまり、
JComponent 2個
で、片方だけスクロールバーついてて
それを動かすと、両方動くってコトかい?
ちなみに JComponent の getSize() ってどーゆー値返すね?
488 :
デフォルトの名無しさん :02/03/18 00:44
あれ? JScrollPaneってイベントどうやって受け付けるんだ?>ALL
489 :
デフォルトの名無しさん :02/03/18 00:46
JScrollPaneにイベントある? いや、あるんだろうけどプログラマが 入る余地ある? スライダーならあるけど
イベント受け取ってるのは JScrollPane の private メンバである verticalScrollBar と horizontalScrollBar だろ? JScrollPane は単なるユーティリティクラスだと思ったけど。
>>490 protectedですな。あとpublicのゲッターメソッド有るね。
>>488-489 JScrollPane.ScrollBarにAdjustmentEventListenerが登録できるね。
つうかjavadocの説明ちゃんと嫁。
ん? じゃあ、JScrollPaneを動かしたときに スクロール+他のコトやろうとするのは 無理なのか
なんで?
494 :
デフォルトの名無しさん :02/03/18 01:09
>>452 です。どうもお騒がせしています。
やりたいことをもう一度整理しますと
JScrollPaneが二つあります。scrollAとscrollBです。
scrollAにはJTextFieldが入っています。scrollBには
JComponentをextendしているクラスのインスタンスが入っています。
最終的にはscrollAのスクロールバーの動きに同期させて
scrollBのビュー部分が自動的に動くようにしたいんです。かつ
scrollBのスクロールバーは表示したくありません。
どうかよろしくお願いいたします。
ちなみに、scrollRectToVisible で動かないのは JComponentの継承クラスだよね? JTextAreaは動いてる?
どうでも良いけど、JScrollPaneにJTextField入れるって、何のためだろー?
>>491 いやだから、登録できるのはjava.awt.Scrollbar
なので、
javax.swing.JScrollPane jsp=new javax.swing.JScrollPane(...);
だとして
jsp.addAdjustmentListener(***);
とやることは、できないんだよ
おれ、やりかた間違っていたら指摘してください
ちなみに、javax.swing.JScrollPane とjava.awt.Scrollbar
は継承関係にないんですが・・・
>>494 1.まず、ScrollBの子コンポが、ちゃんとスクロールバーでスクロール
するかを確認。
2.ScrollAのViewportにChangeListener、またはScrollBarにAdjust
mentListerをaddして、イベントハンドラを記述する。
イベントハンドラの中身は、
(1)ScrollAの今の状態を使って、ScrollBの新しく表示するべき位置を
算出。
(2)scrollRectToVisible()、setViewPosition()などを使ってscrollB
のViewportに新しい位置を設定。
それで動かなきゃ要相談。ということで。
>>495 そうです。JComponentの継承クラスです。scrollAの
動きは全く問題無しです。
>>496 ごめんなさい間違えてました。scrollAに入っているのは
これもJComponentの継承クラスです。scrollAの動作は
なんら問題ありません。
>>498 あのさ、JAVADOC嫁よ。メンバに有るだろ。getHogeScrollBar()とかよ。
JScrollPane jsp = new JScrollPane( new JTextArea() ); jsp.getHorizontalScrollBar.addAdjustmentListener( MyComponent ); じゃダメなの?
個人的に思うのは scrollRectToVisible() は JComponentの返すサイズまでしかスクロールできないから、 それで動かない、って事は無いよなぁ さすがに。
>>501 さん
俺が見たのは
>>491 の
「JScrollPane.ScrollBarにAdjustmentEventListenerが登録できるね。
つうかjavadocの説明ちゃんと嫁」
の部分です
で、俺がいっているのは最初から「JScrollPane」の話です
「JScrollbar」ではないです
「JScrollPane」でどうやってイベント受け取るかの話です
みなさんありがとうございます。 ちょっと遡ってやり直していたら大変なことを発見しました。 scrollBの中に入っているmyComponentは、scrollBより大きいのに スクロールバーが表示されません。スクロールバーって、デフォルト だと..AS_NEEDEDですよね??scrollAと同じことをしているのに なにがいけないんでしょう??
>>507 知るか。どうしても知りたきゃソース晒せ。
>>507 JComponentを継承して、GUIコンポを作るな。JPanelを継承しろ。
こんなことで丸4日間悩んでるのか?
>>507 scrollBが、myComponentのサイズを、ビューポート以下だと判断してる
んだろうよ。myComponentにちゃんとサイズ与えてるか?
>>447-451 いろいろ貴重な助言ありがとうございます。
大変助かります。
どーもiアプリでブラウザを作るのは厳しそうですね。
どこかのサイトでJavaで200行程度書けばブラウザが出来るみたいな事を言ってた方がいらっしゃったので上手い手があるのではと思ったのですが、世の中そう簡単にはいかないもんですね。(^^;)
一番やりたいのがユーザー認証がきちんとできる携帯サイトなんですよ。
でたしかBasic認証が使えたとは思うんですが、あれを使うよりじぶんで認証システムを作りたいんです。
でそのためにクッキーを使いたいのでそれならいっそブラウザ実装できないかと思ったのですが。
すいません、説明が下手で。
>>512 200行でかけるのは、SwingのJEditorPaneをFrameに張っただけの奴。
JFCが動く環境じゃないと、無理。
>>512 自分でサーバを建てるなら、iアプリでの認証がきちんとできるブラウザ
は簡単に出来るね。
>>511 だね。
でも JavaでのGUIのサイズ関係の処理は Layoutからむと
処理があっちゃこっちゃ飛びまくって どーなってるのか
良くわからないんで あんまし使いたくないなぁ…
>>512 そうなんですか。
やっぱそう簡単なわけないですよねー
>>514 レンタルなんですよ。(T_T)
でもなんとかしたいというワガママものなので。
>>511 ありがとうございます。その通りでした。
>>518 …つうことは、今までのことは全部そのせいだな…
520 :
デフォルトの名無しさん :02/03/18 05:58
JNDI について日本語で分かりやすく教えてくれる サイト若しくは書籍で、お薦めなのはありますか?
MIDletの話題はどこへ行けばいいのでしょうか? なにかいいスレあれば教えてください。
522 :
デフォルトの名無しさん :02/03/18 16:38
WFCのButtonクラスで、ボタンの色を変えるには どうしたらよいのでしょうか? クラスを派生させて、ボタンの上に自分でボタンの絵を 上書きする位しか思いつかなくて・・・。
523 :
デフォルトの名無しさん :02/03/18 17:38
自分のメソッド名を取得する方法はどうするのです? リフレクションを使おうと思うのですが、うまくいきません。 this.getName()だとクラス名だし。 例・mainメソッドで呼ばれたか、getHogehogeというメソッドで呼ばれたかを知りたいのです。 (可能であれば呼び出し元のクラス名とメソッド名も知りたい)
JEditorPaneを使ってみました。 たしかにとても簡単にブラウザが作れますね。 ありがとうございます。 これはJavaVMがインストールされていればどのPCでも動くものなんでしょうか? これの機能を拡張していってアプリケーションとして配布したいので。 携帯は無理だと思うのでそちらは別途方法を考案しようと思ってますが。
アプレットで、appletviewerでは動くのにブラウザ(IE56.0)ではちゃんと動かない (というか、画像(PNG)が表示されない=ロードされてないっぽい?)って、 どんな理由が考えられますかね。。。?
あああ。IE56.0って何だYO! IE6.0のことです。 逝ってきます…
PNGサポートは jdk1.3からでしょ。 jdk1.1レベル の MicrosoftのJVMがサポートしてるとすれば、 Microsoftが独自拡張してるのを期待するしかないけど。 俺は良く知らん。 jdk1.1レベルで動くPNGのライブラリって無かったっけ?
528 :
デフォルトの名無しさん :02/03/18 20:44
あno,
なんdyesか?
>>527 レス(?)下さってありがとYO!
透過PNGを透過GIFに変えてみたら、ちゃんと表示されました。
でも、IE6.0では普段はちゃんと透過PNGも表示できるし、appletviewerでは
ちゃんと表示されるし、やっぱりうちの現在のMicrosoftのVMがPNGダメってことなんだ。。
では、透過させたければGIFにしなければならない、と?(;´Д`)
531 :
デフォルトの名無しさん :02/03/18 22:21
JAVA2 SDK1.4.0を使っているんですけど J Builder6 パーソナルは使用できないんですか?
532 :
デフォルトの名無しさん :02/03/18 22:39
俺もJBuilder6Personal入れてみたけど、 JDKの設定を1.4に変えてもエラーになるので放置したまま・・・・ 使う方法があったら教えて欲しいです・・・。
>>523 コアAPIオンリーのPureJavaでは、変なやり方をするしかないです。
Exceptionをnewして、そこからスタックトレースを取ってメソッド名を
引っこ抜くというやり方を、Jakartaでもやっているらしいです…
stackTraceを作成しているのはnativeメソッドですし…
CかなんかのプリコンパイラみたいなのをJava用に作るのが、一番楽
だと思うよ。適当なシンボルを与えておいて、後でファイル名と行番
号と、もしregexpかなんかで取れるなら、メソッド名との連結文字列
に、ソースを一度変換する。
Thread#currentThread()で今そこを実行中のスレッドが取れるのと、 ThreadLocal#get()で、スレッドごとにThreadLocalオブジェクト一個当たり オブジェクト参照を一個もてるので、これで何とかするしかないだろうな。 JDK1.4のロギングAPIは、JDKのコアなんだから、例えば Loggger.log("Message"); とかやったら、自動的に行番号とかメソッドとかを一緒に記録してもよさそう なもんだと思うのに(コンパイラがプリコンパイルの真似事すればいいだけ なんだから)、どうやらプログラマが自分で Logger.log("HogeClass","HogeMethod","Message"); と書かなあかんみたいだし…(間違ってたら指摘よろしく。当方英語ダメ。)
535 :
デフォルトの名無しさん :02/03/19 06:38
>>525 予想なのだが・・・
ブラウザでのアプレットだが、
JDK入ってるんだったら
「コントロールパネル」の中に
「Java Plug-in」あるじゃん?
それをダブルクリックして
「詳細」タブのなかのドロップダウンリストから
「Java Plug-inをデフォルトで使用」以外を選んでみればどうでしょう?
あくまで、予想なのだが・・・
536 :
デフォルトの名無しさん :02/03/19 09:23
>>533 ヤパーリ!
これは変なやり方しか実現しようがない…とも思っていたところです。
ありがとうございました。
537 :
523 = 536 = 537 :02/03/19 09:29
> どうやらプログラマが自分で > Logger.log("HogeClass","HogeMethod","Message"); > と書かなあかんみたいだし…(間違ってたら指摘よろしく。当方英語ダメ。) ですよね。ですよね。変ですよねこれ。こうしないといけないなんて。 (コピーして修正したメソッドのエラーメッセージを書き変え忘れて大変な目にあったことも) クラス名は this.getName() でいいのですけど、メソッド名がとれない。
>>535 またまたレスして下さって本当にありがとYOYOYO!
やってみました。『C:\Program Files\JavaSoft\JRE\1.3 の JRE 1.3.0』に。
そうしたら、ちゃんとPNGも表示されました。
ただ、、遊べない人もいたりするとなんか嫌なので、GIFを使うことにします。(^^;
#Microsoftのソフト(Windows98付属)でGIFに変換した場合、ユニシスの
#特許ライセンスがどうとかってことは無いですよね……?
539 :
名無しさん@Emacs :02/03/19 10:36
JEditorPane に setFont( ) でフォントを設定しても ContentType を text/html にすると HTML テキストが Monospace フォントで表示されます。 setFont( ) で指定したフォントで表示させるにはどうし たらよいでしょうか?
教えてください。 フロッピーディスク中のファイルをUNIX環境にコピーするには JAVAでどのようにしたらいいですか?
>>540 Runtime.getRuntime().exec("cp foo bar");
542 :
デフォルトの名無しさん :02/03/20 01:47
人 b (○) /〇ヽ/ < javage javage ヽ|〃 ( し-J
543 :
デフォルトの名無しさん :02/03/20 02:47
>533 なんかお馬鹿というかハッカー的というかステキなことやってますねえ。(褒め言葉) Jakartaでそれやってるのって何のプロジェクトなの?log4j?
>>540 1)DOSV機のフロッピーのデータをLANでサーバーに上げる。
2)UNIX機で取りに行く。
3)UNIX機でセーブ。
Javaってば、文字列処理が結構遅いような気がしますが、 早くするコツってあります? 文字配列にしてしまって、メモリ確保などが起こらないようにしたら はやくなる?
>>545 おまいさん、こんなコード散りばめてないかい?
String str = "";
for(int i=0; i<1024; i++){
str += "0";
}
うわーん。 教えてほしいーよ。
>>543 >なんかお馬鹿というかハッカー的というかステキなことやってますねえ。(褒め言葉)
>Jakartaでそれやってるのって何のプロジェクトなの?log4j?
スタックトレース取得は例外処理だけにしといたほうが身のため。
logでそんなことすると鬼のように遅くなる。
経験済み。
549 :
デフォルトの名無しさん :02/03/20 14:03
あのー、試しにアプレットを作ってみて疑問に思った初学者ですけど... コンポーネントの階層の下の方にボタンがあって、そのボタンを 押すとコンポーネント階層の一番上から下まで書き直す、ってな ことをやってみました。 ボタンのリスナーにアプレット自体のリファレンスを渡して実現は できたんですけど、ボタンがaddされそのボタンのイベントリスナーを 作るに至るまで、各コンポーネントの階層ごとにトップレベルの参照を順繰りに 渡してる、ってのが、なんかわれながら間違った方針でやっているように 思えてなりません。もっとうまい方法はないでしょうか。
550 :
デフォルトの名無しゲットズサー :02/03/20 15:43
お勧めの IDE 教えろや(゚Д゚)ゴルァ!!
551 :
デフォルトの名無しさん :02/03/20 17:14
アプリケーションなんだけど、 while分の中でwaveを再生(AudioClip.play())したら、鳴らないんだけど仕様? メソッドに変数渡して、再生しても鳴らないのはなぜ?
1 実はサウンドカードがささってなかった
553 :
デフォルトの名無しさん :02/03/20 18:19
無限ループWhileだから、処理が鳴る前に飛んでるってことか?
>>552 コンストラクタでplay()したら鳴るYO!
554 :
デフォルトの名無しさん :02/03/20 18:22
>>549 どういったコードを書いているのかわからないんですけれども
その辺がJavaプログラムなんですよね
しょうがないというかなんというか・・・
ただ、クラスの設計方法を変えることによって
参照回数が減るかもしれません
また、定数などは問題なければ
static にするとか・・・
555 :
デフォルトの名無しさん :02/03/20 18:25
>>550 JDKからやっていたのなら
JBuilderがいいかとおもいます
Forteは生成されたソースが編集できない部分があるので
慣れないとつらい
あくまで、個人的な考えですけど
eclipseは?
>>551 当てずっぽうだけど
whileの中にyield()入れてみるとか
別スレッドに分けるとかしてみてもだめ?
558 :
デフォルトの名無しさん :02/03/20 18:45
JavaのSwingコンポねの中に ステータスバーってありますか? ドキュ一応見たんですけど それらしいもの(JStatusBar?)なかったので・・・
コメントありがとうございます。
>>554 作ったものはもう出来ちゃったし、ちゃちなもんで階層も浅いので
まぁ別に困りはしないんですけど、もっと大きなもの作ったとしたら、
同じやり方じゃ変かなぁと思い、もっと良い手があるんではと
思ったのですが。
ふと、Component#getParent()を繰り返し使ったらイケルかも、と
思って試してみたのですが、Applet#getParent()しても、
null以外(かつApplet自体以外)の何かが取得できててしまいました。
(これは何なんだろう??)
自己レスです。 Object#getClass() と Class#getName() というのを発見し、 自前アプレットの親コンポーネントが(すくなくともその名前は)わかりました。 ふーんって感じ。 でも、これでトップレベル(=アプレット)へのリファレンスを、 コンポーネントの階層の底からでも取り出す手段がとりあえず見つかりました。
>>560 荒技
static java.awt.Component javax.swing.SwingUtilities#getRoot(java.awt.Component)
AWTで動くかどうかは、しらん。JApplet使ってれば大丈夫だろう…
>>558 ステータスバーって、なあに?
IEの下に出てる奴?
エディット不可なテキストフィールドか、ラベルかで適当に自作すりゃ
いいじゃん。
>>562 まあ、なければないで自分で作りますが
もしあれば、そっち使おうかなと思ったものですから
564 :
デフォルトの名無しさん :02/03/21 09:02
565 :
名無しサンプリング@48kHz :02/03/21 10:50
java で外部 MIDI 音源を鳴らしたいんですけど。 demo のソースとかからデフォルトのソフトシンセ鳴らす方法は理解できるんですが、 どうやって MIDI メッセージを外部に送り出すかがわかりません。 javax.sound.midi の中にある Transmitter か Receiver とかをどうにかすれば良いのでしょうか? どうも両者の使い方がよく分かりません。あるいは、それ以外の方法をとるんですか?
SUNのデフォルト実装では外部MIDI機器使えなかったと思う。 オープンソースの実装があったと思うからそれを探して使おう。
567 :
デフォルトの名無しさん :02/03/21 14:44
いきなりですけど、JAVAでファイル操作ってできますか? ファイルの移動やコピー、削除とか。 個人的にファイル名を変えるのを作りたいんですけど。
削除 java.io.File の delete() ファイル名変更 java.io.File の renameTo( java.io.File ) 移動、コピーは 5~10行程度のプログラムを組む必要があったような。
569 :
デフォルトの名無しさん :02/03/21 16:54
javaでunix_md5_crypt()の結果を得ることってできないの?
570 :
デフォルトの名無しさん :02/03/21 17:24
>>569 1.JNIでコール。
2.そのプロセスのレスポンスがstdoutなら、Runtime#exec()で
コールしてstdoutのストリームを受け取る、というのもありかと。
thread のプログラムで 例えば、sleep(1000); を用いて1秒毎にある文字列を表示させる時 ときどき、1秒飛ばしてしまったりするのは遅いマシンが原因ですか? ほかに良い方法はありますでしょうか?
>>574 sleep()は、一秒間Threadをwaitして、そのあとrunnable状態になるだけ。
あるThreadがrunnable状態になっても、今まさにCPUを占有して動いている
Threadが何らかの理由でCPUリソースを解放するまでは、動かない。
JVM仕様は、それが何時になるのかは保証していない。あるThreadが物凄く
忙しいなら、永遠に実行件を与えない、というJVM実装も有りうる。
…実際には、今のJVMはnativeスレッドで実装されているので、時分割で
ThreadにCPU実行権を「大体公平に」与えているはずだけど。
sleepから起きた後なるべく速く動き出して欲しいなら、忙しいThreadのほうに
時々Thread#yield()コールをかませとこう。これは、もしrunnableな状態の
Threadが自分以外にあったら、ソイツにCPU実行権を渡しなさい、と言う命令。
576 :
デフォルトの名無しさん :02/03/22 09:31
JavaとLinuxってどっちがいいんですか? 不毛な議論というひとが多いけど初心者のぼくちんにもわかるようにおしえてちょんまげ
>JavaとLinuxってどっちがいいんですか? 質問の意味がよくわからん。どんな観点から比較すればいいんだ?
Linuxはかなり良いですよ。 私はコレを入れてからというもの他のソフトとの圧倒的な性能差に 驚嘆し、ほかの屑ソフトが自分のHDD内に入ってると考えると なにか無性に腹が立ってきたので、全部消してやりました。 レジストリにゴミでも残してるものなら作者の掲示板をこ一時間ほど 荒してやりましたよ。 Linux様のインストールされているHDDにゴミを残すとは、ほんとうは 百叩きの刑にでも服するべきなんですけどね。 まあ、荒しですましてやりましたよ。 てことで今だLinux以外に使ってるソフトがあるなら 直ちに削除して下さいね。
やだ。
>>575 Nativeとは限らない。
時間のかかりそうな計算のみのループには
チマチマとyield入れるのがプラットフォーム依存性の低いJavaコードの書き方。
581 :
デフォルトの名無しさん :02/03/22 13:51
Javaでゼロサプをするにはどうすればよいのでしょうか? 数値の123を文字の00123のようにしたいのですか?
DecimalFormat
583 :
デフォルトの名無しさん :02/03/22 14:56
>>582 ありがとうございます
DecimalFormat df = new DecimalFormat("00000");
System.err.printn(df.format(123));
こんな感じですか
584 :
デフォルトの名無しさん :02/03/22 15:45
ちょっとJAVA限定ってわけじゃなくてすれ違いかもしれないんですけど 聞いておくんなまし。 WEB上でデータベース管理するんだけど 結果を請求書みたいな感じで印字しなくちゃいけないの。 でも、プラウザの印刷機能に頼るとプラウザによって 文字の大きさとか変わっちゃうしフォントが汚いしで避けたい。 どうするのが良いと思いますか?
585 :
デフォルトの名無しさん :02/03/22 15:49
>>584 FOPでPDFにするのが一番信頼できる。
なんか統一感のあるレスをありがとうございます。
>>585 ,584
PDFは考えたのですが、印刷するとにじむのでは?と不安なのです。
実際のところいかがですか?また、回避する方法があれば
お願い致します。
>>589 エクセルも考えたのですが、PDFが上手くいくならそっちがいいのかな…
>>586 すいません、TeX って何ですか?テキストじゃないですよね?
また、アプレットをDLさせて印刷させるようなものもあると聞きましたが
知っている方いらっしゃいますか?
なんか教えてクレクレ&議論めいた感じですいません。
すいません
>>584 じゃなくて
>>588 さんでした。自分を引用してどうしますか
>>586 一応、数十人で使うので、個人の環境に頼るのは怖いのです。
PDFが滲んだらそれはもともとそういうもんかプリンタが壊れているんだよ。 PDFの生い立ちを調べれ。
寧ろ紙が悪いんだろw
適当にスキャンした画像を張り込んだ PDF を印刷したか、 安物のインクジェットやレーザプリンタで印刷したかだな。
>>592-594 そっかー
じゃあ、きっとどれかだw
ありがとうございました。自信を持ってPDFに決定したいと思います。
雨降ってきた…
596 :
デフォルトの名無しさん :02/03/22 20:04
>>584 ブラウザ表示でもCSS使えばフォントも指定できるし、それなりのレイアウトのものを造れるぞ。
@mediaを使えばスクリーン表示と印刷での表示を切り替えることも出来る。
FOPでPDFが先進的かもしれんが、手間と効果も視野に入れてみよう
>>590 TeXは組み版作成環境。
テキストでコマンドを埋め込んで、処理することで印刷イメージを作る。
数式の処理をする機能がかなり豊富。
図の描画もできて、化学式だとか楽譜用の追加機能も作られてる。
本題とは関係ないのでsage
BlackBook買ってきたら旧版だった ヽ(`Д´)ノ ウワァァァァン!!!
質問です。 Javaというか設計の話になるのかもしれないけど。 あるフォームにボタンやフィールドが 10個も20個もあったとして、 入力に対してチェックしたり それぞれに関連性もたせたりすると、 コードの量がとんでもないことになるけど、 こういう場合どうしてる?
600 :
デフォルトの名無しさん :02/03/24 12:48
>>598 たしかに、今出てる新しいやつはカバーの文字が黄色だな
赤いヤツ買ったの?
>>599 newしたりaddするコードはその数だけ必要だけど
それがいやならJButton[] button;として
配列にしてループしてみては?
また、これは慣例なのだが知らなかったら参考にしてください
たとえばボタンなら
actionPerformedメソッドは一つにして
関数内部で押されたボタンを識別する
e.getSource()で押されたボタン識別する
多少は行数減るかな?
>>600 無駄にif elseの構文にしたがる人は、Javaから出て行ってください。
邪魔です。
602 :
デフォルトの名無しさん :02/03/24 15:12
>>601 じゃあどうしたら?プロフェッショナルの技を伝授してください。
>602 ifオブジェクトとelseオブジェクトを用意して多態する
>>601 まじで?
他どんなやり方あるのか教えてください(ドキドキ
606 :
デフォルトの名無しさん :02/03/24 19:17
たしか多態性ってC++でよくやってたことだよな どうやるの?っていうかボタンの動作が統一性のないものだったら あんまり、意味ないのでは?
607 :
デフォルトの名無しさん :02/03/24 20:20
>>605 折角Cライクな長大な見苦しいイベントディスパッチロジックを分割する
手段をライブラリに提供してもらっているのに、ユーザがそういうまとめ
かたをするのは、OO使いなら恥ずべき行為だと思われ。
(初心者本とか雑誌とかだと、そういうロジック書いて臆面もなくお勧め
している馬鹿執筆者がよくいるが…)
「一つのボタン」と、「そのボタンが押下されたときの動作」というのは、普通
イメージとして一塊だよな?というわけで、Swing使っているなら、Abstract
Actionのサブクラスを作って使え。
AWTだったら、同等のやり方でボタン毎のリスナーとボタンの属性を一塊にした
クラスでもつくっといたら?
608 :
605(600) :02/03/24 21:07
>>607 ちょっと考えたんですが
理解できました
たしかに、こういったやり方は入門書、雑誌には
ないやり方です。勉強になりました
ただ、この場合AbstractActionを継承したクラスを
あらかじめ、Actionオブジェクトとして
newしておかなければならない。
そういう意味での、メモリの使い方については
どうおもいます?(
>>599 は「10個も20個もあったとして、」って言ってるし
609 :
デフォルトの名無しさん :02/03/24 21:09
>>608 GUIコンポーネントピアのインスタンスが使用するメモリ量に比べれば
そんなもんカスみたいなもんだ。それが気になるような環境ならそもそも
GUIなんかやるな。
「自分でコードを書いていない部分がなにをやってるか」を 理解していないうちは、コーディングでメモリの節約なんか 殆ど無理だし、そんなことに稼動を割くのはコストの無駄だ と思われ。
611 :
デフォルトの名無しさん :02/03/24 21:14
612 :
デフォルトの名無しさん :02/03/25 01:41
下記コマンドでCABファイルにデジタル署名を 付与するとCABファイルのサイズが減少します。 増加しそうな気がするのですが,原因がわかりません。 signcode -j JavaSign.dll -jp Low -spc test.spc -k key_container test.cab どなたかご存知でしたら教えてください。 よろしくお願いします。
613 :
デフォルトの名無しさん :02/03/25 15:45
Visual J++ 6.0でコードを書き、実行しようとすると 「WJView.exeの起動に失敗しました」 と警告が出て実行できません。 wjview はIEと一緒にインストール?されるようなので ちゃんとあると思うのですが、(実際にありました) 使用法がコマンドラインで使うような気がしたのですが、 Visual J++から呼び出されて実行する以上、それなりに動いてほしいです。 pathが通ってないのかとも思い、確認しましたが、設定しても効果なし・・ 解決法をどなたかご存知でしたら教えてください。
614 :
デフォルトの名無しさん :02/03/25 17:06
java.awt.Listのフチを無くしたいのですが可能ですか? フチの色を背景色と同じにすればいいと思うのですが、 フチに関するメソッドが見つかりません。
615 :
デフォルトの名無しさん :02/03/25 19:40
以下のようにして作ったimgに対して、拡大・縮小を行うには、 どうしたらいいのでしょうか? ImageIcon img = new ImageIcon( "画像ファイル名" ); たとえば、imgの縦横n倍の画像をImageIcon img2に格納したいのです・・。 JavaHouseのML検索でgetScaledInstanceを使う方法が載っていたんですが、 試しても上手く行かないんですよねぇ・・・。
616 :
デフォルトの名無しさん :02/03/25 22:03
img = new ImageIcon(img.getImage().getScaledInstance(X,Y,Image.hogehint)); でだめなの?おいらの環境は動くけど。
617 :
MAKUBE2 :02/03/25 23:12
結局お勧めの参考書は何なんや?過去レス見たけどよく解らん。 おまえのお勧めの参考書教えれ! WebでJavaのlecture noteが結構有ったけどやっぱり本が欲しくなった。
>>616 出来ましたー。ありがとうございます。
でも・・・結構時間喰うんですね。この処理。。。。
デフォルトのHintsなら、そこそこの速度で動きますけど。
ImageIconをJLabelにsetIconして、JScrollPaneに貼ってるんですけれど、
画像の拡大・縮小が上手く行かなくて・・・。
JLabelへのsetBoundsも試したんですけどねぇ。。出来ませんでした。
Googleで検索したりしてるんですけど、
JScrollPaneを使った画像ビューワの良さげなサンプルがあったら
紹介して欲しいです。
619 :
デフォルトの名無しさん :02/03/26 00:18
初心者用じゃないけど、プロフェッショナルJava上。 DnDとかクリップボードとかSwingコンポーネントの印刷(!) とか、やりたいけど日本語解説がなくて躊躇していたことの 解説がいっぱい書いてあって、ありがたかったYO!
620 :
デフォルトの名無しさん :02/03/26 00:38
質問です。 jdk1.3.1でSwingに関するものなんですが、ルック&フィールをWindowsにする と、ラベルとかボタンなどに画像と文字を表示するということ(Metal L&Fなら 出来るのは分かってはいるのですが...)はやはり出来なくなるんでしょうか? 何回もトライ&エラーをしているのですがよい方法が見つかりません。分かる 方、教えて下さい。宜しくお願いします。
>>620 ハァ?ボタンにsetIcon()してsetText()してみたか?本当に?
それがうまくいかないんですよ。 ソースはデバッグ中で汚いので載せられないのですが、以前も別のアプリケー ションで、JMenuに載せるJMenuItemにアイコン画像と、文字列(例えば「Fi le(F)」など)を指定して(620のメソッドをもちろん使って)やったのですが Metal L&Fだとうまくいくのに、WIndows L&F や Motif L&Fだとうまくいき ませんでした。今回も同様のワナにはまっているのです。
623 :
デフォルトの名無しさん :02/03/26 05:37
Write Once Run Anywhere!!
625 :
デフォルトの名無しさん :02/03/26 16:40
Stringを返すメソッドを呼ぶケースで String ss = new String(); ss = foo.toString(); とする場合と String ss; ss = foo.toString(); とする場合がのっていました。これはどう違うのでしょうか?
627 :
デフォルトの名無しさん :02/03/26 17:12
質問です。 JAVAサーブレットを使用しているのですが、 ブラウザによってIEとNNページを作りたいとおもっています。 user-agentは両方Mozillaになってしまうし。。。 どうすればよいのでしょう? よろしくお願いします
むーやはりそれしかないのでしょうか。 もしi-modeにも対応にもなったときに、 JSPだけ取替え~ なんてできたらと思ったのですが・・・
630 :
初心者です :02/03/26 19:06
インターフェイスというのは、instanceofなどを使って エラーを少なくするためにあるんですか? クラスを継承すると、プログラムのをく量がへるけど インターフェイスの場合は、たいして利点がないような気がするのですが…
631 :
デフォルトの名無しさん :02/03/26 19:12
632 :
デフォルトの名無しさん :02/03/26 19:29
>>631 Win98+SDK1.4だけど、ラベルも表示されたよ。
633 :
614をもう一度 :02/03/26 19:36
java.awt.Listのフチを無くしたいのですが可能ですか? フチの色を背景色と同じにすればいいと思うのですが、 フチに関するメソッドが見つからない…。
634 :
デフォルトの名無しさん :02/03/26 19:55
JDKってシェアウエア作っていいのですか?
636 :
デフォルトの名無しさん :02/03/26 20:08
iアプリを悪名高いVisualJでコンパイルすると実機ではどうしても落ちてしまうのですが、何か対策を見つけた人はいませんか? 最終的にはJDKを使用しないといけないのでしょうか?
Visual Age for Javaをタスクマネージャで強制終了したら起動しなくなった! と隣の人が騒いでる・・・ メモリが足りないだけなのではと思いつつも静観・・・
>>637 遅くまでごくろうさまです。同じ境遇です。あ、メモリの話じゃなく。
>>636 リリース時にはちゃんと素のJDKでコンパイル。基本です。
>>623 遅レスですいません。Win98です。(もう忘れられたかな...)
JAVAってWindowsアプリケーション作ると 明らかに遅いよね。 これっていうのは中間コードをつくって そっからJavaVMでネイティブコードに変換して動かしてるからでしょ。 ってことはC#もCLRを使うから遅いの? まあ、すくなくともC++よりは遅くなってるの? ああ、これJavaの質問じゃないか・・・
>>624 「Write Once Run Anywhere!!」
っていうけど、だったらWindows上でMacルック使える?
標準では入ってないから使えない
だから、おれはMac使ったことないからわかんないけど
コレの逆もありえるかなって思い「使ってるOSは?」って書きました
>>620 import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.plaf.metal.MetalLookAndFeel;
import com.sun.java.swing.plaf.motif.MotifLookAndFeel;
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
/*
<APPLET CODE=plaf.class WIDTH=210 HEIGHT=200 ></APPLET>
*/
public class plaf extends JApplet{
JRadioButton b1 = new JRadioButton("Metal"),
b2 = new JRadioButton("Motif"),
b3 = new JRadioButton("Windows");
public void init(){
Container contentPane = getContentPane();
contentPane.add(new jpanel(), BorderLayout.CENTER);}
class jpanel extends JPanel implements ActionListener{
public jpanel(){
add(new JButton("JButton",new ImageIcon("My.gif")));
ButtonGroup group = new ButtonGroup();
group.add(b1);
group.add(b2);
group.add(b3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
add(b1);
add(b2);
add(b3);}
public void actionPerformed(ActionEvent e){
JRadioButton src = (JRadioButton)e.getSource();
try {if((JRadioButton)e.getSource() == b1)
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
else if((JRadioButton)e.getSource() == b2)
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
else if((JRadioButton)e.getSource() == b3)
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}catch(Exception ex) {}
SwingUtilities.updateComponentTreeUI(getContentPane());
}}}
//すまん、俺はJDK1.4.0だが勘弁してくれ
//画像ファイル「My.gif」は自分で用意してくれ
//appletviewer で、見てくれ
//これで、成功するんだったら
//[SwingUtilities.updateComponentTreeUI(getContentPane());]を
//呼び出すタイミングが間違っていると思われ
644 :
デフォルトの名無しさん :02/03/27 08:57
>>630 インタフェースは共通の処理を定義するもの。
インタフェースを介して処理を共通化できる。
以下例
public interface IRes {
public void age();
}
public class Mona implements IRes {
public void age(){ モナーあげ }
}
public class Giko implements IRes {
public void age(){ ギコあげ }
}
public class Board {
public void write(IRes res){
res.age();
}
}
>632 検証Thanks うーん、WIN2000+JDK1.3.1+JBuilder5ってのが問題かなぁ。 とりあえず、環境を疑ってみます。
646 :
デフォルトの名無しさん :02/03/27 09:33
あぁ。よく再インストールしなおしたよ>637 リポジトリってバリバリ壊れます。なんか設定ファイルも壊れてるみたい。 >627 あれ、ふつうにUAみて切り分けられるでしょ? JSPでいろいろやってるよ。(吐き出すJavaScriptやスタイルシート書き換えてます)
647 :
デフォルトの名無しさん :02/03/27 09:35
>>625 String ss = new String();
ss = foo.toString();
最初のnew String()で確保した領域を示す変数ss
を次のfoo.toString()メソッドで上書きしているので、
結果、最初のnew String()で確保した領域の意味がなく
なる。よってnew String()は意味がない。
私もこんなサンプルを時々見ますね。
648 :
デフォルトの名無しさん :02/03/27 13:48
たぶんだれど。 > String ss = new String(); ↑こんな風に書く人は、おそらく > String strName; じゃなくて > String strName = ""; や > String strName = null; とかやっているに違いない。
>>648 JavaってVBとかと違って(ローカル変数には)暗黙の初期値がないから。
そういう書き方する人は
「変数が初期化されていません」エラーに引っかかって
懲りたんだと思われ。
Cみたいに「不定値」よりはいいけど。
newをするよりは""やnullで初期化するほうが処理が軽いからまだ
マシだね。
もしかして new String()やっているソースって String ss = new String(); try{ ss = foo.to.String(); }catch(Exception e){} if (ss.equals("hoge")){ ・・・ } とかじゃ無いですよね?
>>650 ちがいます。
ところで、その場合なら
String ss = new String(); OK
String ss = ""; OK
String ss = null; NG
ですよね。
>>651 foo.to.String();
で、たぶんコンパイルエラーになるかと・・・
NullPを回避するためだけの、意味無しnew String()はムダ。
コンパイル通らないんなら
String ss = null;
としておいて、例外処理で相応の処理をしませんか?
なるほど
654 :
デフォルトの名無しさん :02/03/27 16:06
小数点第8位を切り上げするにはどうしたらよいんだろう・・・ なんかちょうど良いAPIってしってる?
655 :
デフォルトの名無しさん :02/03/27 16:07
このスレでJavaを教えてもらっている初心者です。 最近、JPanelに描画して、JFrameのコンテントペインに貼り付ける方法を覚えました。 (Swingに関しては、以前に、お世話になりました。m(__)m) ところで、JPanelの絵に合わせてJFrameの大きさをぴったり調節するよい 方法を教えていただけないでしょうか。 JFrameのsetSizeは知っているのですが、どうも、タイトルバーの大きさも 含まれてしまうようで、クライアント領域の大きさをきれいに決められない のです。 もちろん、実験して調整することはできるのですが、よい方法があったら教えてください。 あるいは、ないのなら、そうご指摘くださるとあきらめがつきます。 よろしくお願い致します。
JAVAで通信をするアプリケーションを作ろうと思っています。 CGIを通してサーバーがある,ないを見極め なかった場合はクライアントがサーバーを建てるように組みたいのです。 クライアント側のメソッドで下記のようにサーバーを呼び出します。 呼び出した後、接続しようとしても失敗してしまいます。 解決法を教えてください。よろしくお願いします。 クライアントのcgiに接続した後のメソッド if(サーバがない){ Server s = new Server("Server); s.setSize(0,0); s.show(); connect(); ←自分のIPに接続するメソッド } 省略してますがこのような感じです。 サーバー側のmainメソッド try{ server_socket = new ServerSocket(1234); } catch(IOException e) {} while(flag){ Socket cs = server_socket.accept(); Thread ct = new Thread(new SThread(cs)); ct.start(); }
>>654 java.math.BigDesimal
658 :
デフォルトの名無しさん :02/03/27 18:26
>>656 サーバーのmainメソッドを実行しないのはなぜ?
WindowsNT4.0環境下でJAVAを開発して、動かしているんですけど JAVAプログラムからフォルダを作成したいんです。 普通にファイルを生成する感覚でフォルダを生成したいのですが そんな便利な方法ってあるんでしょうか?
>>655 pack()でどう?
>>656 コノ手のやつって
スレッド系なので、全ソース見ないと
どこで、おかしくなってるのか他の人には
わからない。
たぶん、P2P通信をやりたいんだけど
あいてのIPが固定じゃないので
CGIによってIPアドレスとポートを調べて(略)・・・
つながらない原因としては
「自サーバーを立てる前に接続しようとしている」
おい、Stringで議論してるやつ じゃあ、コレはtrue、falseどっちだ? 理由も述べろ String s="ABC"; if(s=="ABC") { //これか? } else { //それともこっちか? }
>>661 ありがとうです。
そんなメソッドがあるとは・・・
前にもここで聞いてたけど、elseのほうが正解。 s.equals("ABC") にすれば trueが返されます。 elseになる理由は、オブジェクト同士の比較だから?equalsで覚えてくれ。
665 :
デフォルトの名無しさん :02/03/27 19:31
訂正:「文字」>>「文字列」
667 :
デフォルトの名無しさん :02/03/27 21:21
個人的には664は出直しだな。 >elseになる理由は、オブジェクト同士の比較だから?equalsで覚えてくれ。 「だから?」は日本語として意味不明。
668 :
素人です。 :02/03/27 21:28
IE6&WINXPでJAVAの動くサイト(オセロができるサイト) に行こうとしたらサポートされてないと言うメッセージがでてくるん ですけど・・・。 具体的にどうしたらよいのでしょうか? という質問は素人過ぎて話しにならないでしょうか?
669 :
デフォルトの名無しさん :02/03/27 21:32
初心者ですが今、本見ながらJavaでアプリケーション作ってみてます。 これで出来たexeをJavaがインストールされていない環境に コピーすれば、それで動くもんなんですか? VBみたいにディストリビューションウイザードみたいなのあるんでしょうか。
670 :
デフォルトの名無しさん :02/03/27 21:39
>>669 exeじゃなくてjar(Javaのarchiveだからjarなのかな?)ファイル。
ソースファイルをコンパイルして出来たバイトコード(中間コード)
であるclassファイルをzip圧縮してちょっと手を加えたもの。
マニフェストファイルと言う属性設定ファイルにきちんと設定をすれば、
Windowsマシンならそのjarファイルをダブルクリックするだけで起動する。
但し、起動にはJRE(JavaRuntimeEnvironment)が事前にインストール
されていることが必要。
Sunのサイトからダウンロードできる。確か国際化対応版(=日本語もOKな
ランタイム)が8MB前後だったとおもう。
VBのランタイムと同じだと思ってくれればよし。
671 :
デフォルトの名無しさん :02/03/27 21:41
>>668 とりあえずWindowsUpdateにいってMS製JVMをDLしてこい。
672 :
デフォルトの名無しさん :02/03/27 21:45
Stringの参照を""とか"A"+"B"とかで初期化する、というのは、実行時のコストは あまり気にするほどじゃないと思うよ。コンパイル時に最適化される対象だから。 クラスファイルの定数領域に定数として作成されちゃうから、実行時のコストは クラスローダがそのクラスファイルをロードする時だけ、と本に書いてあった。
673 :
デフォルトの名無しさん :02/03/27 21:55
>>662 それは実は大抵の場合はtrueです。
なぜかというと"ABC"というStringオブジェクトを静的に保持していているから。
言い換えれば String ABC = "ABC"; というのがあると同じ扱い。
String s = ABC;
if( s==ABC )
となる。当然オブジェクトは同じものを指す事になるので 真。
利用するとしたら、どっかのクソバカ野郎がこう書いたコードを
あとでメンテするとき用の知識としておぼえておくに留めておこう。
(もちろんこんなコード見つけたらそのPGはぶんなぐっとけ)
674 :
デフォルトの名無しさん :02/03/27 21:59
intern()って、どういうことをやってるの? Stringクラス内部に参照マップみたいなものがあるのかな?
>>671 ありがとうございます。
非常に参考になりました。
おかげで無事解決しました。
>>643 また遅いレスですいません。仕事が忙しくて...。
頂いたソースで表示されました。
ご指摘の部分、よく噛み締めて自分のソースを見たいと思います。
ありがとうございました。
677 :
RIAL厨房 スミマセン :02/03/28 00:52
すいません。プログラム初心者です。 これぐらい自分で探せと怒られるのを承知で 伺わせてください。本当に厨房な質問ですいません。 MS-DOSで(コマンドラインというのでしょうか?)、何か文字を一文字入力して、 それを char 型 の変数で返すメソッドを作りたいのですが、 どうすればいいのか教えてください。(その他のデータ型と、String型は一応出来ました) ちなみに、String型のデータを返すメソッドは下のように考えて、一応上手く動きました。 String inputString(String s){ String word = new String(); BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in)); System.out.print(s + " = "); System.out.flush(); try{ word = keyin.readLine(); }catch(IOException e){ System.out.println(e); } return word; }
678 :
デフォルトの名無しさん :02/03/28 01:08
>>677 char String#charAt(0)
679 :
RIAL厨房 スミマセン :02/03/28 01:22
>>678 有難う御座います、早速やって見ます。
#記号は初めて見ましたが、このまま打てばいいのでしょうか?
680 :
RIAL厨房 スミマセン :02/03/28 01:33
>>678 何度もすみません。
やっぱり分かりませんでした。上の
>>677 の場合だと、
どこに入れればいいのか分からないんです。
それと、#が、そのまま使うのではないような気もして色々やって見たんですが、
上手くいきません。
もしよければもう少し詳しく教えてください。
681 :
RIAL厨房 スミマセン :02/03/28 01:42
何度もすいません。 ひょっとして、と思ったんですが、 全く検討はずれなことを言ってるかもしれません。 char String#charAt(0) の、StringはClassで、charAt(0)はその中のMethod charAtを、0を引数にして 呼び出すという意味なのでしょうか。 (0)の意味も良く分かりませんが、最初の一文字ということですか? つまり、一度String型のデータを作っておいて、その最初の一文字を char型の新しいデータとして生成するという意味なのでしょうか?
682 :
デフォルトの名無しさん :02/03/28 02:03
RIAL厨房さんへ、 RIALじゃなくて、REALですよね? char inputString(String s){ String word = new String(); BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in)); System.out.print(s + " = "); System.out.flush(); try{ word = keyin.readLine(); }catch(IOException e){ System.out.println(e); } return word.charAt(0); }
683 :
Javaの鉄則 その-1 :02/03/28 02:07
人に聞く前に、JavaDocよめ!!!
684 :
REAL厨房 スミマセン :02/03/28 02:29
ああ!動きました!感謝感謝!
すごく嬉しい!有難う御座いました。
それと、RIALは、つづりが違いましたね。まだ習ってなかったので、すいません。
>>683 すいませんでした。これからはそうします。
685 :
デフォルトの名無しさん :02/03/28 04:43
>>684 >まだ習ってなかったので、すいません。
まぁ、そんなしょーもない言い訳は、どーでもいいのです。
686 :
デフォルト七誌 :02/03/28 05:42
>>684-685 ネタにマジレスカコワルイ
と書くことがネタにマジレスにならないか不安。
ドキュメントって日本語のあるですか?
688 :
デフォルトの名無しさん :02/03/28 10:14
どんな形式のファイルでも読み込んでそれをそのままクライアントソケットに書き込むのって どんな風にコード書いたらいいんでしょうか??
689 :
デフォルトの名無しさん :02/03/28 10:22
690 :
デフォルトの名無しさん :02/03/28 10:25
いや、だからコードでかいて。
>>690 open
open
while
read
write
close
close
692 :
デフォルトの名無しさん :02/03/28 10:28
なーんだ、かけないのか。
そんな態度とられてコード書く 奴なんていねーよ
694 :
デフォルトの名無しさん :02/03/28 10:50
>そんな態度 689、691にいえよ。
695 :
デフォルトの名無しさん :02/03/28 10:53
その点、677はいいな。680とかさー。 688.690.692ではちょっとなー。 とくに690を入れてくるようなやつではなー。691みたいにしたくなるよ。w オマエこれよんで教えてやろうと言う気になるか?ヲイ
696 :
デフォルトの名無しさん :02/03/28 10:58
688でふつーに聞いてんじゃねーか。 ふつーに教えろや、ゴルァ じゃなきゃ689みてーなカキ子すな。
697 :
デフォルトの名無しさん :02/03/28 11:06
あはははははー。 そこで無視できるかできないかが。差なんだよな。w あの返事(692)をした時点で、もうオマエの負けだ。デテケ!
ごめんね。一応マジレスだったんだけど・・・ だけど、ファイルをリードしてソケットにライトするだけだから ファイル入力のサンプルとソケット出力のサンプルを どっかから拾ってくれば解決すると思うよ。 googleで「Java ファイル 読み書き」 「Java ソケット」とかで 検索すればいいよ。
699 :
デフォルトの名無しさん :02/03/28 11:10
なにそれ。くだらねぇ。 差って何?コード書けたら勝ちだろ。
700 :
デフォルトの名無しさん :02/03/28 11:45
意地悪を言ったけど、「もう答え書いてある」んだけどなー。 もっといい風に聞けば、もっとわかりやすい答えを書いてくれる人がいるのに、拒否するんだろ? コードの書けない負け組み君。 (チミの言うところの。※ここにいるほかの人の言うところではない。w)
698に至極丁寧にかいてあるじゃねーか
702 :
デフォルトの名無しさん :02/03/28 13:01
すみません。 JAIを利用してPNG画像にアルファチャンネルをかけたいんですが、 どこかに参考となるページがありますでしょうか?
703 :
デフォルトの名無しさん :02/03/28 13:04
すいません、こんな時になんですけど文字列の中から特定文字を消すってどうやるんです? というか、簡単な方法ないです? たとえば「15,000」ってStringからカンマを取り除きたいときに。 文字列置換ではどうにもならないし、、、 やっぱりループでまわすしかないです?
>>703 StringTokenizerで消すとかはどうだろ?
StringBufferにそれらしいメソッドなかったっけ?
706 :
デフォルトの名無しさん :02/03/28 14:20
むむっ、indexOf(String str) で見つかった位置から deleteCharAt(int index) で、消せばいいのか。 でも、indexOfが-1になるまでは回さないとだめなんですね。 これでもずいぶん簡単になるけど。 StringTokenizerのほうはよくわかんなかったです。
707 :
デフォルトの名無しさん :02/03/28 14:23
ぁ、パラメタを区切り文字にして、トークンつくって。全部をつなげる。でいいんですね。っていうかこれから試してきます。ありがとうございました。
708 :
デフォルトの名無しさん :02/03/28 22:03
>>703 そういうことがしたい場合Javaコアが推奨してるのは、
java.text.DecimalFormat。
みんな、頼むからStringBuffer#append()くり返すな!
java.textパッケージ使え!
Cで、sprintfやsscanfを使わずにstrcat連続技を使うと、
マヌケ扱いされるでしょ!Javaだって同じだよ!
JScrollPaneに設定したコンポーネントの一部分(たとえば上半分) だけをスクロールして見えるような形にたいのですが、可能でしょうか?
710 :
デフォルトの名無しさん :02/03/28 22:25
711 :
?Y´?¬?<ETH>?3/4?e` :02/03/28 23:30
JAVA全くの素人・知識ゼロです。よろしくお願いします。 マックOS 8.2でJAVAをはじめようと思います。 何からしたら良いですか。 JDKのダウンロード? 最近はJAVAプログラミングのための良いソフトがあると聞いていますが…。
712 :
デフォルトの名無しさん :02/03/28 23:33
>>711 OS8.2はしらないけど、
CodeWorrierは?
>>708 >そういうことがしたい場合Javaコアが推奨してるのは、
>java.text.DecimalFormat。
あ、これはたまたま持ち出した例が数字であって数字以外も使うのですよ。(;´д⊂
もちろん数字だけのときは、DecimalFormatを使わせていただきます。
>頼むからStringBuffer#append()くり返すな!
どうしたら、、、ちなみに最初のコードは
String strIn; → 入力
String strOut; → 出力
String strRep; → 置換文字
for (int i = 0 ; i < strIn.length() ; i++) {
if (!strIn.substring(i,i + 1).equals(strRep)) {
strOut += strIn.substring(i,i + 1);
}
}
ご、ごめん。。(;´д⊂
あ、置換文字じゃなくて削除文字、、、(;´д⊂
ところで コレなんのために使うんだ?
客の使ってるDBを変えることなく文字を抜いてきて、それを加工しろってやつだったYO。 そのときに、数字がカンマ入りで返ってきたり、マスター名称に変な記号が入っていたので抜きたかったんだYO。(;´д⊂
721 :
デフォルトの名無しさん :02/03/29 17:28
RMIを使ってサーバAとサーバBで通信をしようしています。 サーバAにはNICが2枚あり、それぞれ別セグメントとなってます。 サーバBからサーバAにRMI通信を行うと NIC1(サーバBと同一セグメント)とLookupしているみたいですが、 その後、メソッドを実行するとNIC2(サーバBと異なるセグメント)の方と通信しようと してエラーになっています。 対応策をご伝授下さいませ。
722 :
デフォルトの名無しさん :02/03/30 00:40
>>717 一般的な文字列置換、フォーマットからの文字列抜き出しには、
MessageFormat使えYO!C言語のsprintf(),sscanf()みたいなもんだYO!
723 :
デフォルトの名無しさん :02/03/30 00:47
>>721 もしかして、NIC1とNIC2のIPは同一で、ポート番号の領域をNIC1とNIC2に
割り振ってたりする?
サーバオブジェクトをUnicastRemoteObjectのサブクラスにしないで、
単にRemoteをimplementsするだけにして、
UnicastRemoteObject#exportObject(Remote,int)で明示的にポート番号
をNIC1のものにしてエクスポートしてから、レジストリにバインドしたら、
何とかならへん?
UnicastRemoteObject継承しちゃうと、開いてるポートから適当に選んで
エクスポートしちゃうはずから、ポート番号がたまたまNIC2に割り当てら
れるものだったら、そうなるかもしれん。
そーいえば DecimalFormatってスペースで右揃えってできたっけ? コマンドラインツールで使いたいんだけど
725 :
デフォルトの名無しさん :02/03/30 01:21
ほれ。 import java.text.FieldPosition; import java.text.NumberFormat; public class NumberFormatTest { public static void main(String[] args) { System.out.println("*"+parse(257,10)+"*"); System.out.println("*"+parse(1386,10)+"*"); System.out.println("*"+parse(6,10)+"*"); System.out.println("*"+parse(199972,10)+"*"); } static final FieldPosition pos = new FieldPosition(NumberFormat.INTEGER_FIELD); public static String parse(int val,int offset){ StringBuffer buf = NumberFormat.getNumberInstance().format(val,new StringBuffer(),pos); StringBuffer disp = new StringBuffer(); for(int i = 0 ; i <offset-pos.getEndIndex();i++){ disp.append(' '); } disp.append(buf.toString()); return disp.toString(); } }
726 :
デフォルトの名無しさん :02/03/30 01:22
現在カーソルがある位置をグローバル座標で得たいのですがどうしたらよいでしょうか? マウスイベントから得られるコンポーネント内の相対アドレスのことではありません。 ご存知の方宜しくお願いします。
727 :
デフォルトの名無しさん :02/03/30 01:27
javax.swing.SwingUtilities#convertPointToScreen(java.awt.Point p,java.awt.Component c)
>>725 わざわざソース書いてくれてあんがと。
標準APIで出来るか、って意味だったんだけど。
729 :
デフォルトの名無しさん :02/03/30 01:41
>>728 JavaDocにこうやれってかいてあったよ。
て事はできないんだな。 数値の右詰め みたいなコンソールでよく使う機能が 実装されてないってのは GUI用に作ってるのかも(?)
731 :
デフォルトの名無しさん :02/03/30 01:54
>>730 Javaは、CUIよりGUIのほうが簡単。
732 :
デフォルトの名無しさん :02/03/30 04:20
Javaのロケールを設定する方法を教えてくだちい。(Windows・JDK 1.4) 英語でないとコケるゴミソフトがあるのでし。
>>732 Local.ENGLISH
英語だったら、地域設定しなくても
言語設定すればいい。
というか、JavaDocにのってたよたしか
>>727 ありがとうございます。
java.awtにあると思ってSwingUtilitiesを見落としていました。
736 :
デフォルトの名無しさん :02/03/30 06:49
JMFで遊んでる人いますか?
737 :
デフォルトの名無しさん :02/03/30 07:32
738 :
デフォルトの名無しさん :02/03/30 14:19
WEB鯖(Apache)にRMIのサーバプログラムとクライアント用にアプレット置いてやってます。 サーバプログラムとクライアントプログラム共にLAN内端末(Win)のローカルでテストしているのですが、 クライアントアプレットでのNaming.lookup後、 得られたリモートオブジェクトのメソッドを呼び出すと、 access denied(java.net.SocketPermission 192.168.0.2:1447 connect,resolve) といったエラーが返ってしまうのですがこれはどうすれば良いでしょう? どなたかご存知の方教えてください。
739 :
デフォルトの名無しさん :02/03/30 14:24
>>738 エラーそのまんまだよ。
アプレットのセキュリティマネージャが、
java.net.SocketPermission 192.168.0.2:1447 connect,resolve
を許可してないんでしょ。
ブラウザで使われるVMのセキュリティポリシーファイル書き換えろ。
740 :
デフォルトの名無しさん :02/03/30 14:28
java.textパッケージはどうも取っ付き難いのですが この解説が詳細に載っている、お勧めの書籍やHPは有りませんか?
741 :
デフォルトの名無しさん :02/03/30 14:30
>>740 ???
コアAPIのjavadocに使い方、結構親切にかいてあるじゃん…
>>739 java.net.SocketPermission 192.168.0.2:1447 connect,resolve
の真ん中にある数字(192.168.0.2:1447)ってIPですよね?
誰のIPですか?
>>743 そうですか。
で、IPから住所を調べるにはどうすればいいんですか?
745 :
デフォルトの名無しさん :02/03/30 14:53
>>742 lookupまで成功しているなら、サーバプログラム立ち上げたマシンの
IPでしょ。
lookupが失敗したなら、レジストリ立ち上げたマシンのIPでしょう。
>>744 とりあえずイエローページを
探してみるというのはどうでしょう?
747 :
デフォルトの名無しさん :02/03/30 14:55
>>739 サーバ実行時に下記のポリシーファイルを指定しているのですが、
ブラウザのVMでのポリシーファイルはどこで指定すれば良いのでしょうか。
アプレットはappletviewer及びブラウザで試しています。
grant {
permission java.security.AllPermission;
permission java.net.SocketPermission
"192.168.0.2:1024-65535", "connect";
};
>>746 なるほど!!ありがとうございます!そういえば確かにイエローページ
には住所がのってますね!!!ありがとうございました!!!!!!
今から調べてみます、、、と言いたいところなんですが、家にはイエロー
ページがないんです。どこで売ってますか?
749 :
デフォルトの名無しさん :02/03/30 15:06
>>741 例えばChoiceFormatの説明で最初に出てくる、
X matches j if and only if limit[j] <= X < limit[j]
のXって何の事ですか?
750 :
デフォルトの名無しさん :02/03/30 15:09
751 :
デフォルトの名無しさん :02/03/30 15:12
>>747 AllPermissionを認めているのに、その下の定義は意味無いぞ。
ブラウザ用のJVM(Plug-inとしてJREをインストールしたなら、
JREディレクトリの中)のどこかにjava.policyとかあるでしょ。
752 :
デフォルトの名無しさん :02/03/30 15:21
>>750 日本語ドキュメントでは
-----------------------
ChoiceFormat を使用すると、ある範囲の数値にフォーマットを追加することができます。
これは通常、複数を処理するときに MessageFormat で使用されます。
この選択項目は double の昇順リストで指定され、それぞれの項目は、次の項目までの一方が開いた間隔を指定します。
X は、limit[j] <= X < limit[j+1] の場合にだけ j に一致する
-----------------------
と有りますが、
【疑問】
・"次の項目までの一方が開いた間隔"とは何か?
・limitとは何か?(何かの配列か?)
・ChoiceFormat(double[] limits, String[] formats) のlimitsとは別なものか?
・Xとは何か?
って感じです。
サンプルプログラムは動かして見たけど、良く分かりません。
753 :
デフォルトの名無しさん :02/03/30 15:32
>>752 確かに日本語がわけわかんなくてムカツクけど…
おまえさー、Format、NumberFormatの解説も読んどけよ。
あとは、このクラスの役割はイメージ可能なんだから、メソッド叩いて
動作見るか、ソースコード読んだほうが、こんなところで質問の答え
待つより、結果出るの速いぞ。
754 :
デフォルトの名無しさん :02/03/30 15:41
>>753 >おまえさー、Format、NumberFormatの解説も読んどけよ。
それも読んで、MessageFormatのサンプルをいじくりまではしましたが、
全てを体系立てて説明するようなドキュメントが必要ですよね、やっぱり。
JavaDocの説明は難解だし・・。
HP上では詳しい解説が発見出来なかったので、今から秋葉原の本屋さんに逝って見ます。
755 :
デフォルトの名無しさん :02/03/30 16:19
>>751 JREとJDKどちらが使われるのか良くわからないので両方弄ってみました。
C:\Program Files\Java\j2re1.4.0\lib\security\java.security
D:\Program\j2sdk1.4\jre\lib\security\java.security
を以下のように変更
#policy.url.1=file:${java.home}/lib/security/java.policy
#policy.url.2=file:${user.home}/.java.policy
policy.url.1=file:D:/Program/j2sdk1.4/jre/lib/security/java.policy
policy.url.2=file:D:/Program/j2sdk1.4/jre/lib/security/java.policy
その上で、D:/Program/j2sdk1.4/jre/lib/security/java.policyに、
permission java.net.SocketPermission "localhost:1024-65535", "connect,resolve";
を追加しました。
これでも下記のようなエラーが出ます。
サーバ:
java.security.AccessControlException: access denied
(java.net.SocketPermission 127.0.0.1:1223 accept,resolve)
アプレット:
Error unmarshaling return header; nested exception is:
java.io.EORException
ついでにacceptも追加してみたのですが、
サーバ側ではエラーがなく、
アプレットの方のe.getMessage()で拾ったのがnullなエラーになってしまいます。
ChoiceFormatって 要は 0 だと 不合格 1 だと 合格 とかなってるときに new ChoiceFormat( new double[]{ 0.1 }, new String[]{ "不合格","合格" } ); とかって使用するんでしょ。
駄目なんで1.3に戻したら動きました。 もういいや(;´Д`)
758 :
デフォルトの名無しさん :02/03/30 20:56
ご存知の方教えて下さい。 下記のようにArrayListに格納されたhitoクラスのメンバdt.nameを 参照したいのですが上手くいきません。宜しくお願いします。 import java.util.*; class Test{ static void main(String args[]){ ArrayList al = new ArrayList(); hito dt = new hito(); al.add("ABC"); dt.name="XYZ"; al.add(dt); System.out.println((String)al.get(0));//ABCと表示 //System.out.println((String)al.get(1).name);//エラーが出る } } class hito{ String name; }
759 :
デフォルトの名無しさん :02/03/30 21:12
>>758 こうすれば上手く行くよ。(あとmainメソッドもpublicにしてね)
System.out.println(((hito)(al.get(1))).name);
getメソッドで得られるのはObjectであり、hitoではない。
そのままではnameフィールドにはアクセスできないので
hitoにキャストする必要がある。
まあ、ゆっくり勉強してくれ。
760 :
デフォルトの名無しさん :02/03/30 21:17
759さん有難うございます。上手くいきました。 まだまだ修行が足りないようですね。
761 :
◆MEdvcmo6 :02/03/30 21:24
JAVAでオブジェクトをcloneすると、参照先が同じオブジェクトが 生成されますが、 参照先のデータごとコピーする一般的方法はあるのでしょうか? いまのところは、自分でCLONEをオーバーライドしたり、 コピーの時に自分で移し変えてます。
763 :
デフォルトの名無しさん :02/03/30 23:15
>>762 Serializableなオブジェクトにしといて、ObjectOutputStream
作ってwriteObjectして、作成されたバイトアレイをObjectInput
Streamを通してreadObject。これでディープコピーできるよ。
シリアライズの機構に任せる。(但し、参照チェインしているインス
タンスのにtransientなフィールドがあったら、消えちゃうけどね)
764 :
デフォルトの名無しさん :02/03/30 23:16
765 :
デフォルトの名無しさん :02/03/31 00:09
>>762 それは、例えばどういったところで、丸ごとコピーが必要になるんでしょうか。
766 :
デフォルトの名無しさん :02/03/31 00:12
> transientなフィールド これはどういったものですか?
767 :
デフォルトの名無しさん :02/03/31 00:33
>>733 > Javaのロケールを設定する方法を教えてくだちい。(Windows・JDK 1.4)
> 英語でないとコケるゴミソフトがあるのでし。
> 733 :デフォルトの名無しさん :02/03/30 04:43
>
>>732 > Local.ENGLISH
> 英語だったら、地域設定しなくても
> 言語設定すればいい。
いや環境変数か、VMを起動するときの引数で。
768 :
デフォルトの名無しさん :02/03/31 00:42
JavaCCの使い方について詳しく説明されているページ知りませんか? Googleで調べてみましたが、初歩の部分の解説しているところしか見つからなくて・・・ ソフトに応用して使っているようなところはないでしょうか?
以前、少しつかったけど 解説まではしてない、、、
>>765 イミュータブルでないオブジェクトの参照をメンバとして抱えているオブジェクトの場合、
シャローコピーだと、コピー先のオブジェクトも同じオブジェクトの参照をメンバでもって
ているのことになるので、コピー元のオブジェクトがそのメンバオブジェクトの内部の値を
書き換えたら、コピー先は知らないうちにいつのまにかそのオブジェクトの内部の値が変更
されてしまっている、ということになりうるわけで、そういうのはちょっとまずい事がある。
そういう時はディープコピーが必要。
>>766 メンバフィールドの修飾子。これがついてると、デフォルトのシリアライザが
シリアライズする時にこの値をストリームに書き込まないし、デシリアライズ時
には読まない。デシリアライズすると、transientフィールドはデフォルトコンス
トラクタ起動によって与えられる値に初期化される。
現在の状態を保存する必要のないフィールドにはこれをつけておくと、バイト
アレイのサイズがそのフィールドのサイズ分だけ減るよ。
それと
>>763 のやり方は、そのオブジェクト又はメンバに、Serializableでない
オブジェクトがあったら、出来ないね。(まあ、普通データを保存するような
オブジェクトはSerialzableにしとくでしょ?)
771 :
デフォルトの名無しさん :02/03/31 06:39
>>770 transient 修飾子、、、そんなものがあったのか、、、知らなかった。
参照を渡すだけなのと、オブジェクトのコピーの違いは
分かるのですが、用途はどうだったのかな・・・という
ことを質問してみました。
書き込んだあと思いついたのが、例えば GUI ピルダの
コンポーネントのコピーコマンドとかに使いそうですね < 深いコピー
772 :
デフォルトの名無しさん :02/03/31 09:08
リフレクションをつかって、任意の深さでディープコピーを行える仕組みを 実装できないかな? (遅そうな予感はするけど)
773 :
デフォルトの名無しさん :02/03/31 09:10
たくさんのクラスで ある変数やオブジェクトを参照しなければならないときに コンストラクタに渡したり getXXX()メソッドを実装したりして 参照しているんですが めんどくさいので 全部「static」にしちゃってかまわないんでしょうか?
774 :
デフォルトの名無しさん :02/03/31 09:22
>773 参照する変数がどんな意味持つかによると思うよ。 無意味にそれやっちゃうと、オブジェクト指向でいう隠蔽性が失われる 気がする。例えばあるクラス独自の意味を持つものをスタティックに しちゃうと、それはもう独自のものじゃなくなるし。 てか、知ったかぶりレススマンコ
775 :
デフォルトの名無しさん :02/03/31 10:01
>>774 うん、確かにオブジェクト嗜好っぽくなくなるかもしれないし
危険であることは確かだ
ただ、これによって余計なソース書かなくていいかなとおもった
サイズも小さくなるかな
こんにちは、こちらで教えていただくことにしました。 キャンバスとパネルを使うときに お互いに変数を共有するときはどうすればいいんですか? たとえばパネルで名前を入力して、キャンバスで表示など・・ いろいろやってるのですが、うまくいきません。 おしえてください。 たとえば、mainメソッドでstr nameという変数を宣言して、 MainPanelでmain.nameに代入。ここではうまくいっているけど MainCanbasでmain.nameをアウトプットしてもなぜか空・・・ 基本的なことかもしれませんが、教えてください。 おねがいします。
お前らDBにAccessでアプレットから使えるJDBCドライバ教えてください。
Java Applet で直接、ですか??
無理?
>>777 スタティックフィールドあるいはインスタンスフィールドを使いなさい。
ローカル変数の内容はメソッドが終わったらなくなっちゃうから。
あと、ちゃんと教えて欲しければ自分の言葉で解説するんじゃなく、
うまくいかなかったコードを実際に見せてください。
>>781 どうもです。コードはこんな感じになっています。
ほかのメソッドは乗せるまでもなく、ただ使用しています
public class Main {
public static MainCanvas canvas;
public static MainPanel mainPanel;
public static str name
public void start() {
mainPanel = new MainPanel();
canvas = new MainCanvas();
Display.setCurrent(canvas);
}
}
インスタンスフィードといいますと、やっぱり
クラスを作らなければだめなのでしょうか?
783 :
デフォルトの名無しさん :02/03/31 16:49
>>782 ハァ?なんだそりゃ?
ヒープ使うなとかいうルールでもあるなら別だが、頼むから、
そんなあほなコーディングルールを仕事で使わんでくれ。
そんなコードの保守が回ってくるとしたら、悪夢だ。
784 :
デフォルトの名無しさん :02/03/31 16:52
>>778 アプレットが実行されているブラウザから、直接そのマシンのローカルストレージに
アクセスするのは、基本的に無理。そういうことがしたいなら、デジタル署名の事を
勉強するか、あるいはアプリケーションとして実行させるかのどちらかが必要。
どっちにしても、ドライバ変えれば動くようになるわけじゃない。
わけがわからないんだったら、悪いこといわないからアプリケーションとして
開発しなさい。
全体像やそれぞれのクラスの役割がわからんので、こっちは 想像するしかないが、多分あんたがやりたいことを普通の Javaコード(NOT(元コボラ―謹製ORヒープも使えないバカ C使い謹製))として書くと、こんな感じになるはずだ。 public class Main{ private MainCanvas canvas; private MainPanel panel; private String name; public Main(String name){ this.name = name; canvas = new MainCanvas(name); panel = new MainPanel(name); } public void start(){ Display.seCurrent(canvas); } } class MainCanvas extends Canvasか?{ private String name; public MainCanvas(String name){ super(); this.name = name; } //あとは知らん } class MainPanel extends Panelか?{ private String name; public MainPanel(String name){ super(); this.name = name; } //あとは知らん }
>>782 はヒープ使ってるような…
インスタンス変数って言いたいのかな?
でも 782だと問題の箇所が分からんです。
ヒープも使えないバカC使い? malloc系使わないC使いって見たこと無いけど。 うーむ。
「パネルで名前を入力して、キャンバスで表示」 だったら MyCanvas に setInputedName( String name )みたいな メソッド作って MyPanelで名前入力されたら setInputedName()を呼ぶ、 とかかな。
>>785 それが「普通」なのか? これまたえらく(以下略)
790 :
デフォルトの名無しさん :02/03/31 17:15
>>786 いや、多分PanelとかCanvasはnewしないと使えないから、わけもわからず
やってるだけ、の匂いがするから…
>>787 俺が前にいた会社にいたんだよ。全てのバッファを全部ローカル変数に
staticで宣言しているのに、マルチスレッドで実行されるプログラムとか、
巨大なバッファをローカル変数に宣言してとか…
環境によってメモリを節約しなきゃいけないとかの理由があってグローバル
にバッファ切るとかいうのは、意味がわかるんだけど。
>>789 普通じゃねえと思うよ。俺ならコンポーネントの継承なんかしないよ。
Panelはともかく Canvasは継承しないで使い道があるんだろうか?
>>790 マルチスレッドを考慮してないプログラムを
マルチスレッドで使おうとしたんじゃないの?
あと、あんたの元同僚(?)も酷いのかもしれんが
あんたの使ってる用語もかなり怪しいよ。
>>782 そんだけの情報では、
そもそも str っていうクラスがどんなものなのかわからないし、
それに name にリファレンスを設定してるところも、
name を読み出しているところもどうやってるかわからないので、
アドバイスのしようがないです…
それに、
Panelに関しては継承しなくても使えますがなんで継承してるんでしょう?
>>782 そうゆう使い方をするな
全体を制御するクラスはひとつにしといて
Panel,Canvasなどのクラスに「setXXX()」「getXXX()」
などのメソッドを自分で用意して
制御するクラスから呼び出せばいいだろう
回りくどいやり方だと感じるかもしれないが
これがオブジェクト嗜好だ
785さん、みなさん、ありがとうございます。 私のように何もわかってない物のためにコードまでかいていただいて、 いろいろ議論していただいて、本当にありがとうございます。 たしかに、785さんのおっしゃるとうりなぜnewするのかもあまりよく わからなくてやっていますので、785でのコードのようにかいていただいたのは わかりやすかったです。ただ、これでもなりませんでした。変数を 動かす順番などがよくないのかもしれませんので、いろいろ試して考えて 見ようと思います。 ファイルは1つなのですが、その中のクラス(サブクラス?)間で 値を共有するときは、795さんのおっしゃるようにするべきですね 書き直してみます。 べんきょうになります。会社に入って恥ずかしい思いをしなくて住む世に がんばります。
こんにちは、もう1つ質問をさせてください。 なまえ保存用のあるクラスを作ることにしたのですが、 それはうまくいってます。 ただ、キャンバスとパネルはnewしたときの状態で待機しており setcurrentで変えてもnewしたときにgetNameしたままの状態なので 空っぽなんです。 つまり、mainで canvas,panel,nameクラスをnewする。そのときにそれぞれのコンストラクタ が起動される。 つぎに たとえばpanel内でname.SetName("asdf")みたいなものを実行して セットカレントでcanvasに移動しても、はじめのmainでnewされたときの 状態から始まるので、canvas内にname = name.Getname(); などを記述していても効果がないのです。 この場合どうすればよいでしょうか?panel内からcanvas.Getname();などを していては、最初にやっていたこととかわりがないので・・ あまりにも厨な質問かもしれませんが、もしよければおしえてください。 おねがいします。
なにが言いたいのか判らない♪
>>797 panel内でname.SetName("asdf")みたいなものを実行するとき、
同時にcanvas.SetName("asdf")みたいなものを実行する
あんたのやりたい事を推測して785を変更してみるとこんな感じか? public class Main{ private MainCanvas canvas; private MainPanel panel; private Name name; public Main(String name){ this.name = new Name(name); canvas = new MainCanvas(name); panel = new MainPanel(name); } public void start(){ Display.seCurrent(canvas); } } class MainCanvas extends Canvasか?{ private Name name; public MainCanvas(Name name){ super(); this.name = name; } //あとは知らん } class MainPanel extends Panelか?{ private Name name; public MainPanel(Name name){ super(); this.name = name; } //あとは知らん } class Name{ private String name; public Name(String name){ this.name = name; } public void setName(String name){ this.name = name; } public String getName(){ return name; } }
>>797 仕事でやってるなら上司か同僚に聞きましょう。
趣味でやってるなら フリーのwebスペース借りて
ソースを丸ごと全部アップすれば暇人が助けてくれるかも。
802 :
デフォルトの名無しさん :02/04/01 22:22
805 :
デフォルトの名無しさん :02/04/02 16:25
SDK 1.3.1_02出ましたけど、インストーラがエラー出します。 2回DLして試したけど結果同じ。 インスコできたやついる?
細かいけど、1.3.1_03 じゃ? 試してみたけど、インストールできたよ。
先生! 個人のパッケージ名を取得したいんですけど JAVA_CONF で登録出来ません! 他に登録できるところあったら、教えて下さい!
808 :
java.lang.lef.PhantomReference :02/04/02 22:50
>>807 勝手につけたら?絶対ぶつからないような奴。
kintama.hananoana.mekuso.arinotowatari.sayounara.hoge
とか。
809 :
デフォルトの名無しさん :02/04/02 22:56
.warの中にpropertiesファイルも含めて配布したいんですが、ResourceBundle.getBundleメソッド等で、 propertiesファイルを読み込んでくれません。Web-INF/classesやWeb-INF/libに置いてみてもダメです。 やはり、クラスパスの通ったディレクトリ上にpropertiesファイルは置いとくしかないのでしょうか。
810 :
java.lang.lef.PhantomReference :02/04/02 23:01
>>809 クラスローダを引数に取るgetBundleをコールしたらドウヨ?
811 :
デフォルトの名無しさん :02/04/02 23:04
>>807 どっかで捨てメアド取得してそれ使えば?
おれは独自ドメイン採っちゃったけど。
こんにちは。何とか、皆さんの助言により今回は目的の物をつくることができました。 変数クラスは作成せず、たとえばcanvasからpanel.setNameなどを利用することにより 実行できました。 しかし、私にはかなり難しく、無理だと言うことがわかりました。 javaを使う会社から内定をもらっていますが、辞退しようと思います。 いままで迷惑をかけてすみませんでした。
そうか、残念だな。
814 :
デフォルトの名無しさん :02/04/03 20:30
先輩! 質問があります。 RMIを使用するときにrmiregistry、サーバ(スタブ)をバッチファイルで起ち上げる場合と プログラムで立ち上げる場合の違いはありますか? バッチファイルで立ち上げた場合は相手サーバをlookupできるのに プログラムで立ち上げた場合はNotBoundExceptionになります。 どうかお助けを。 プログラムで立ち上げた場合 if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); } // rmiregistryの起動 LocateRegistry.createRegistry(Registry.REGISTRY_PORT); Registry registry = LocateRegistry.getRegistry(); // サーバ起動 RmiImpl obj = new RmiImpl(); registry.rebind("//myhost/RmiServer", obj); // 相手サーバをLookup rmi = (Rmi)registry.lookup("//yourhost/RmiServer"); ↑ここでエラー
>>814 直前で生成したRegistryインスタンスに"//yourhost/RmiServer"と言う
バインド名でバインドされているサーバオブジェクトがないんでしょ。
そりゃそうだ、そのRegistryインスタンスにバインドされているサーバ
オブジェクトは、直前でrebindした"//myhost/RmiServer"だけなんだから。
つうか、アンタアホ?
816 :
デフォルトの名無しさん :02/04/04 00:21
>>815 たぶん814の人は、どれがサーバーでどれがクライアントなのかすら理解していないと思いまする。
経験豊かなプログラム板で質問させていただきます JAVAを使ったゲームがあるのですが 速度を上げるツールを教えてください 過去にこの質問がありましたらリンクをお願いします。 過去ログ読めよゴルァなんていわないでね。
818 :
デフォルトの名無しさん :02/04/04 03:48
>>817 自分で調べる努力をしたのか?
でなければ、過去ログみれ、ゴルァ!
819 :
デフォルトの名無しさん :02/04/04 03:49
>>817 1、パソコンを買い換える。
2、自分で組みなおす。
>818 かれこれ1ヶ月が経ちました JAVA高速起動というツールもだめでした いろんなのを いれてパソコンがおかしくなり 何度いれなおしたことか・・・ 教えて君ですいません おしえて~
・JDK 1.4.0 を使う ・gcj でネイティブコンパイルする
・メモリ増設(っつーかどんだけ積んでんのよ) ・起動パラメータをいじってみる ・勉強がてらソース解析してチューンナップ(これが一番本人のためかと)
821さん ありがとうございます 早速 やってみます
>>817 ・起動時に -Xms128m -Xmx128m とか付けて最大メモリ量を増やしてみる。
・IBM の JDK を使う。
携帯のiアプリ用のアプリケーションを ボーランドのJBilder(Free)で作ることは可能ですか? なにか良い開発環境が他にあるのでしょうか?
JDK 1.4.0をいれたら 三分の一の速度になりました あ~ぁ
おもむろに、4年ぶりにJAVA弄ろうと思いたったんだけど、 "JDK"が見当たらない。。。JAVA2 SDKってのでええのかな。
XPでは だめなんでしょうか? でも みなさん アドバイスありがとう 末永く このスレを見ております。 デフォルトの設定がわるいのかなぁ。 逝ってよしなんていわないでね。
830 :
教えてくれ!!!!!!! :02/04/04 17:59
携帯のiアプリ用のアプリケーションを ボーランドのJBilder(Free)で作ることは可能ですか? なにか良い開発環境が他にあるのでしょうか?
JDK1.4 だと速度落ちることがあります。 原因は HotSpotが怠け者になって一部のメソッドを JITコンパイルしないため。 俺の確認したのでは 最悪の場合 JDK1.3 の 1/10 の速度になります。 (JITコンパイルされた状態でも実行時間の 90%を占めるメソッドを、JITコンパイルしなかった) あ、ちなみに Windows 版ね。 Linuxとかは知らん。
TextAreaで一行ずつ色を変えることってできます?
833 :
デフォルトの名無しさん :02/04/04 22:48
文字列の出力幅を指定して表示することは出来るのでしょうか? つまり指定幅に満たない時は空白で埋めたいのです。 数字の場合はDecimalFormatで出来るようですが、 文字列の場合はどうするのか分かりません。 C言語だとprintf("%10s",szStr)などと簡単にできたのですが。 宜しくお願いします。
(;TД⊂)物凄い厨な質問させてください… アプレットで作ってるんですけど、折角新しくソース書いてコンパイルしても、ブラウザがキャッシュを読みこんでしまって あたらしいclassを読みこんでくれません… これは俺がアフォですか…
appletviewer.exeって知ってる?
すんませんすんません
IEが一つでも開いたまんまだと駄目 という結論のようです
WEBチャットで教えてもらいながらやってたのですが
WEBチャットをムンブラ、JAVAをIEでやったらうまくいきました
アフォでした…
>>835 あ、その手もありますね。ありがとうございます
>>825 ,833
俺の持ってるiアプリの本ではJBuilderのFree版使っての開発を説明してるよ。
といっても、iアプリ対応の携帯持ってなくて、作っても意味がないから、
お蔵入りしてるがな。
IEならインターネットオプションの「インターネットの一時ファイル」の
「設定...」を「ページを表示するたびに確認する」にすればOK。
#自動的に確認するの設定だとちゃんと読み込んでくれんことがあった。
後、プロキシサーバが不調で古いファイルを何度も供給してくれてたことがあった。
#最近ね。まぁ普通はこっちはないと思うけど。
>>
おれにもそのチャットの場所教えてくれ・・・
>>834 Ctrlを押しながら更新を押すとキャッシュを読み込まないで更新になるから
それで大丈夫だと思う。
processMouseEvent で、 MouseEvent.MOUSE_PRESSED: MouseEvent.MOUSE_MOVED: MouseEvent.MOUSE_ENTERED: で分岐をかけているのですが、 MOUSE_MOVEDだけ正常に働いてくれません マウスが移動するたびに画面にマウス座標を表示するだけのプログラムなのですが… ボタンを押した場合(<OUSE_PRESSED)と、画面に入った場合(.MOUSE_ENTERED)は反応してくれます なにかMOVEDだけ違うのでしょうか?
840 :
デフォルトの名無しさん :02/04/05 00:29
だれか、javax.swing.text.View関係の使い方教えて~。 なんか面白そうなんだけど、どうつかえばいいのか、わから~ん。
841 :
デフォルトの名無しさん :02/04/05 01:30
>>839 MouseEvent.MOUSE_MOVED は processMouseMotionEvent でしょ。
842 :
デフォルトの名無しさん :02/04/05 01:43
くるくる回るスロットゲームをつくりたいのであるが、良い方法が浮かばないよ。 なにかいい、パッケージやソースあるのかな。天才2chユーザに告ぐ。
843 :
デフォルトの名無しさん :02/04/05 02:23
>>833 文字列の長さが指定長無い場合、
int strLen; // 指定長
String nullFill = " "; // 指定長と同数の空白
String tmpStr = nullFill+szStr; // 文字列の先頭に空白を追加
tmpStr = tmpStr.substring(tmpStr.length - strLen, str.length);// strの左から指定長分を取得
System.out.println(tmpStr);
ではいいのでは?
ぐ、ミスった。 int strLen; // 指定長 String nullFill = " "; // 指定長と同数の空白 String tmpStr = nullFill+szStr; // 文字列の先頭に空白を追加してtmpStrに格納 tmpStr = tmpStr.substring(tmpStr.length - strLen, tmpStr.length);// tmpStrの左から指定長分を取得 System.out.println(tmpStr);
>>834 アプレットが対象になるかどうかは知らんが、
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
</HEAD>
で、キャッシュを殺せばいいんでないの?
848 :
教えてくれ!!!!!!! :02/04/05 19:06
携帯のiアプリ用のアプリケーションを ボーランドのJBilder(Free)で作ることは可能ですか? なにか良い開発環境が他にあるのでしょうか? 教えろや、ゴルァ!!!!!!!!おまえら、答えれねーのかよ(藁
>>848 837読めや、ゴルァ!!!!!!!!おまえ、文字も読めねーのかよ(藁
JBilderじゃむり。
●●で開発出来ますかなんて聞いてるやつが 開発出来るとは思えん。
>>848 「お前じゃ無理 だめなやつはなにをやってもダメ明日学校だろ?早く寝ろ。」
853 :
教えてくれ!!!!!!! :02/04/06 11:50
♪グーグルぐっぐっぐー。
859 :
デフォルトの名無しさん :02/04/06 19:11
JBilderじゃむり。 JBuilderならOK。
public class pro{ public static void main(string[] args) { system.out.println("konnnitiha"); } }
861 :
デフォルトの名無しさん :02/04/06 20:30
質問です。 書き換えているうちに、使わなくなっちゃうクラスが ありますよね。そんな、使わなくなったクラスのimportは やめたいのですが、余分なimport文は、どうやったら上手に 見つけられますか。
>>861 IDEにimport文を自動編集する機能ある奴があるから、それ使え。
863 :
デフォルトの名無しさん :02/04/06 20:53
質問です。 自分で作ったパッケージにどんな名前付けてますか? 自分のドメインとか持っていたら、それ付ければいいんでしょうけど…。 個人の場合とかどうしたもんでしょうか? yamada.taro.package1 とかですか。自分の名前を付けるのは 公開するとき恥ずかしい気がします。
864 :
デフォルトの名無しさん :02/04/06 21:01
862>> あんたはすごい! 何がすごいかって、861の日本語が理解できたこと。 863>> 自分のドメインないのなら、どこで公開するの?? 自分のemailアドレスは?
>>862 ありがとうございます。IDEは持ってないのであきらめます。
>>864 どうもすみません。今度からもっと注意深く文を書きます。
866 :
デフォルトの名無しさん :02/04/06 21:16
コードの書き方によっては、gcが走っても、回収されないオブジェクトが発生してメモリリークの原因になる と聞いたんですが、具体的にどのような場合なんでしょうか?
867 :
デフォルトの名無しさん :02/04/06 21:32
>>866 <原則>
あるオブジェクトに対して、ユーザスレッドから何らかの参照チェイン
をたどることで到達できる強参照が存在するうちは、そのオブジェクト
はGC対象にならない。
それだけ。staticとかは気をつけろよ。
つかわなくなったら nullいれときゃええんやー
自分のドメインなんて無いけど、プロバイダからホスト名もらったから、それ使ってる。
871 :
デフォルトの名無しさん :02/04/07 02:33
使わなくなったらnull入れるなんて、そんなDQN作業やりたくないよ。 大体、ローカル変数ならコンパイラが勝手に処理できるでしょ。 せっかくのオブジェクト指向プログラミング環境だというのに、 こんな糞つまらない、非生産的、単純作業的なことをやらなきゃならないなんて最悪。 C/C++の時代に引き戻されたようで気分悪い。
>>867 亜土バイス、Thanx ! !
だいたい理解できた。
そういや、1.3.1_03がリリースになったね。リリースノート見たら、結構リーク周りも直ってるな。。。
1.4よりは、しばらく131_03でいいや。
873 :
デフォルトの名無しさん :02/04/07 02:42
>>871 フィールドを全部nullにするメソッドとか作っとくと
何気に便利な時があったりなかったり
874 :
デフォルトの名無しさん :02/04/07 02:49
>>873 そういう時はインスタンス自体を捨てろよ。アホか!
>>871 そうは言っても、それが現実なのだから仕方ない。
876 :
デフォルトの名無しさん :02/04/07 03:11
>>871 デカイサイズの寿命の短いインスタンスを、ローカル変数で作るような設計
をしているような奴は既に十分アホなので、今更DQNであることを気にすんな。
>>使わなくなったらnull入れるなんて、そんなDQN作業やりたくないよ。 これって DQN作業だったのか… へぇ。 ひょっとして オブジェクトの解放がソースの あっちこっちに ちりばめられてるDQNソース限定?
878 :
デフォルトの名無しさん :02/04/07 03:52
あれ?皆さん null 入れないの? GCがどこまできれいにしてくれるのか、 今ひとつわからないから、 とりあえず null 入れてる
879 :
デフォルトの名無しさん :02/04/07 03:57
>>878 >>867 が原則でしょ。ローカル変数が、実行スレッドがスコープアウトしたあとも
参照が残ったままと判断される事があることだけ気をつけておけば、そういう
無駄な作業をする必要はないと思われ。
>>878 ひょっとして null 入れた後 System.gc() とかやるのか?
881 :
デフォルトの名無しさん :02/04/07 16:00
>>879 げ。ローカル変数ってメソッド実行が終了した時点でなくなる
もんじゃないんだ。少なくとも C なら関数実行時だけだよね。
ローカル変数が有効なのは。
メモリの浪費は気にしないのが一番だろ。 気にしてたらjavaなんて使えない。
883 :
デフォルトの名無しさん :02/04/07 16:16
>>882 メモリを大量に使うこと自体は諦めるしかないが、GCされて欲しいオブジェ
クトがGCされない場合、サーバプロセスなどではメモリリークと実質同等な
のでダメダメでしょ、という話。
ライフサイクルの短いクライアントアプリなんかじゃ、あんまり気にする
必要のない話。ついでに言うと、大抵はプログラマのコーディングミス。
数箇所、VMのバグによるものがあるけど。>>BugParade参照
誰か、RMIとリフレクションを教えてくらはい。
>>884 こんなところで聞くより、SunのTutorial読んだほうがまし。
886 :
デフォルトの名無しさん :02/04/07 21:42
IBMのJREに入れ替えて見たらやけに快適なんですが、 他に使っている人は居ますか? 軽いし、落ちないし、 しかも末尾再帰を最適化するようだ!(再帰階乗計算で実験した) 互換性とかなにか問題起きたりしないよね? サンとIBM以外のランタイムはどうなんでしょうか? 他のランタイムの所在とその性能について詳しい人はおられますか?
Appletまでも快適になってしまった。 しかもSUNのJDKにサンプルとして入っているくせに、タイミングがよれよれに なって使い物にならなかったサウンド系のサンプルがきちっと動作した。 うわー、今までのJAVA生活は一体なんだったんだ! コンパイラの性能差もあったとしたら、コンパイルしなおしたらどうなるのだろう。 (コンパイラはまだ入れてない)
888 :
デフォルトの名無しさん :02/04/08 01:07
>>886 どこぞでベンチマークかけたら、IBMのJRE1.3CompatibleClassicVM
+JITは、SunJRE1.3HotspotServerVMの2倍の速度だったらしいよ。
IBMのJREforWinよりもJREforLinuxはさらに速いらしいよ。
笑っちゃうよね。
JVM の質; IBM > MS > Sun
890 :
デフォルトの名無しさん :02/04/08 01:45
自作のアプレットがHTMLで読み込めません。 代わりに灰色の四角が表示され、ブラウザには load :class (クラスファイル名)not found のメッセージが表示されます。 IE5.5のインターネットオプションの「<applet>にJAVA2 v1.4.0を使用」 のチェックを外してから、上記の様になりました。 チェックを外す前は、アプレットは正常に表示されていました。 web上にあるアプレットは、チェックを外した後も普通に表示されています。 何故私のファイルは表示されないのか、 原因の分かる方がおられましたら御教示お願いします。
891 :
デフォルトの名無しさん :02/04/08 02:07
>>890 ハァ?
自分で書いていることに原因が全てかかれていますが、
なにが聞きたいのでしょうか?
892 :
デフォルトの名無しさん :02/04/08 02:20
>>890 アナタのAppletが1.4向けに作られているから、、という原因でしょうが
<applet>でJAVA2 v1.4.0を使用
をはずしたら、他のアプレットも見れなくなりそうだけど??
この場合、どのVMでアプレットが表示されるんだろうね?
>>891 ということは、ローカル上のファイルは、
チェックを外したら表示されないということなのでしょうか。
JDK等をインストールしていない知人に
私の作ったアプレットを見せたかったのですが・・・。
894 :
デフォルトの名無しさん :02/04/08 02:33
>>893 どうやらいろいろな意味で知識不足。
初心者本くらい最後まで嫁。
>>892 ありがとうございます。
私のファイルは初心者用のサイトを参考にしたので、
簡単な命令文しか使われていませんが、
コンパイルの時点で1.4用のクラスファイルが作られるということなのでしょうか・・・。
896 :
デフォルトの名無しさん :02/04/08 02:41
>>895 IEのデフォルトのJavaランタイムであるMicrosoftJVM(JDK1.1ベース)じゃ
サポートしていない機能なりライブラリなり使ってんでしょ。
898 :
デフォルトの名無しさん :02/04/08 04:05
ここは 初心者歓迎! Java相談室 その6 です。お間違いなく。
99で、n!っていうのは どんなプログラミングをすれば計算してくれますか?
すれちがいすいません。ほかでききました。
901 :
デフォルトの名無しさん :02/04/08 05:45
MySQLを使ってデータベースプログラミングしてるんですが、 Javaからデータを挿入すると日本語が文字化けします SELECT * FROM <データベース名>; で、プログラム内から呼び出すときには 文字化けしないのに INSERTした文字が化けるのは、なんででしょうか? プログラム内では文字を直接埋め込んで指定してあります これがいけないんでしょうか? ドライバはmm.mysql-2.0.4-bin.jarです
>>901 がエンコードに対して無知すぎる
のがイケナイんではないかと思います。
903 :
デフォルトの名無しさん :02/04/08 16:02
>>902 はぁ?
おまえ、JDBC扱ったことないようだな
わからないんなら、いいかげんなこと
憶測で言わないでね
>>842 数年前めてJAVAアプレットで作った物がスロットだった。
905 :
デフォルトの名無しさん :02/04/08 21:05
borderをなくしたいと思ってJListを使ったのですが、 Listのときと違ってsetSize()を使っても、大きさがそのとおりにならないのですが… 理由と解決策を教えてもらえないでしょうか?
906 :
デフォルトの名無しさん :02/04/08 22:15
>>903 >>902 は正しい可能性があると思われ。
単にJavaの内部データの通りUnicodeあたりで書き込んでいる
だけかと思われ。それをSJISで見ようとして「文字化けだ!」
と騒いでいるド素人の可能性が大きいと思われ。
>>905 void setFixedCellHeight(int height)
リストにあるすべてのセルの高さを設定します。
void setFixedCellWidth(int width)
リストにあるすべてのセルの幅を設定します。
907 :
デフォルトの名無しさん :02/04/09 00:21
>>901 ソースに書きこんだ文字は全てUNICODEになります。
String str = new String("テスト".getBytes(),"SJIS");
この str を、DBに保存
String str = new String("テスト".getBytes("SJIS")); だったっけ? わからんよーになってもた・・・。 ど~やったっけ?
>>907 String str = new String( エンコーディングしたい文字列のバイト配列, エンコーディングしたい文字コード );
String.getBytes( "8859_1" ) で、
UnicodeであるStringオブジェクトを指定したエンコーディングで変換したバイト配列を得ます。
ISO-8859-1、ISO-2022-JP、Shift_JIS、MS932、SJIS、EUC_JIS等(もっと沢山あるらしいですが)
がエンコーディングで指定できます。
つまり、エンコーディングしたいStringがoldstrで、"SJIS"でエンコードしたい場合。
String str = new String( oldstr.getBytes( "8859_1" ), "SJIS" );
となります。
ただ、Exceptionを吐くときがあるので、try~catchしてください。
8859_1 の説明が微妙に… まぁいっか。
913 :
デフォルトの名無しさん :02/04/09 03:47
JTableの、あるひとつのセルを、コンボボックスに するにはどうするのでしょうか?
914 :
デフォルトの名無しさん :02/04/09 05:09
>>901 に対する答えだが・・
というかJavaがどの時点で
UNICODE使ってるのかわかってないくせに
答えてるやつがいる
おまえらの説明だと
ローカルで普通に入出力するときも
エンコードしなくちゃいけないということになるぞ?
>>914 と言う訳で、
一番良く分かっているあなたから詳しく説明おながいします。
>>914 私からもおながいします。
とりあえずどこからどこまでがunicodeでどこからがsjis..なのか詳しく知りたいので。
>>914 私もエンコードのルールについて詳しくないので...
どこまで勝手にやってくれる(?)のか、詳細を知りたいです。
914じゃないけど、出力する予定の文字列とかちゃんとダンプし調べてみた? テキトーなのだけれど。 public void strDump(String str) { String dst = ""; char[] buf = str.toCharArray(); for (int i = 0; i < buf.length; i++) { dst += Integer.toString( buf[i], 16) + ":"; } System.out.println("----+-------------------------------------------------------"); System.out.println("DATA:" + str); System.out.println("DUMP:" + dst); return; }
エンコードって 入力データと入力時のエンコードが間違ってないか、と 出力先で期待される文字コードと エンコードが間違ってないか、と 後は 入力時と出力時のエンコードが変換可能か、と ぐらい調べればいーと思ってたけど、 それ以外なんかあります?
内部処理はunicodeなんだけど入力は環境に依存する。 TOMCATであれば、フォームのページの文字コード (SJISやEUCなど)でそのまま入ってくる。 アプリケーションならOSの文字コードではいってくるんじゃ ないかな?(未確認) よって、まず入力データの文字コードが何かを確認し、 データベースの文字コードに変換してからinsert。 MySQLのコンパイル時にきちんと文字コードを設定しておけば、 JDBCが変換してくれるようなことがどこかに書いてあったような・・・
Stringインスタンスの内部データは常にUnicodeであるという前提でJava は動いているんではないでしょうか。 ソースにハードコードした文字列は、コンパイルの時点でUnicodeに変換 されてクラスファイルの定数エリアに書き込まれるんでしょ?
922 :
デフォルトの名無しさん :02/04/09 21:21
>>920 >TOMCATであれば、フォームのページの文字コード
>(SJISやEUCなど)でそのまま入ってくる。
必ずしもそうではないから、これを前提としたコードは
書いてはいけない。
>>921 誰もそれを否定していないとおもうけど?
923 :
デフォルトの名無しさん :02/04/09 21:57
プログラム超初心者です。 データの出力で分らない事があるので教えて下さい。 データを一覧用と詳細用に出力したいのですが 出力すると、Intで出力されてしまいます。 Statement Stmt = Con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONRY); Stmt.setFetchDirection(ResultSet.FETCH_FORWARD); としていますが、どこがイケナイのか良く分りません。 どなたかアドバイスお願いします!
>>923 どうアドバイスしていいかよく分かりません。
どなたか鉄槌をお願いします!
>>923 一晩ぐっすり寝て、明日自分の質問をもう一度良く読みなおせ。
926 :
デフォルトの名無しさん :02/04/09 22:50
java初心者でもすぐ使えるjava作成ソフト 何か教えてください!!(無料希望)
javaを作るならgccかな。 すぐ使えると思うよ、すぐ作れるわけじゃないけど。
928 :
デフォルトの名無しさん :02/04/09 23:12
何処でダウンロードできますか?? お手数かけてすみません
>913ですが、放置プレイかよ! エンコードの話題が盛り上がってすっかり気づかれていない みたい・・・。 JTableの、あるひとつのセルを、コンボボックスに するにはどうするのでしょうか?教えてください。
930 :
923デス :02/04/09 23:14
質問の仕方おかしいのでしょうか? 本当に分らなくて渦巻いてます。 えと。 一度、詳細用にデータを取得し、 beforFirstでカーソルを戻して 一覧用に必要データだけを取得したいのですが データがすべてIntになってしまい、日本語が表示されない。 という状態で、日本語を表示する方法が分りません。 ちなみに、先ほどのを書かないで実行すると 詳細用はうまく表示できるのですが 一覧用が空データになってしまいます。
932 :
デフォルトの名無しさん :02/04/09 23:23
単体テストですべてのパスを通すテストをしたいのですが、 JUnit以外に良いツールご存知ないでしょうか?
>>929 javax.swing.table.TableCellRenderer&米国SunのTutorial
これで分からない奴は首吊って氏ぬべし。
>>930 プログラム書く前に「分かりやすいプレゼンテーション」について勉強すれ。
>>934 分かりやすいと言うか、コミュニケーション能力。
>>930 を読んでもさっぱりわからん。
もし社会人なら先が思いやられるな。
>>922 なるほど。。
ところでみなさん、JISに変換するとき「~」とか
どうしてます?
パックマン作ろうとしてるんですけど、パックマン移動させようとすると コンパイルエラー。Pacman.java:26: 定数式が必要です。 とか出る。 addKeyListener(new KeyAdapter(){ public void keyTyped(KeyEvent e){ switch(e.getKeyCode()){ case e.VK_LEFT : x -= 2; break; case e.VK_RIGHT : x += 2; break; repaint(); }}}); なんでですか?
>>937 SJISで読んでから JISで書き出せばおっけーじゃなかったっけ?
MSJVMの古いバージョン等は除く。
942 :
デフォルトの名無しさん :02/04/10 19:03
アヒャヒャヒャヒャヒャ アマゾンで注文してた Learn to program with Java が届いた。 お前らを越えてやる、、、この本で越えてやるぞ、、、
943 :
みずきちゃん :02/04/10 20:38
944 :
デフォルトの名無しさん :02/04/10 20:48
>943 てめー マルチポスト宣伝ってことはおみとおしだ!
946 :
デフォルトの名無しさん :02/04/10 21:50
javaをやろうと思って、ダウンロードしてためしに 本に載っていたjavaのプログラムをかいてみたのですが、 「有効なwin32アプリケーションではありません。」と 出てしまい、できません。どうしたらいいのでしょうか。 ちなみにOSはXpです。
947 :
デフォルトの名無しさん :02/04/10 21:55
>>946 きときとさんのCPad for Java 使え。
それはそうと、今入門書読んでるけど、Javaなんか、簡単ジャン。
5年前Javaの本読んだときは、すっごく難しくて理解できなかったけど、
今回、アマゾンで、売れスジをよーくチェックして購入したおかげですんなり理解できるよ!
>>947 分かりました。早速探して使ってみます!
ありがとうございました。
内部クラスの概念が難しい。。ジャバの勉強初めて3ヶ月目でした。。
>>930 ソースと実行結果さらしたほうが早いよ。
>データがすべてIntになってしまい、日本語が表示されない。
の部分が一番意味不明。
>>930 って ネタじゃなかったのか?
ソースさらしても答えが返ってくる保証は無いけど。
答えが返ってくる可能性はあがるかもね。
952 :
デフォルトの名無しさん :02/04/11 00:19
なんでCONST宣言するのにFinalなんぁ使うんだ? Pascalみたいにconstはconstでいいじゃないか。 あとcase sensitive なところもうざいよ。
952は典型的なDel厨ですが典型的すぎて勘ぐってしまいますね。
954 :
デフォルトの名無しさん :02/04/11 00:56
Del厨というか今日はじめて入門書読んでるんだけど。 もう77ページまできたよ。はやいでしょ。
おー はええはええ
957 :
高校三年です :02/04/11 01:11
独学でJAVAではじめるプログラミング1.2(桑原信也)を読みました。 本に書いてる内容は使えると思っています。 将来のことはまだ考えていませんが、今はJAVAを極めてみたいと思っています。 次に読むお勧めなものを教えてください。 宜しくお願いします。
>>957 読んでばっかいないで
なんか作れやゴルア!
講習だけでくるま運転出来るんなら教習所なんかいらねぇよ。
必要になった資料アサレ!
959 :
高校三年です :02/04/11 02:36
>>958 アドバイスありがとうございます。
でも正直言って自分自身何を作りたいのか、何をつくればいいのか
わかりません。
ただ、JAVAが流行ってるみたいだから…って理由で始めただけなんです。
こんな私がプログラム勉強するのは失格でしょうか?
Javaが流行ってるのはサーバーサイドだけな様な…… その本がどんな内容なのか、SDKでやるのかJBuilderみたいな IDEを使うのかわからないのですが、とりあえずその本に書いてある サンプルを自分で入力して動かしてみました? サンプルを動かしているなら、そのサンプルを改善するとか 簡単なアプリ(たとえばメモ帳とかデジタル時計とか)を作ってみては いかがでしょう。その過程でわからないことが出てくると思うので そのときにWebで調べるなり本屋で自分が知りたい内容が 載っている本を買うなりするのが良いと思います。
>>959 つか、作りたいものが無いと、手が動かないんでない?
>>959 とりあえず流行もんっていえばSOAPでWebサービスあたりか。
>>933 わかりません。
TableCellRendererの説明読んでもチュートリアル見ても
わかりませんでした。
JTableの、あるセルをコンボボックスにしいんだけども、
固定しているのではなくて、全体のGUIのある条件下では
あるセルがコンボボックスになり、また別の条件下では
別のセルがコンボボックスになる、といったことをやりたいんです。
どなたか手解きお願いします・・・。
JSPからJDBC経由でデータを取得しようとしています。 getString("列名")で取得した日本語データがJSPで出力すると ????となってしまいます。 同じJSPファイルで普通に日本語を表示はできます(out.printl n("日本語") また、同様のコードを普通のクラスファイルにして標準出力に 出力すると文字化けせずに表示されます。 WINDOWS98上で JDK1.3.1 ドライバ-付属のODBCブリッジ-ACCESS JDK1.3.1 MYSQLドライバ(最新版)-MYSQL(最新版) です。ヒントがありましたらお願いします。
>>964 このすれの901あたりからよく読んでみたら?
文字化けの解決法が書いてあると思いますよ
>>964 エンコードどうたらこうたらより、OLに目が引かれるんだけど・・・。
キレイな方なら、メール下さい。 丁寧に教えます。
967 :
高校三年です :02/04/11 18:55
みなさん、こんな質問にレスありがとうございます。
部活から帰ってきて、今、拝見しました。
>960
JAVAは、そんなに流行ってないんですか?まだまだいろいろ勉強不足みたいです。
テキストは、SDKでやりました。
サンプルは動かしましたし、改造も自分なりにはやってみました。
でもそれ以上何をやっていいのか・・・行き詰まって、こちらに書込みしました。
>>961 おっしゃる通りです。どうしたらいいのか自分でも「?」なのです。
>>962 SOAPですか。初めて聞きました。検索して調べて見ます。
せっかく始めたのでどこの企業に行っても「キミJAVA相当できるね!」
と言われるレベルになりたいと思っています。
これからの独学での学習方法、ご教授を宜しくお願いします。
968 :
デフォルトの名無しさん :02/04/11 19:12
>>967 JAVAははやっているというほどのものではないと思います
どちらかといえばまずい方向に行っていると思います。
あと、javaでオブジェクトを消すときは
deleteで消えますか?
969 :
デフォルトの名無しさん :02/04/11 19:54
>>968 >どちらかといえばまずい方向に行っていると思います。
へ~、まずい方向に行ってるのかぁ~。
>あと、javaでオブジェクトを消すときは
>deleteで消えますか?
知らないんじゃん・・・。
JAVAでMIDIの作曲掲示板って実現できますか? JAVAじゃなくてもいいけど、ブラウザで皆で作曲したいんです。
973 :
デフォルトの名無しさん :02/04/11 21:41
>>968 オブジェクトの参照が無くなったら、
そのうちガベージコレクタって奴が勝手に掃除してくれるよ。
プログラマーが意識しなくてもいい場合が大半で、ラクチンさ。
だからって、メモリリークが起きないわけじゃないぞ。
ヘンに参照してないか注意だ。
>>972 わからんけど、たしかそんなアプレットあった気がする。
しかし、誰もそんなので作曲しようとしなかった。
975 :
デフォルトの名無しさん :02/04/11 21:56
マウスイベントのことで教えてください。 よくあるマウスでお絵かきするアプリを作っています。 mouseDraggedイベントで座標をひろって、drawLineで フリーハンドの曲線を描けるようにしたいのですが、 どうもmouseDraggedが追いつかずに、座標が飛び飛びになり、 なめらかではなくカクカクとした線になってしまいます。 mouseDraggedイベントで軌跡の全部をpixel単位で拾う 方法はありませんか?
>>975 MouseDraggedで拾えていないなら、それ以上は無理かと。
仕方がないから、CPUの性能上げるか、draw以外の処理にCPU時間が
取られないように、他の処理を削るしかない。
…もしかして、drawする時に描画領域全部ダブルバッファリングとか、
そういうあほなことをしていないだろうね?
>>976 レスありがとう。
ですよね。関係ない部分は一切削って、
これ以上軽くできない!ってアプリで試してます。
やっぱりJava=遅いってことであきらめるしかないかなー。
978 :
デフォルトの名無しさん :02/04/12 00:59
>>968 javaにはdeleteなんてねぇよ!
>>978 ネタニマジレス
ハルノチュウボウマツリ
980 :
デフォルトの名無しさん :02/04/12 01:03
↑?
981 :
高校三年です :02/04/12 01:29
>>968 レスありがとうございます。
ちょっと気になったんですが、まずい方向…?これ詳しく教えて頂けませんか?
個人的見解でも結構ですから、宜しくお願いします。
982 :
デフォルトの名無しさん :02/04/12 05:38
まずい方向?
もし、プログラマになりたいんだったら
Javaが、今一番いいぞ!と、俺は思う
日曜プログラマだとしても十分楽しめる
コアJavaだけでも十分楽しめる
俺は、(興味ある中では)XML関連、DB関連をやってないので
これからやろうと思うんだがワクワクするね
Javaがどうなろうとかまわない
っていうか、Javaに関するネタがあまりにも多いので
Javaがこけるなんて、思えない
>>937 たしかに「~」は困ったね。
俺も経験あるよ
エンコードにDefaultなんとかっていうのを指定していたんだけど
(間違っていたらすまん、そんなような名前だった)
どうも、完璧じゃないみたいだという話を聞いた
まあ、
>>940 のいうやり方のほうが安全かも
俺は昔、アスキーとして認識された文字が
内部でUnicodeに変換された
物をSJISに変えたことはあったので
おんなじようにやれば出来るかも
(ややこしいな、Java)
983 :
デフォルトの名無しさん :02/04/12 05:48
教えてください 「IBM JDK&JVM&SWT」っていうのは 「IBM Developer Kit for Windows(R), Release 1.3.0」 をDLすれば全部入ってるんでしょうか? それとも、別々? リンク先教えてください
985 :
デフォルトの名無しさん :02/04/12 15:15
分散オブジェクト技術の入門書を教えてください。 とくにJavaRMI、CORBAについて
989 :
デフォルトの名無しさん :02/04/12 23:19
オブジェクトを明示的に削除する方法をきぼんぬ。
>>989 ない。ついでに言うと、必要ない。
GC可能とマークされたオブジェクトは、OutOfMemoryErrorを発生する前に
削除される事が保証されるように、JVMを作らなければならないと、仕様
で決まっている。
991 :
デフォルトの名無しさん :02/04/12 23:23
>>985 RMIなら最初はJDK付属のドキュメントで十分。
Javascriptこれ合ってますか?今HTML勉強中です、、、今度はこっちに来るんでよろしくお願いします~
2chには初めて書き込みます。 皆様凄いプログラムを色々お知りですね。 感激しました。 厨房な自分ですが、色々とよろしくお願いします。
995
996 :
デフォルトの名無しさん :02/04/13 01:27
>>992 JAVAとJavascriptは違うものらしいです…
次スレはJavaScriptスレへの誘導リンクも貼ってみるとか。 たぶんWeb製作板かWebプログラミング板あたりにありそう。 // ところで次スレは、まだ建ってないの?
JavaScriptだと思っていた物がJScriptだったという罠…
うわーん  ̄V ̄ ̄ ̄ ̄ 人 dukeゲットー \/〇ヽ/  ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ し-J=3 ⊂(`Д´⊂ )⊃===3
よかった・・  ̄V ̄ ̄ ̄ ̄ 人 と見せかけて900ゲットー /〇ヽ  ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ |し-Jヽ |900|⊂(`Д´⊂ )⊃===3
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。