トップページ⇒tech
982コメント338KB

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

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
                        
 || ̄ ̄|   ∧_∧
 ||Java|  (     )   ∧∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ||__|  ( ○  )  (   ) < 俺達の旅はここから始まる。
   ||    │ |  │   /  |    \___________
((二二)) .(_(__)〜(___ノ

( ゚Д゚) < カキコする前に>>2-10をチェックしとけゴルァ!!
>>2 過去スレの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
0448デフォルトの名無しさんNGNG
例えばあるボタンをクリックする。
そしたらカーソルがある座標に移動する。
ということをやりたいんだけど、どうしたらいい?
0449デフォルトの名無しさんNGNG
>>448
ロボットクラス使ってみるとか。
0450デフォルトの名無しさんNGNG
JPanelの上にawtの部品をおいた場合ってダブルバッファの恩恵はうけられるんでしょうか?
0451デフォルトの名無しさんNGNG
>>450
JPanelの上にAWTの部品なんか置くな。バグの元。
ダブルバッファリングどころかコンポーネントの重ね合わせの描画に
失敗するようになる。

ちなみに、Swingはコンポーネントがデフォルトでダブルバッファリング
してる。AWTはしてない。
0452デフォルトの名無しさんNGNG
javaの軽いエディタでおすすめの教えてください。
0453450NGNG
>>451
そうでしたか。
ダブルバッファリングは子コンポーネントも恩恵得られる訳じゃないのですね。
要はこれが知りたかったんです。
0454448NGNG
>449
Robotでやってみたら、移動した。
これってスクリーンの座標に飛んでくんだね。
コンポーネント上の指定した座標に行く場合はどうしたらいいんでしょう?

例えばフレームがあって、その上方にボタンがある。
それを押したらカーソルがフレームの中心に移動する。
フレームがスクリーン上のどこにあるに関わらず。
そういうのやりたいんだが。
0455デフォルトの名無しさんNGNG
ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

APIマニュアル
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

iモードAPI,マニュアル
http://www.nttdocomo.co.jp/p_s/imode/
の作ろうimodeコンテンツ

開発ツール
http://www.vector.co.jp/soft/win95/prog/se153698.html

Javaの全てがわかるページ
http://home.catv.ne.jp/dd/chiba/ken/Java/JavaMain.html

iアプリのテクニック
http://www.atmarkit.co.jp/fmobile/rensai/doja07/doja07.html
0456449NGNG
>>454
そのフレームの中心の座標ってのはわかってるんだよね。
そしたらSwingUtilitiesのconvertPointToScreenを使って
コンポーネント座標系からスクリーンの座標系に変換して
あとはロボットで移動でいけると思う。
0457448=454NGNG
>456
ありがとう。やってみる。
0458デフォルトの名無しさんNGNG
どなたか教えてください。
JPopupMenuで項目を選択->クリックしたときに、同時に
そのコンポーネントのmouseClickedが反応してしまうんですが、
これを解決するにはどうすればよいのでしょう?
0459デフォルトの名無しさんNGNG
おしえて。
JPEGエンコーダーで、Windowのイメージをファイルに落としたら
白黒になっちゃった。 カラーにするにはどうするの?
0460デフォルトの名無しさんNGNG
1.4でたにょー
0461デフォルトの名無しさんNGNG
あg
0462デフォルトの名無しさんNGNG
>>460
v1.4.0 Release Candidateだな。
まだ正式版1歩手前。
0463デフォルトの名無しさんNGNG
印刷について質問があります。用紙1ページに入りきらない大きな
イメージを複数ページにわけてプリントするにはどうすればよろ
しいのでしょうか。知ってる方教えてください。
0464デフォルトの名無しさんNGNG
最近Javaの勉強をはじめたのですが、
仕事でJavaを使っている人はメソッドって全部暗記されているものなのでしょうか?
必要に応じて本で調べたりするものでしょうか?
0465デフォルトの名無しさんNGNG
>>464
JavaDoc開きっぱなし
というか、よく使うオブジェクトは嫌でも覚える
たまーにしか使わないものはJavaDoc
0466デフォルトの名無しさんNGNG
>>464
teikadeでブラウズしながらコーディングしてる。
0467デフォルトの名無しさんNGNG
teikadeって、いつになったら2.0が出るんだ?
マチクタビレターヨ。
今は、ForteかWebObjects。
0468デフォルトの名無しさんNGNG
CLASSPATHに追加するってどうすればいいのでしょうか?
0469デフォルトの名無しさんNGNG
>>468

DOS 窓で設定するなら以下の呪文を唱える。

SET "CLASSPATH=%CLASSPATH%;C:\Program Files\aaa\bbb.jar"
0470hogeNGNG
urlから、イメージを取得しようとしてはまってます。アプリケーションで、
http://*/*.jpgと言う完全なurl をstringで、宣言して,getImageで引数に使っています。

Image imgs=Toolkit.getDefaultToolkit().getImage(str);
g.drawImage(imgs,0,0,this);
としても、絵が出てきません。
それについて書いたhomepage でも良いので教えてもらえると嬉しいです。
でわ。
0471デフォルトの名無しさんNGNG
今日はじめて研修でjavaを知ったんだけど、
かなり気に入りました。そこで聞きたいんだけど
オブジェクト指向をうまく利用したサンプルコードがあるサイト
があったら教えてほしいのですが。できれば初心者にもわかり
やすくて、昔ながらの手続き言語との比較ができそうなサイト
がいいんだけど。。情報お願いします。

0472デフォルトの名無しさんNGNG
>>471
http://www.google.co.jp/search?q=Java+%93%FC%96%E5+-%8F%91%90%D0&hl=ja&lr=
0473468NGNG
>>469
レスどもです。
MS-DOSでやる場合毎回呪文を唱える必要があるのでしょうか?
0474464NGNG
>>465-467
参考になりました。
ありがとうございました。
0475デフォルトの名無しさんNGNG
>>473

Win95/98 → C:\autoexec.bat をメモ帳で開いて、ファイルの一番最後にあの呪文を書いておく

WinNT/2k → [スタート]-[設定]-[コントロールパネル]-[システム] を開いて
         [詳細]-[環境変数...] でユーザ環境変数の CLASSPATH 値を
         %CLASSPATH%;C:\Program Files\aaa\bbb.jar にする。

Me と XP は知らんが上記のどちらかでできるはず。
0476デフォルトの名無しさんNGNG
JDKをC:\jdk1.3.1_01にインストールしています。
この状態でPerlToolsをインストールしたいのですが
どのファイルをどの階層に置けばいいのでしょうか?
0477デフォルトの名無しさんNGNG
import java.net.*;

って書いてコンパイルしたら「無い」って言われたんだけど、
これって後から自分で追加するんですか?ioとかutilは大丈夫
なんですけど…。
0478デフォルトの名無しさんNGNG
>>477
そんなはずはないが…
JDKインストールしたディレクトリ/JRE/rt.jar
を解凍してみそ。そこにないなら環境がおかしい。
0479デフォルトの名無しさんNGNG
>>476
好きにしろ。
その後で、必要なファイルにPATH環境変数なり何なりとおせ。
普通の他のアプリのインストールと同じじゃ。
0480デフォルトの名無しさんNGNG
>>478
ありがとうございます。早速試してみます。
0481デフォルトの名無しさんNGNG
>>470
そのメソッドって、ImageのDLが終わる前に返ってきちゃうので、
すぐ次でdraw仕様としても、空のImageかいてるだけになっちゃう
ってやつじゃないのかな?
だとすると、どこかにDLが終了するまでwaitするメソッドがある
ような気がするので、それコールしてDL完了まで待ってろ。
0482476NGNG
>>479
でもJDKってPATH書きませんよね
デフォルトの場所って無いんですか?
java.langのある場所、みたいに
余計なPATHは邪魔になるから書きたくないんですけど…
0483476NGNG
>>482
>でもJDKってPATH書きませんよね
インストール時にインストーラがって意味です。念のため
ちなみにOSはWin2000です。これも念のため
0484デフォルトの名無しさんNGNG
>>483
PATH は書かんけど PATH の通ったところに java.exe を置く。
C:\WINNT 直下を見てみれ。
0485476NGNG
>>484
javaというフォルダが見つかりました。
java.exeはimportするときここを見てくれるんですか?
0486477NGNG
携帯向けサイトで環境設定したのが関係あったのかも。
midpapi.zipの中に放り込んだら通りました。
↑この中身がio・util・langだけでした。
けど携帯電話でもちゃんと通信出来るのかなぁ…。

ありがとうございます。>>478
0487デフォルトの名無しさんNGNG
>>485
java.exeが実行時に必要なクラスファイルをロードする時には、
CLASSPATH/(パッケージ名の.を/に変換)/クラス名
で検索するよー。

CLASSPATHにはjarやzipを指定する事も出来るよー。

JAVA_HOME/JRE/rt.jar(コアAPIクラスライブラリ)は、
CLASSPATHと関係なしに読みに行くよー(ちゃんと環境設定してれば)。

ということ。
0488デフォルトの名無しさんNGNG
>>485
C:\WINNT\java は Internet Explorer 上で動くアプレット (Microsoft JVM) のクラス等が置いてあるディレクトリ。
残念ながら Sun から持ってきた java.exe とは無関係。
0489485NGNG
>>487
なるほどよくわかりました
どうもありがとうございます。

>>488
だから中にDirectなんとかとかたくさんあったんですね…
レスありがとうございます。
0490デフォルトの名無しさんNGNG
ちなみに JAR や ZIP ファイルなら {JAVA_HOME}/jre/lib/ext と
C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に
放り込んでおけば CLASSPATH を設定してやらなくても使えます。

# 前者はコンパイル時に見に行くところ、後者は実行時に見に行くところだったと思う
0491デフォルトの名無しさんNGNG
>>490
> {JAVA_HOME}/jre/lib/ext と C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に

「と」って何? 両方に置かないといけないの?

以前、前者の方に postgresql.jar 置いても動かなかったので諦めたんだけど。

Linux では $JAVA_HOME/jre/lib/ext に置いたら動いたので、
それでいいのかと思ってたヨ。
0492デフォルトの名無しさんNGNG
458ですが、どなたか教えてください。
JPopupMenuで項目を選択->クリックしたときに、同時に
そのコンポーネントのmouseClickedが反応してしまうんですが、
これを解決するにはどうすればよいのでしょう?
0493デフォルトの名無しさんNGNG
反応すると何が困るの?
0494492NGNG
>>493
ごめんなさい。説明不足でした。
例えばJPopupMenuで、ある項目を選んだらAというイベントが起きるとします。
ところがやりたいことはAというイベントを起こしたいだけなのですが、その
項目を選ぶためにそのJPopupMenu上の項目をクリックした時に同時に
そのJPopupMenuを呼び出したコンポーネントのmouseClickedが反応してしまい、
別のイベントBが起きてしまうのです。どうすればよいのでしょう?
0495デフォルトの名無しさんNGNG
JPopupMenuって普通は右クリックだと思うけど、
マウスボタンの種類で切り分けできるんじゃないの?

状況によって右クリックでPopupが起こったり
別のイベントが起こるんだとしたら、
インターフェースデザインを考え直した方がいいような。
0496デフォルトの名無しさんNGNG
唐突でごめんなさい。
Robocupのシミュレーションリーグのサッカーサーバについて知ってる人います?
0497デフォルトの名無しさんNGNG
なんでパッケージdefaultで宣言したclassは他のパッケージで使えないのに

class Foo{
 public void method(){
 }
}

とかメソッドをpublicで宣言したりするんですか?意味が無い気がするんですが
0498デフォルトの名無しさんNGNG
>>497
publicにしないと他のパッケージから呼べないだろう
『パッケージdefaultで宣言したclassは他のパッケージで使えない』からな!
0499498NGNG
>>497 もとい。ごめん嘘ついた。

パッケージdefaultで宣言したclassは他のパッケージでnewできないだけで
そのクラスのインスタンスは他から引数で渡されたり返り値で取得したり
することはある。
そのインスタンスを通して他のパッケージから呼ばれることはある。
0500497NGNG
>>498
class自体を他のパッケージでインスタンス化することは工夫してやろうと思えばできます。
しかしメソッドをpublicで宣言しても他のパッケージでは使用はできません。classがpublicで宣言されていないからだとかなんとかコンパイラが文句言ってきます。たしかに

public class Foo{

とかやらないとだめです。これ意外に私は思い付きません。

でもよく書籍のお手本でclassはdefault宣言メソッドはpublic宣言のが多いのでなぜだか知りたいのです。
0501497NGNG
>>499
あれ?他のパッケージでメソッド呼び出せたんですか?コンパイルエラーになったと思いましたが勘違いかな?
0502デフォルトの名無しさんNGNG
>>497,498
何を論議したい?
外部からnewされたくないとき、クラス同士の結合を
弱めたいときとかに使うんでねーの?
インターフェースとか継承すれば出来るけど・・・?

つーか、そうしない?
俺、何か変?
/*------------------------------------*/
package BBB;

import AAA.*;

public class testB
{
public static void main(String s[])
{
test t = new test();
test_if ti = t.pub_a();
ti.pub_a();
}
}
/*-------------------------------------------*/
package AAA;

public interface test_if
{
public void pub_a();
}
/*------------------------------------*/
package AAA;

public class test
{
public def_test pub_a()
{
return new def_test();
}
}


class def_test implements test_if{
public void pub_a()
{
System.out.println("こういうことだろう");
}
}

0503 NGNG
>>502
話は全く変わるんだけど、
クラス名の先頭を小文字にしたり、パッケージ名に大文字つかったり、
アンダースコアを区切り文字として使用するのは
何の影響を受けての事ですか?

別に嫌味とかじゃなくて、純粋に知りたい。
何かそういう書き方を推奨している書籍等が有るのか、
それとも単に自己流なのか。

何故こんな事を聞くのかと言えば、「Javaではクラス名を小文字にしなければならない」
と言い張る人に出会った事があって、困った事が有ったから。
(親しい人ではないので、何故そう思ってたのかまでは聞けなかった)
0504489NGNG
>>490
その方法で見事にうまくいきました
ありがとうございます。
0505494NGNG
>>495
ありがとうございます。
確かにJPopupMenuを呼び出す時は右クリックです。これでJPopupMenuが
現れます。で、この時はいいんですが、次に、そのJPopupMenuのmenuitemの中
からどれかを選択して、その時は今度は左クリックをしますよね?その時に
mouseClickedが反応して別のイベントが起きてしまうんです。どうしたら
いいんでしょう??
0506495NGNG
>>505
event.getSource() したら
それぞれ別のコンポーネントからのイベントだということが
分かると思うんだけど、どうだろう。
0507495NGNG
あ、マジメな話なので age
0508初心者NGNG
(1)Javaのmyprogram.jarとJREのランタイムを一緒に配布し、
(2)myprogram.exeから
(3)Javaのプログラムを起動することは可能でしょうか。
(4)JREのインストールなしに。

0509初心者NGNG
あ、Win32です。やっぱり初心者です。
0510初心者NGNG
それから、MSのVMは使えないです。やっぱり一度に用件をかけないのは初心者ですね。
0511まさNGNG
質問です。
フレームのサイトを作った場合、フレームの一部に
リンク貼られた場合は、そのフレームだけ表示されてしまい、
正しく表示されなくなってしますよね。
それを防ぐにはJavascripptを使って正しいサイトに飛ばす方法は
知っているのですが、他には方法はあるのでしょうか?

例えば日本テレコムのサイト例にとると、
http://www.japan-telecom.co.jp/consumer/myline/index.html
だと正常に表示されますが、
http://www.japan-telecom.co.jp/consumer/myline/ml_top.html
だとフレームの一部しか表示されなくなってしまうよね?
それを回避する方法です。。
0512まさ2NGNG
?<script language="JavaScript">
<!--
function tmt_backtoframe(myframe) {
if (top == self) {
self.location.href = myframe;
}
}
// --></script>
と上の方に書いて、下記のように
何かの画像がDLされたら飛ぶようにするってやつです。
<img src="UntitledFrame-6.files/maru.gif" onload="tmt_backtoframe('index.html')" width="35" height="10">

これで正しいでしょうか?



0513デフォルトの名無しさんNGNG
>>511
Java と Javascript は別物です。
サイト作成に関しては Web 製作板にどうぞ。

Web 製作板
http://pc.2ch.net/hp/

☆ Webサイト制作初心者用スレッドver16 ☆
http://pc.2ch.net/test/read.cgi/hp/1011692558/
0514初心者NGNG
Lancher これで十分か。自分でランチャを書く必要がない。
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

0515502NGNG
>503
こんなしょうもない、やっつけサンプルごときで
そこまで突っ込むか?
普段はいわゆる推奨される書き方してるけど。
単純にエディタの強調表示に合わせているだけとも言うが(w
命名規約はそんなに気にしないし合わせろと言われりゃ合わすよ。
今回の場合は一応、インターフェースだとか、デフォルト権限とか
パッケージ名を強調したかっただけ。    いじょ。

0516 NGNG
>>515
いや、気を悪くしたなら謝るよ。
本当に嫌味とかではなくて、知りたいだけ。

前のプロジェクトリーダが何故かクラスの先頭小文字派で
そのプロジェクトではそれがルールだった。

Javaの書籍は色々読んだけれど、
「もしかすると自分が知らない所では、先頭小文字とかのルールが推奨されている
のかもしれない」
と思って書店にも足を運んで本をあさったけど、特にそういう書籍は
発見出来なかった。

もしそう言う書籍があれば、とりあえず見たいと言うのが質問の理由。
0517 NGNG
変わったルールをあげると、
例えばフィールドの先頭や末尾にアンダースコアを付けるというのが有る。
あれはピアソンの「Javaの格言」や「リファクタリング」が影響を及ぼしているようだ。
0518デフォルトの名無しさんNGNG
Code Conventions for the JavaTM Programming Language
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
0519デフォルトの名無しさんNGNG
まじめに質問。
 −5.6 % 3.3 は、−2.3
 5.6 % −3.3 は、2.3
になるそうですが、なぜ?両者の違いがわからん。
0520デフォルトの名無しさんNGNG
//受け付け会員氏名
UKTK_KIIN_SMY;
//受取人住所
UKTRNIN_ZYSYO;
//受け付け担当者社員コード
UKTK_TNTUSA_SYIN_CODE;

元コボラーとかSQL馬鹿に、こういうシンボル名つけるやつが
多いな。なに考えてんだか。
こんななら漢字でシンボル名書いてしまうほうがマシだと思われ。
0521デフォルトの名無しさんNGNG
先頭小文字派です。
record_event();
get_user_id();
check_and_destroy_user_event();
0522デフォルトの名無しさんNGNG
Claas
CLASS_CONSTANT_FIELD
__CLASS_FIELD
_instancefield
method()
methodOfLongName()

おいらはこうだよ。
メソッドと外から見えるクラス定数は、コアAPIとあわせとく。

それ以外はどうでもいいんじゃないの?外に見せないなら。
0523デフォルトの名無しさんNGNG
大文字小文字を混ぜた名前付ける奴は100%PKだし。
0524デフォルトの名無しさんNGNG
お世話になったこのサイトが1月で終わってしまう・・・
http://www2.to/javaprog/

でも掲示板になんかムカつくやつが常駐してるんだな
0525デフォルトの名無しさんNGNG
今思いついたけど、先頭小文字で、MVCのいずれかをつけるってのは、ダメ?
mBill
mMenu
mEmploye
vPushButton
vSortingListBox
cOrderInputScreen
とかって、ずらっとクラスが並んだとき、分類しやすくない?
0526デフォルトの名無しさんNGNG
>>525は、ハンガリアン基地外を召喚した!
0527デフォルトの名無しさんNGNG
ViewとControllerをどうやったら上手く分離できるのかわからん。
0528デフォルトの名無しさんNGNG
>>527
EventListenerからディスパッチされるロジックを外だしすれば半分。
のこりの半分は、ObservableなModelへのObserverでディスパッチ
されるロジック。ほーらできた。
0529 NGNG
>>519
http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#24956
0530デフォルトの名無しさんNGNG
モーダルのJDialogで最初にフォーカスするコンポーネントを
指定するのってどうしますか?
setVisible(true)した時点でそのスレッドは止まっちゃうので、
WindowsListenerを追加して開いた時点でフォーカスしたいコンポーネントに
requestFocusさせていますが、なんかJDK1.4RCでは
うまくいかない模様・・・
0531デフォルトの名無しさんNGNG
> setVisible(true)した時点でそのスレッドは止まっちゃうので、
そんなことないよ。
0532531NGNG
ごめん、激しく勘違いだった
0533530NGNG
>>531
でも、setVisible(false)されるまでその後の命令って
実行されないですよね?
確認中・・・

下げ忘れ、すまんす。
0534530NGNG
あ、勘違いでしたか・・・
0535デフォルトの名無しさんNGNG
javaの勉強をしてるんですが、MS-DOS-EDITに書いたソースコードを、メモ帳とか
この掲示板とかにコピぺ出来る方法はありますか?
0536デフォルトの名無しさんNGNG
MS-DOSプロンプトをウインドウ表示にしてツールバーをよく見る。
0537デフォルトの名無しさんNGNG
と、言うか.javaもテキストなんだからメモ帳で開けばいいじゃん。
0538535NGNG
>>536
編集⇒コピーってやっても他の場所に持ってけないんです。
>>537
メモ帳をエディターとして使えって事ですか?
やっぱり無理なんでしょうか?
0539デフォルトの名無しさんNGNG
>>538
メモ帳はエディタだよ…
0540デフォルトの名無しさんNGNG
>>535
それプログラム以前の問題じゃないか?
0541デフォルトの名無しさんNGNG
>>538
範囲選択しろよ
0542デフォルトの名無しさんNGNG
はっ、ネタ心者?
0543デフォルトの名無しさんNGNG
>>538
PCQAくるか?
みんな多分教えてくれる。
http://pc.2ch.net/pcqa/index.html
0544535NGNG
>>537
わかりました、皆さんありがとうございます。(いやお恥ずかしい・・・。)
>>540
こんな奴が「新人です!」とか言って入ってきたら教えてくれますか?
0545デフォルトの名無しさんNGNG
世の中にはメモ帳より貧弱なエディタを「高性能エディタ」と信じてる
今も使ってる人達もいるんだよ・・・。
0546デフォルトの名無しさんNGNG
>>545
メモ帳より貧弱なエディタなんかあるのか?

JavaならJTextPaneにload&saveの機能つけるだけで
エディタが出来ちゃうぞ。HTMLエディタも簡単だぞ。
0547デフォルトの名無しさんNGNG
>>546
ed
0548デフォルトの名無しさんNGNG
>>546
vi,
Emacs
■ このスレッドは過去ログ倉庫に格納されています