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

ネタ心者歓迎!今更ながらにJava相談室  その3

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
                        \ | /
 ⊂⌒⊃        ⊂⌒⊃     ―‐ ● ―‐  ⊂⌒⊃           ⊂⊃
         ⊂⊃                 / | \          ⊂⊃
                  ⊂⊃                           ⊂
/~\へ/~\へへ/~\/~\へ/~\へ/~\へ/~\へヘ/~\/~\ヘ/~\/~\
,,、,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,| 立った立った!Javaの新スレが立った! |,,,,,,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,\________  __________/,,,,,| Javaの質問はここでしようね! |
||=||=||=||=||=||=||∨=||=||=||=||=||=||=||\___  ________/
,,,,,,, ,,,,, ,,, ,, ,,, ,,, ∧_∧ ,, , ∧_∧,, ,,,,, ,, __ ,,,, ,,,,,∨  ,,,,, ,,,, ,, ,, ,,,,,, ,, ,, ,,,,
,, e@@e ,,,,,, ,,, ( o´∀`) ,,,,, (∀・ ; ),,,, , |   || ,,, ,,,, e@@e , ,,,, ,,, ,,, ,, ,, ,,,,,, ,
,,, (, ゚д゚) ,,, ,,⊂   ⊃,,, ,,⊂⊂⌒ヽ、, ,,, |!____i|| , ,,,♪ (・∀・,)_ノ ,,,,, ,,,, ,, , ,,,, ,, ,
,〜((  ,,), ,,,, ,,,○(   ノ ,,,, プル ))   )○/_/) ,,,, ,, とと,,__つ , ,, ,, ,, ,, ,, ,,
,,,, ,UUU∧,,, ,,,,,, )__)_) ,, ,,, ,(( (_(_ノ ))プル,,,,◎ ,, ,,, ,, ,,,,, ,,,,, ,,, ミ ピョン
| | / ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| |,,,,,,,,,| |,,, ,,,| |,,, ,,| |,,, ,,,| |,,, ,,| |
| |,| 書き込む前に>>2-10をチェックしとけやゴルァ!! || |二二| |二二| |二二| |二二| |二二| |
| |,,\___________________/| |,, ,,,,,| |,,,, ,,,,| |,,,,,,,,| |,,,, ,,,,| |,,,,,,,,| |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>2 過去ログの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 サーブレットとかJSPとかサーバサイドとか携帯電話とかJBuilder5の質問はこちらへ
>>5 Javaを撲滅させたい方、死滅を心配してる方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
0232べんきょうちゅうNGNG
>>231

すんません。
まったくもってそのとおりでした。

でもありがとう!!
0233>176NGNG
EJBの規則ではSessionBeanをスレッド化してはならないよね?知ってた?
0234デフォルトの名無しさんNGNG
ObjectStore PSE/Proに画像を
格納することは出来るんでしょうか?
出来るとすればどうやればよいのでしょうか。
Java.awt.imageクラスを使うのか、強引に
文字列で読み込ませるのでしょうか。
教えてくれ君ですみませんがご教授お願いいたします。
0235デフォルトの名無しさんNGNG
メンバってインスタンスの事?

メンバ関数とかメンバ変数とか言っている人がいるけど.
{インスタンス|静的}{関数|変数}
なら知ってるんだけど.
0236デフォルトの名無しさんNGNG
実体無くてもメンバーはメンバー。
0237デフォルトの名無しさんNGNG
>>235
俺も使ってたけど
特定のクラスのメンバではない変数や関数がないJavaでは
意味のない単語だったね。不適切だったかも。
もともとC++の用語と思われ。
0238デフォルトの名無しさんNGNG
>>235
関数ってなに?メソッドじゃないの?
・・・って言い返したくなるのは、なぜだろう。
0239デフォルトの名無しさんNGNG
ここ↓に、はっきりと 8.2 Class Members と書いてあるが、なにか?
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#21831
0240216NGNG
>>223
>>226
ありがとうございます。(レスが遅れてすみません。)
とても勉強になりました。

私の課題は、1行ごとに
Taro 23 15
のようなデータのあるファイルから個別のデータを読み込んでいくことです。
StreamTokenizerもMessageFormatもぜひ理解し使いこなしたいのですが、
当面はちょっと難しそうです。
今回は、readLineで一行ずつ読み込んで、StringTokenizerで分解して
いこうかと思います。特に「バカな方法」ではないですよね。
(ざっと見た感じでは、StreamTokenizerは高機能すぎて今の私には猫に小判です。
MessageFormatはまだ読めていません。)

ありがとうございました。
0241210NGNG
Javaで600×500の画像を使うのはおかしいでしょうか?
0242デフォルトの名無しさんNGNG
>>241
おかしくないけど
0243210NGNG
スレッドって、sleep命令は必ず入れたほうがいいですか?
HSPだとwaitという同じような命令を使わないと処理が
おかしくなるのですが。
0244JAVANGNG
>>243

HSP厨に用はない。
0245デフォルトの名無しさんNGNG
Rubyなら出来ます!!!!!!!!!!!!!!!!!!
0246デフォルトの名無しさんNGNG
RUBY>>>>>>>>>>JAVA==HSP
0247デフォルトの名無しさんNGNG
>>243
一定時間ウェイトを入れる時にはsleep()を使う。

ただ単にほかのスレッドへスイッチするチャンスをVMに
与えるだけならyield()ってのもある。
でもVMの実装によってはスレッドのスイッチは勝手に起きるから
yield()が無駄になることもある。

でもJavaの錦の御旗でもある互換性の確保をしたかったら
時間がかかる処理にはループの中にyield()を入れておくべき。
0248_NGNG
Javaチャット作りたいんだけど難しいですか?
作り方でてるいいサイトあったら紹介してください!
0249210NGNG
>247
ありがとうございます。早速、使ってみます。
>244
HSPはちょこっと触った程度です。
同じインタプリタなのでちょっと例を挙げてみただけです。
0250デフォルトの名無しさんNGNG
誰か教えてください。
JOptionPane.showConfirDialog()って整数値返しますよね?
この戻り値を拾わなければ問題無い(アプリとして意味無いが)んですが
この戻り値を拾ったとたんにプログラムの挙動がおかしくなります。
つまり
JOption......;
なら問題無いが、
int val = JOption....;
とすると駄目なんです。コンパイルは通ります。なぜですか?
0251デフォルトの名無しさんNGNG
>>248
まずは普通につくれ。特別な技術はいらない
0252デフォルトの名無しさんNGNG
フォームの事で質問なのですが、submitボタンを押す事で
・POST
・ウィンドウ閉じる
を同時に出来ないようなのですが、何か良い方法はないでしょうか。
↓の書き方だとpost出来ずにウインドウだけが閉じてしまいます。

<form action=hogehoge.php method=post>
:
:
<input type="submit" value="確定" onClick=window.close()>
</form>

よろしくお願いします。。
0253べんきょうちゅうNGNG
はぁ・・・わけがわかんなくて勉強嫌になってきたよー(涙)

質問です。

KeyListenerって、すべてのコンポーネントに追加できるんだよね?
たとえば、Buttonコンポーネントに追加して、
KeyListenerのメソッド全部オーバーライドしたとするでしょ。
そしたら、どういうことになるの?
Buttonにカーソルが置かれていて、任意のキーが押されると
イベントが発生するわけ?

全然わかんないよー。
教えてください。

試しにソース書いてみたけどどのキー押してもなんにも起こらない。
悲しい。
0254デフォルトの名無しさんNGNG
>253
ButtonのrequestFocus()は呼んでる?
0255デフォルトの名無しさんNGNG
UNIX上で X window に gui を表示する場合、
別のOSの動いているマシンのXサーバに表示
させようとすると、jre 付属の font.properties.ja
に書かれているのとフォント名が全然違ったり
して、ウォーニングがたくさん出てイヤ!
そんな問題を回避する方法、教えてケロ!!!
0256java厨NGNG
画像の一部分をコピーしたものを表示させたいのですが
うまく表示されません。
どうすればいいのでしょうか?

init内に
 Image full_image = getImage(getDocumentBase(),"field2.gif");
 ImageFilter cropper = new CropImageFilter(0,0,40,40);
 ImageProducer prod = new FilteredImageSource(full_image.getSource(),cropper);
 Image cropped_image = createImage(prod);

public void paint(Graphics g)内に
 g.drawImage(cropped_image,0,0,this);

こんな感じです。
0257デフォルトの名無しさんNGNG
x*s*.4f;
ってどういう意味ですの?
0258java厨NGNG
コンパイルは成功します。
Appletviewerを使うと
Exception occurred during event dispatching:
Java.lang.NullPointerException
〜
と出てしまいます。

ためしに↓を描画させようとしたのですが失敗。。。
Image testhoge=getImage(getCodeBase(),"uo.jpg");


思いっきり厨房ですがよろしくお願いします。
0259257NGNG
.4
これの事ね
0260デフォルトの名無しさんNGNG
>257
.4fは0.4fと同じ意味
0261デフォルトの名無しさんNGNG
>256
もしかしたら
× Image cropped_image = createImage(prod);
○ cropped_image = createImage(prod);
かも
0262java厨NGNG
>>261
ためしてみましたが、結果は同じようです・・・。
うーん

ついでにこれもなおしておきました。
× Image full_image = getImage(getDocumentBase(),"field2.gif");
○ full_image = getImage(getDocumentBase(),"field2.gif");
0263。NGNG
0chだって。
http://medetai.kakiko.com/0ch
0264256java厨NGNG
全体の構造はこんな感じです。
やっぱりこれだけじゃ足りないのでしょうか・・・

--------------------------------
import いろいろ

public class test extends Applet{
 public Image full_image;   //全体画像
 public Image cropped_image; //画像の一部分

  public void init(){
   full_image = getImage(getDocumentBase(),"field2.gif");
   ImageFilter cropper = new CropImageFilter(0,0,40,40);
   ImageProducer prod = new FilteredImageSource(full_image.getSource(),cropper);
   cropped_image = createImage(prod);
  }

public void paint(Graphics g){
 g.drawImage(cropped_image,0,0,this);
}
0265257NGNG
>>260
さんくすです
0266 NGNG
>>264
そのコードで実行してみたけれど、僕の環境では上手く行きましたよ。
Win98 + Java1.3.1_01です。
0267デフォルトの名無しさんNGNG
cropped_imageがまだ完成しないうちにpaint()がJVMから呼ばれる
ことがあるんだよ。その時だけcropped_imageがまだnullなんでオコラレル。

つうわけで、paint()でdrawImage()すんのはやめれ。
(第一、そこでそんなことやったら何度も何度もdrawImage()くり
返すから、レンダリング能力の浪費だよ。)cropped_imageが完成
するまで待って、AppletからgetGrapics()して、そこにdrawImage()
してみそ。
0268デフォルトの名無しさんNGNG
>>253
ボタンにフォーカスがいってないんじゃない?
Javaに限らずキーイベントは基本的にフォーカスがあたっているコントロール
だけに送られるものだよ。(厳密に言うと突っ込みどころいっぱいありそうだけど)
ブラウザの入力項目もキー入力を受け付けるのはキャレットが点滅してる
どれかひとつだけでそ?
0269デフォルトの名無しさんNGNG
>>255
> UNIX上で X window に gui を表示する場合、
> 別のOSの動いているマシンのXサーバに表示
> させようとすると、jre 付属の font.properties.ja
> に書かれているのとフォント名が全然違ったり
> して、ウォーニングがたくさん出てイヤ!
> そんな問題を回避する方法、教えてケロ!!!

Java言語そのものの問題というよりシステムの設定の問題だろう?
リモートの方の設定とxサーバのフォント設定は確認した?
0270デフォルトの名無しさんNGNG
>267
initより前にpaintが呼ばれることはないと思うよ
それからgetGraphicsで描くと再描画されない気が
0271デフォルトの名無しさんNGNG
>>270
init()通っていても、Imageが完成しているとは限らんと思うが。
0272ガスター天NGNG
アップレットを作りました。
しかし、そのアップレットをブラウザで読み込むと
ブラウザの動きが悪くなりました。
この状態はブラウザの昨日を落とすまで続きました。
このための対策とは何か質問をしています。
答えを与えてください。
0273デフォルトの名無しさんNGNG
>>272
メモリ増やせ。
0274デフォルトの名無しさんNGNG
>271
少なくともnullでは無いよ
0275デフォルトの名無しさんNGNG
>>274
Imageインスタンス内部の変数がまだnullかもよ。
0276ガスター天NGNG
そのアップレットは正常に動きます。
しかし、その後ブラウザを使っていると不快感を覚えます。
Javaのガベレジコレクタが働かないのはなぜかという疑問にぶつかりました。
0277デフォルトの名無しさんNGNG
>>267
>つうわけで、paint()でdrawImage()すんのはやめれ。
>第一、そこでそんなことやったら何度も何度もdrawImage()くり
>返すから、レンダリング能力の浪費だよ。)cropped_imageが完成
>するまで待って、AppletからgetGrapics()して、そこにdrawImage()
>してみそ。

ここが上手く理解できません。
getGraphics()して得たGraphicsにdrawImage()しても、アプレットに反映
されないのですが、どうすれば反映させる事ができるんですか?
0278274NGNG
>275
えっと、JDK1.1の時代のイメージモデルは
非同期で処理が行えるようになっていて、
・・・説明めんどくさい。
ImageObserverとかImageProducerとか自分で調べてちょ
0279デフォルトの名無しさんNGNG
イニシャライザーについてなんですけど。

class Tag
{
  String name ;
  int num ;
}

final static Tag[] = { { "aaa" , 1 } , { "bbb" , 2 } , { "ccc" , 3 } } ;

Cっぽく、こうしたいんですけど、方法ないですか?
0280デフォルトの名無しさんNGNG
>>279
こういうのはどう?

class Tag {
  private String name ;
  private int num ;
  Tag(String name, int num) {
    this.name = name;
    this.num = num;
  }
}

final static Tag[] tags = { new Tag("aaa", 1), new Tag("bbb", 2), new Tag("ccc" , 3)} ;
0281279NGNG
>>280
ありがと、勉強なたよぉ〜
好きになっていいですか?
0282デフォルトの名無しさんNGNG
>>276
ひょっとしてAWT使ってる?
SWINGに変えればマシになるかも。
0283279NGNG
>>280
ちょと、疑問に思ったんだけど、

>final static Tag[] tags = { new Tag("aaa", 1), new Tag("bbb", 2), new Tag("ccc" , 3)} ;
finalが付いてstaticだって事は、クラスが起動時に生成されるわけじゃなくて、
tagsの配列の状態が、実行ファイルに内包されてて、ただ読み込まれるだけ
って考えていいの?
静的にtagsを確保したいんだけど、どですかね?
0284デフォルトの名無しさんNGNG
>>283
tagsの配列に入っているのは、Tagインスタンスへの参照です。
newされているTag自体は、newですから当然ヒープに生成されます。

final static ですので、初期化状態のtags(=クラスロード時に
Tagインスタンス3つを参照する配列インスタンスへの参照)から
変更することが不可能ですから、機能としてはC++の静的確保と
同じです。

メモリ上の話ですと、Tagsインスタンスはヒープ領域、Tags
配列インスタンスはクラスロード領域に確保されます。
(もっとも、JavaMemoryModelの擬似マッピングと、実際の
ハード上のメモリマッピングは違うでしょうけど)
0285デフォルトの名無しさんNGNG
Javaのクラスは、ロードされた時にまずクラス初期化メソッドが
コールされ、staticフィールドが初期化されます。
バイトコードコンパイル時に自動的に生成されるメソッドです。
あくまでメソッドですので、実行時に実行されます。Tagインス
タンスの生成もその時(=クラスがロードされた時)に行われます。

ちなみにこのクラス初期化メソッドは、ユーザがコーディングする事
も可能です。メソッド名なしでstatic{}とかくと、{}の中身が
クラス初期化メソッドになります。
0286デフォルトの名無しさんNGNG
>>269
>Java言語そのものの問題というよりシステムの設定の問題だろう?
>リモートの方の設定とxサーバのフォント設定は確認した?
レスありがとうございます。仰る通り、警告が出る原因は、
jvm が参照する font.properties.ja に書かれているフォントが
Xserver 上にないからなので、インストールされているjvmが、
どのXserverに接続するかが固定であれば、font.properties.ja
を書き換えてしまえば良いと思います。困っているのは
ヘテロな環境で、どのXserverにつないだかに応じて適切なフォント
を使うように設定する方法なんです。私の所では、
通常 jvm は root 権限でインストールされるので、自分の都合で
全体に影響を与えるような事はしたくない、1ユーザレベル
でこれに対処する方法が存在するのであれば嬉しいのですけど…
X側で fonts.alias を使いまくるのかなぁ…
0287デフォルトの名無しさんNGNG
>>286
フォントファイル名を指定してフォントを読み込めばいいんじゃないかな。
Font.createFont(Font.TRUETYPE_FONT, new FileInputStream("xxx.ttf"))
てな感じで。ただし 1.3 以上。
0288デフォルトの名無しさんNGNG
Java初心者です。お願いします。
よく次のようなクラスを見ます。

class X
{
 private int data;
 public void setData(int d){ data = d; }
 public int getData(){ return data; }
}

これは、dataをprivateにしていますが、結局、アクセスメソッドを
与えているので、それなら最初からpublicの方がよいのではないでしょうか?

それから、少し、関連した質問もさせてください。
お願いします。
0289デフォルトの名無しさんNGNG
質問2です。
上のレスのクラスの場合、classがpublicでないので、メソッドに
何も付けなくても同じだと思います。
にもかかわらず多くの本で、上のようにpublicを付けているのは
なぜでしょうか?

お願いします。
0290255=286NGNG
>>287
ども。1.3以降では、そんなことができるんですね。試してみます。
プラットフォーム毎に微妙にフォントサイズが違って… という問題も
本質的に回避できそうですね。すごく嬉しいかも。
IBMのSDKのdownloadの所から落せるフォントって何のためにある
のか判らなかったけど、コレに使えってことなのかな。
0291デフォルトの名無しさんNGNG
質問3です。連続質問で本当にすみません。
>>288のクラスを継承しようとすると、dataがprivateでは使いにくいと
思いprotectedにしてみました。
しかし、調べてみると、サブクラスを同じファイルに書くなら、protected
を付けるより何も指定しない方がアクセス制限がかかることがわかりました。
みなさんは、こういう場合どうしていますか?

つまり、サブクラスは同じファイルに書かないようにするとか、
同じパッケージに入れないとかの不文律でもあるのでしょうか。

いろいろアクセス制限で悩んでいる初心者です。
よろしくお願いいたします。
0292デフォルトの名無しさんNGNG
>>263
10進法で12くらいかな?
0293デフォルトの名無しさんNGNG
>>290
> プラットフォーム毎に微妙にフォントサイズが違って… という問題も
> 本質的に回避できそうですね。すごく嬉しいかも。

まさにその目的のために実装された。TrueTypeの自力描画。
0294べんきょうちゅうNGNG
今Javaの本を読んでいたんですが。

「イミューダブルオブジェクト」ってなに???

イミューダブルっていう単語の意味すらわからず(涙)、
ネットで検索してもちっともひっかかりませんでした。

知ってる方がいたら教えてくださいー。
お願いします。
0295淫乱女教師NGNG
>>294
イミュータブルで検索しなさい
0296デフォルトの名無しさんNGNG
>>295
漏れは淫乱女教師に教えてもらいたいな、いろいろ。
0297べんきょうちゅうNGNG
>>295
うお!すごい!ほんとだ。いっぱい出てきた。
ありがとー。
さすが淫乱女教師。
0298デフォルトの名無しさんNGNG
>>288
実装を変更してもインターフェイスを変更しないで済むように。

(そのクラスではあまり意味が無いと思うけど)
例えば、Xクラスの実装責任者が、なにかの都合でdataフィールド
の実装がintからIntegerに変えたとしても、それにあわせて
setData()とgetData()の実装を変更すれば、Xクラスを使用している
クラスの実装を変更する必要が無くなる。

もしXクラスを使用しているクラスがフィールドを直接よんでいた場合、
その全ての場所でX.dataと書いていたところをX.data.intValue()と
書き換えないといけなくなるわけで、それは、Xクラス内部で
getData()とsetData()だけ書き換えるのに比べると、保守性がよく
ないわけで。
そういう小さいクラスだとあまり価値を感じないかもしれないけど、
もっとややこしい構造になってくると、そういう実装してくれて
いるとありがたくなることが多いんだよ。ほんとに。

>>289
public クラスで無い場合、パッケージ外のクラスがそのクラスの参照
を作れなくなるだけで、どこからでもpublicメソッドは呼べる。
どこかにgetX()というメソッドでXクラスのインスタンス参照を返す
メソッドがあったら、getData()やsetData()がpublicであるなら、
getX().getData()やgetX().setData()はどこからでもできるわけ。

OK?
0299デフォルトの名無しさんNGNG
>>291
フィールドは基本的にすべてprivateでよいよ。
サブクラスの実装で、必要な場合ところで
super.setData()やsuper.getData()呼んでやりなよ。
0300デフォルトの名無しさんNGNG
>289
DelphiやC#やってみればわかる
Javaにはgetter/setter/accessorが言語仕様にないのよ
0301288NGNG
レスありがとうございました。今日一日レスを待っていたかいがありました。
>>298
なるほど。わかりました。
質問2のご回答内容はまったく知らないことでした。勉強になりました。
>>299
実は、私も「この方針でよいのかな。。。」と思っていたのですが、初心者ゆえ
確信がありませんでした。ありがとうございます。

ただちょっとだけ、もしかすると失礼かもしれない質問をさせてくださいますか?
私は実はC++の経験者です。(しかし、今Javaが必要なのです。)そのためか、
Javaのアクセス制御(特にprotected)で迷ったのです。結論が>>299さんの言う
通りであるなら、これは「私個人のC++コーディング規約」と一致します。
それはうれしいのですが、すみません、299さんご自身が実はC++使いの方で、
C++の影響を受けているということはないですよね?
(わけのわからない失礼な質問で、ほんとにすみません。C++風なJavaプログラム
にならないよう、つまりJava風のJavaを書きたいゆえです。お許しください。)

>>300
今は何が何でもJavaが必要なのですが、スキルアップにあとで勉強してみます。
0302デフォルトの名無しさんNGNG
>>301
Java の protected はかなり緩い制限なので 299 氏のいうように
必要がない限りはフィールドは全て private にすべき。
>protected
>同じパッケージのクラスか,そのサブクラスからしかアクセスできない.
0303デフォルトの名無しさんNGNG
水平タブ\tの幅は8文字以外にはできないんですか?
0304デフォルトの名無しさんNGNG
>>303
プロパティ変えろよ。コンポーネントにそういう
プロパティがあるクラス使って。
0305べんきょうちゅうNGNG
質問というか確認というか。
例えば以下のようなコードがあります。

Object o = new Long(7);

Object型にLong型がキャストされるわけだけど、
このとき参照変数oってLong型になった、と思っていいの?

上記コードのあとに
Long l = new Long(7);
を定義すると、
o.equals(l) がtrueになるから、そうなのかなと思ったんだけど。

イメージが湧かないよー。あってる?
0306デフォルトの名無しさんNGNG
oはObject型のままかわらないだろ?
0307デフォルトの名無しさんNGNG
oにLong型のオブジェクトの参照がコピーされるだけでしょ?
0308デフォルトの名無しさんNGNG
>>305
OKです。
Object型の変数は、何のオブジェクトの参照でも入れておく
ことができる汎用の入れ物だと思っておいてください。
0309べんきょうちゅうNGNG
>>306
そうなの、そうだと思ってたんだけど、
equals()の説明のとこに、
「まず最初に型が同じかどうかチェックされます。
 その次に内容のチェックがされます。」
ってかいてあったの。
で、さっきのソース実行するとtrueになるから、
え?ってことはLong型にかわっちゃったわけ??と疑問に思ったのです。
だってObject型とLong型は違う型でしょ?
0310べんきょうちゅうNGNG
306〜308の皆様ありがとう。

もしかして、equal()メソッドの最初の型チェックって、
同じまたはサブクラスならOK、ってこと?
今まで間違って覚えてたかもしんない。
それだったら納得。
あってる??
0311デフォルトの名無しさんNGNG
Objectクラスのequalメソッドは、
オブジェクトへの参照が同じオブジェクトを参照してるかどうか
調べるだけであーる。
0312デフォルトの名無しさんNGNG
>>310
クラスごとにequal()メソッドはオーバーライドされてるよ。
もしoがObject型オブジェクトを参照しているならば、Object#equals()がコールされる。
(Object#equals()は>>311のいってる通り)
oがLong型オブジェクトを参照しているならば、ちゃんとLong#equals()が呼ばれてるよ。
コアAPIのソース見て、どんなオーバーライドしてるか確認してみるといいぞ。
0313デフォルトの名無しさんNGNG
JavaMailを使用してメール送信するプログラムを作成中なのですが、
SUBJECTや本文が文字化けするので、エンコード指定しようとすると

msg.setSubject( subject, "iso-2022-jp" );
とすると
setSubject(java.lang.String) は (java.lang.String,java.lang.String) に適用できません。
msg.setSubject( subject, "iso-2022-jp" );
とエラーになってしまいます。
JavaMailは1.1.3, JAFは1.0.1です。
なぜエラーに?どうすれば文字化けなくなる?
ご存知のかた教えていただけませんか? ^
0314デフォルトの名無しさんNGNG
>>313
コンパイルエラーだろ?
APIドキュ見直せよ…
0315313NGNG
書籍やWEBで
msg.setSubject( subject, "iso-2022-jp" );
とやってるもんで。
0316デフォルトの名無しさんNGNG
>>304
こんな質問にちゃんと答え下さってアリガトウです!!
0317301=288NGNG
>>302
レスありがとうございます。
これで、なんとかコーディングをはじめられそうです。
(ものすごく簡単なやつですが。)

299さんもありがとうございました。
0318デフォルトの名無しさんNGNG
>>305
変数の型とオブジェクトの型は必ずしも一致しない。
0319デフォルトの名無しさんNGNG
servletでsqlを使っていますが、エラーが出ます。
エラーは、java.sql・SQLException:Microsoft ODBC Microsoft Access Driver クエリ式’Number = 98p 'の 構文エラー : 演算子がありません。
とでます。
SQLの文章が違うみたいなんですが、良く分かりません。よろしくお願いします。
0320デフォルトの名無しさんNGNG
こんぽーねんとってなに
0321デフォルトの名無しさんNGNG
どなたか添削してもらえませんか?
実行時に、コンパイラに Exception in thread main といわれるんですけど、
main メソッド内の t1 をどうしたらいいのか良くわからないんです。
よろしくお願いします。

import java.awt.*;
import java.awt.event.*;

public class ScreenSaver extends Frame implements Runnable {
MyCanvas c1;
Thread t1;
int w, x, y, z;

public ScreenSaver() {
super();
setTitle( "Demonstrating Screen Saver" );
setSize( 400, 300 );
setLayout( null );

c1 = new MyCanvas();
this.add( c1 );
}

public void main( String args[] ) {
new ScreenSaver().show();
t1 = new Thread( this );
t1.start();
}

public void run() {
try {
for( int count = 0; count <= 100; count++ ){
while( true ) {
Dimension d = getSize();

w = (int)( Math.random() * d.width );
x = (int)( Math.random() * d.height );
y = (int)( Math.random() * d.width );
z = (int)( Math.random() * d.height );

c1.repaint();
t1.sleep( 1000 );
}
}
} catch( Exception e ) {
System.out.println( e );
}
}

class MyCanvas extends Canvas {
public void paint( Graphics g ) {
g.setColor( new Color( (int)( Math.random() * 255 ),
(int)( Math.random() * 255 ), (int)( Math.random() * 255 ) ) );
}
}
}
0322デフォルトの名無しさんNGNG
>>313
書籍やWebよりも、APIドキュメントを見直しなさい。

>>319
SQLの構文が違うと親切にエラーが出てるのだから、そこをさっさと見直せ。

>>321
実行時のエラーをコピペせよ。
なんとなくCLASSPATHがおかしいような気がしなくもないが。
0323デフォルトの名無しさんNGNG
>>321
staticメソッドであるmainから、thisとかインスタンス
変数にはアクセスできないよ。

ScreenServer o = new ScreeenServer();
o.show();
new Thread(o).start();

ってやってみ。
0324321NGNG
>>322
エラーのコピペです。
Exception in thread "main" java.lang.NoSuchMethodError: main
0325デフォルトの名無しさんNGNG
>>324
それは、実行しようとしてmainが無いよって怒られてるんだが…
コンパイルできてねえのに、実行できるはずねえ。

なんでNoSuchMethodErrorなんだろ?
同じクラス名で、古いclassファイルあるんじゃねえの?
0326デフォルトの名無しさんNGNG
・・・・。
main が static になってないだけ?
0327デフォルトの名無しさんNGNG
>>321 さん
独習JAVA読み出してやっと1週間の者です。
「public static void main」じゃなくて「public void main」になってるんですが
"static"っていらないんですか?

勉強中の例題で static 取って試してみたら、同じエラーが出ましたよ。
0328321NGNG
>>323>>325-326
どうもありがとうございました。無事コンパイルできました。
一瞬できなかったんですけど、staticがないのは盲点でした。
実行はできたんですが、結果は真っ白なウインドウが出てくるのみ・・・
プログラム自体を見直す必要があるみたいです。
なので逝ってきます。
0329328NGNG
書き込んだ直後に何がいけないのか気づきました。
肝心のdrawLineを最後まで書いてなかった・・・
ご迷惑おかけしました・・・
0330べんきょうちゅうNGNG
今日、SunのJava試験に合格しました。
ここのところ、そのためにずっと勉強してたの。
色々教えてくださった皆さん、どうもありがとう!!
ほんと、感謝してます。
今度は実務で使うことになると思うので
そしたらまたお世話になりまーす。ほんとありがとね。皆様のやさしさに感謝!
0331ふろむアケ板NGNG
www4.famille.ne.jp/~yo-ogawa/cgi-bin/bbs/dat/h6901.png
このアドについて教えてください。
URLに飛ぶとfusianasanと同様の状態でそれが張ってあるスレに勝手に書き込まれます。
ソースは200KB以上有り、
私のPCではマシンパワーが足りず開くことができませんでした。
どうかお願いいたします。
既出、有名なURLでしたらご容赦ください。
■ このスレッドは過去ログ倉庫に格納されています