【初心者】Java質問・相談スレッド119【歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/09/03(水) 05:54:45JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド118【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1218360111/
次スレは>>990あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2008/09/03(水) 05:56:04■ AWT と Swing は --
Java低速GUI Swing 7
ttp://pc11.2ch.net/test/read.cgi/tech/1204155623/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part18
ttp://pc11.2ch.net/test/read.cgi/tech/1214192372/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 65 ★★
ttp://pc11.2ch.net/test/read.cgi/tech/1212085079/l50
**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja/
0003デフォルトの名無しさん
2008/09/03(水) 06:27:300004デフォルトの名無しさん
2008/09/03(水) 09:00:19castはジェネリックで使うから意味があるわけで
ジェネリックが使えなければ意味がない。
動的と言ってる部分はあくまでジェネリック部分なのだから。
だからジェネリックのないところで同じようなことはできない。
だからみんな出来ないと答えてる。
まあキャストした後でどう使うのかをコードで示せれば、
それに応じた解決策はでるかも知れない。
といっても使い方が、言語自体拡張したりテンプレート的なもので使うとかでないと
java言語の範疇では無理だと思うけどね。
0005デフォルトの名無しさん
2008/09/03(水) 09:09:380006デフォルトの名無しさん
2008/09/03(水) 10:20:35型の変換について質問なのですが
String型をint型として扱いたい場合Integer.parseInt(String)を使いますよね?
しかしこのStringは数字の文字列でなくてはいけないようで
数字以外の文字列が含まれている場合エラーが出ます(最初lengthでも返ってくるかな?と思ったのですが)
double型をint型として扱いたい場合Integer.parseInt()ではなく(int)doubleでキャストをしますよね?
同じ型変換のようですが両者には違いがあるようで
Stringの場合はintにキャストできないしdoubleの場合はInteger.parseInt()を使うことはできません
私はパースするという行為とキャストするという行為が型変換をするための行為だと思ってるのですが
これは間違った認識でしょうか?
もし両者とも型変換を行うものであるならば内部的にどのような違いがおきているのでしょうか?
自分で何か変な勘違いをしてるのかと思っているのですがよろしくお願いします
0007デフォルトの名無しさん
2008/09/03(水) 10:57:21> 私はパースするという行為とキャストするという行為が型変換をするための行為だと思ってるのですが
> これは間違った認識でしょうか?
キャストは型変換だけど、パース(parseInt)なんかは、
型変換だとは考えないほうがいいと思うので、
間違った認識でしょうね。
00086
2008/09/03(水) 11:24:10どうもレスありがとうございます
キャストは型変換ときいてひとまず安心しました
パースは文字通りに考えると構文解析なのでしょうが
それが何を意味してるのかが正直わかりません
その辺も含めてもっといろいろ調べてきたいと思います
0009デフォルトの名無しさん
2008/09/03(水) 12:00:260010デフォルトの名無しさん
2008/09/03(水) 12:40:52内部的(なイメージ)からだとキャストを型変換というのも微妙な気がするが。
変換というと元のものが別のものに変わるような気がしてする。
ある果物(メモリ上のオブジェクトイメージ)に「リンゴ」というラベル(変数a)が
付いていて、それにもう一つ「ふじ」というラベル(変数b)を付けるのがキャスト。
どっちも同じものを示しているし、オブジェクトイメージは変化しない。
この手法(?)は(変数が実質ラベルである)オブジェクトにしか出来ないので、
プリミティブが関係する場合はキャストのように見えるのは全てパースで、
つまり元から別のものを作り出している。
…ヘタだな、すまん。
0011デフォルトの名無しさん
2008/09/03(水) 12:59:02double d = 3.14;
int i = (int)d;
2. >>10が書いているような型の解釈を替えるためのキャスト
リンゴ ap = ...;
ふじ fj = (ふじ)ap;
たぶんこの2種類があって、1の方は組み込み型でしか使えない。ので、
組み込み型ではないクラスで型変換のようなことがしたかったら
parseInt()のようなキャストではない実装が必要になるんでしょう。
0012デフォルトの名無しさん
2008/09/03(水) 13:48:290013デフォルトの名無しさん
2008/09/03(水) 22:16:51暗黙の型変換やってるだけで全部バリアントっていう言語は実際少ないでしょ。
0014デフォルトの名無しさん
2008/09/03(水) 22:35:26ジェネリック無くても、オーバーライド関係でキャストは必要じゃね?
0015デフォルトの名無しさん
2008/09/03(水) 22:56:500016デフォルトの名無しさん
2008/09/03(水) 23:31:05そのサイズを使って処理を行いたいんですけど、
生成時はサイズが 0 のままで、
repaint() が呼び出されないとサイズに有効な値が入りません。
pack() とか revalidate() とか適当に呼び出してるんですけど、
足りないんでしょうか?
(そもそも pack とか validate の使い方がよくわかってませんが。。)
0017デフォルトの名無しさん
2008/09/04(木) 00:28:250018デフォルトの名無しさん
2008/09/04(木) 00:30:20そのサイズを使った処理ってのは何?
0019デフォルトの名無しさん
2008/09/04(木) 00:53:42サイズで私の場合は、中に入れ込むコンポーネントの
setPreferredSize を使うと大体解決します。
とりあえず、api ドキュメントを読みましょう。
Swing の場合は "How to Use XXX" も読みましょう。
0020デフォルトの名無しさん
2008/09/04(木) 01:22:22ComponentListener
0021デフォルトの名無しさん
2008/09/04(木) 01:45:58みたいなのですが、ツールバーに加えるコンポネントの背景色に
setBackground(jtoolbar.getBackground())とか
setBackground(new Color(238,238,238))とかやってもツールバーに対して白っぽくなります。
で、toolbarの方にsetBackground(new Color(238,238,238))ってやると色が揃ったので、
どうやらJToolBarのデフォルトの色がおかしいみたいだったのですが
getBackgroundで返ってくるのじゃないこのデフォルトの色は何なんでしょうか?
0022デフォルトの名無しさん
2008/09/04(木) 04:36:00どの JToolBar か分かんないが、1.6.0_07 のデフォルトのなんとかいうテーマのは、
グラデーションが掛かっているように見える。
JToolBar のレンダラ(?)が書いてるんだと思うが、Color はグラデなんか表現できないから、
一番明るい色かなにかを返してるとかじゃないか。
もし「ならば上に載せるコンポーネントの背景色をどうすればいいのか」という話なら、
透明にすればいいんだ。
0023デフォルトの名無しさん
2008/09/04(木) 05:20:28ありがとうございます!
よく見ると確かにグラデーションなんですねこれ。
背景色透過ってどうするんだろうと調べたらそのものsetContentAreaFilledがあるんですね。
これfalseにすると透過になる代わりにマウスに対するフォーカスもなくなるみたいなので
マウスのリスナで切り替えるようにしたら上手く出来ました、情報感謝です!
0024デフォルトの名無しさん
2008/09/04(木) 09:42:47J2MEでTomcatって動作できませんよね?
0025デフォルトの名無しさん
2008/09/04(木) 10:03:200026デフォルトの名無しさん
2008/09/04(木) 12:58:56JComponent#setOpaque
0027デフォルトの名無しさん
2008/09/04(木) 13:32:170028デフォルトの名無しさん
2008/09/04(木) 14:51:07public void run(){
while (true) {
sleep(100);
}
}
};
thread.start();
thread = null;
こういうふうに、どこからも参照されなくなったスレッドは、
いつかGCに消されて処理が止まるんでしょうか?
それともずっと動き続けるんでしょうか?
0029デフォルトの名無しさん
2008/09/04(木) 15:01:150030デフォルトの名無しさん
2008/09/04(木) 15:10:16ずっと動き続けます。
どこからも参照されない状態にはなっていません。
Thread.start() に、以下の行があります。
> group.add(this);
0031デフォルトの名無しさん
2008/09/04(木) 18:32:150032デフォルトの名無しさん
2008/09/04(木) 18:52:14なんだそれ
0033デフォルトの名無しさん
2008/09/04(木) 19:01:16とりあえずAPIリファレンスみれば
0034デフォルトの名無しさん
2008/09/04(木) 19:42:45元々安全じゃないから使うなになったんだろ
0035デフォルトの名無しさん
2008/09/04(木) 19:56:540036デフォルトの名無しさん
2008/09/04(木) 21:10:130037デフォルトの名無しさん
2008/09/04(木) 21:13:49何が理由でロックしたいのかによる。
003836
2008/09/04(木) 21:34:17質問を変えます。
どういう場合にstaticで作るべきでしょうか?
0039デフォルトの名無しさん
2008/09/04(木) 22:10:52ロックしたい粒度、スコープをあらわすのにstaticオブジェクトがふさわしい場合
0040デフォルトの名無しさん
2008/09/04(木) 22:24:00methodA呼び出し中にmethodBを呼び出し、再度methodAを呼ぶと
デッドロックは起こりますか?
class A{
private Object lock = new Object();
void methodA(String str){
synchronized(lock){
try(){
while(true){
Thread.sleep(1000);
System.out.println(str);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
void methodB(){
lock = new Object();
}
}
0041デフォルトの名無しさん
2008/09/04(木) 22:35:44要するに、ロックオブジェクトに別のインスタンスを代入すると、
同期中の処理は同期されなくなるんでしょうか?
0042デフォルトの名無しさん
2008/09/04(木) 22:45:25同期っつーか、排他制御されると思う根拠は何?
0043デフォルトの名無しさん
2008/09/04(木) 22:46:34違うのですか?
0044デフォルトの名無しさん
2008/09/04(木) 23:18:39ソースで説明できるのに、試していないのでしょうか。
それはさておき....
ttp://www.y-adagio.com/public/standards/tr_javalang2/statements.doc.html#255769
ロックに使われているオブジェクト自体は、他のスレッドからアクセス可能。
ロックを獲得しているスレッドが、同じロックを獲得することは妨げられない。
等など。
0045デフォルトの名無しさん
2008/09/05(金) 02:43:430046デフォルトの名無しさん
2008/09/05(金) 02:51:490047デフォルトの名無しさん
2008/09/05(金) 07:40:11〇あ賜る
0048デフォルトの名無しさん
2008/09/05(金) 10:39:351つが600MBとか1Gとかのファイルなので、全部をメモリで読み込めず、
また、作業ファイルも作れないのですが、直接修正個所を当該ファイルに書き戻したいです。
read(byte[])して、write(byte[])は無理なので、どうすればいいのでしょうか。
0049デフォルトの名無しさん
2008/09/05(金) 10:42:40実はそう言われると思っていたんですがその方が分かりやすいと
思ったのでああ書きました。
結局停止するメソッドはないんですね。
本家サイトに書かれている方法も分かるんですが、あれだと
ぐるぐる回ってる処理でしか停止できないので気持ち悪いですね。
一つのシーケンスを途中で切る事ができないって言うか。
シーケンスの中に止まるかどうかを判定するコードを何個も
仕掛けておかないとダメって事ですか?
てか >>31 はメソッドとスレッドを間違えてますね。
0050デフォルトの名無しさん
2008/09/05(金) 10:59:54修正内容による。
ファイル先頭で読み込んだ内容がファイル終端に書き込むべき内容に影響するとかだと面倒だし。
全てのデータの影響範囲が局所的なら、
RandomAccessFile とか FileChannel とかで read()、内容を修正、write() でOK。
場合によってはバッファリング必要になるけど。
0051デフォルトの名無しさん
2008/09/05(金) 11:10:06マッチ個所を'\0'で埋めるわけにもいかず、とくにマッチを切り取りすると間違いなく可変です。
アルゴリズムはすぐ浮かぶんで作れるんですが、
開いたファイルを修正してそのまま上書きするようなライブラリとかないでしょうか?
0052デフォルトの名無しさん
2008/09/05(金) 14:03:48だからjavadoc読んでこい
0053デフォルトの名無しさん
2008/09/05(金) 16:18:21ピクセルという単位についても教えていただけたらと思います
0054デフォルトの名無しさん
2008/09/05(金) 16:21:15BufferedImage#getRGB(int x,int y) - int
0055デフォルトの名無しさん
2008/09/05(金) 19:59:46img = getImage(getCodeBase(),"../画像.gif");
と書いて実行しても画像が表示されません。下のディレクトリにある画像の指定は出来るんですが。
0056デフォルトの名無しさん
2008/09/05(金) 21:30:01Javadoc見ろよボケ
0057デフォルトの名無しさん
2008/09/05(金) 21:37:38BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
System.out.println(str);
br.close();
}
これを動かすと一回入力しただけで終了になってしまいます。
何か分からないのですが、br.close()を削除すると何回もちゃんとループ出来ます。
なんでこれって一回で終わっちゃうのでしょうか?
0058デフォルトの名無しさん
2008/09/05(金) 21:41:13なんでって馬鹿なコーディングしてるから落ちるんだろ
絶対落としたくないなら例外処理ぐらいしろボケ
0059デフォルトの名無しさん
2008/09/05(金) 21:43:35どこが馬鹿なのかを聞きたいわけでして。
0060デフォルトの名無しさん
2008/09/05(金) 21:44:27br.close(); で連鎖的にSystem.inもクローズされる。
0061デフォルトの名無しさん
2008/09/05(金) 21:45:11ループの中で例外処理しなきゃ意味ねーだろボケ
0062デフォルトの名無しさん
2008/09/05(金) 21:47:17BufferedReader.close()
> ストリームを閉じます。
とありますが、この意味が分からない、と。
何処から説明した方が良いのでしょうね。
0063デフォルトの名無しさん
2008/09/05(金) 21:48:07BufferedReader 閉じたら
その元になってる InputStreamReader
その元になってる System.in も連鎖的に閉じちゃうからね。
閉じた System.in から read() しようとすると IOException 食らうんだっけか?
0064デフォルトの名無しさん
2008/09/05(金) 21:50:08006557
2008/09/05(金) 21:58:51System.inは常に開かれてるのかと思ってました。
たしかに標準入力じゃなくて他のストリームから毎回開いて読み込むようにすると大丈夫みたいでした。
ちなみに標準入力のストリームって一回閉じちゃうと自分で開くことって出来ないんでしょうか?
0066デフォルトの名無しさん
2008/09/05(金) 22:06:160067デフォルトの名無しさん
2008/09/05(金) 22:34:40そうですか、どうもありがとうございます。
0068デフォルトの名無しさん
2008/09/05(金) 23:22:500069デフォルトの名無しさん
2008/09/05(金) 23:23:40実装上EOFExceptionだったりする事もある
0070デフォルトの名無しさん
2008/09/05(金) 23:31:41System.inを再度開くこともできない無能回答者しかいないの?
ププw
0071デフォルトの名無しさん
2008/09/05(金) 23:43:33やり方ぷりーず
0072デフォルトの名無しさん
2008/09/05(金) 23:47:380073デフォルトの名無しさん
2008/09/05(金) 23:49:52釣られるなって
0074デフォルトの名無しさん
2008/09/05(金) 23:58:57JDKまたはJREのインストールディレクトリのパスを取得するには
自前でパス検索するしかないのでしょうか?
それともJavaのインストールパスを取得する簡単な方法はありますか?
0075デフォルトの名無しさん
2008/09/06(土) 00:09:47WindowsでSunのJDK/JREをインストーラ経由で入れてるなら
レジストリ見るとかあるけど、確実でもないし簡単ともいえない
0076デフォルトの名無しさん
2008/09/06(土) 00:18:29成長しましたね。
0077デフォルトの名無しさん
2008/09/06(土) 00:19:40レスありがとうございます。書き忘れましたが、Windows環境での話です。
何故このような疑問を持ったかというと、
JNIでC言語からJavaを呼び出すプログラムを実行する際に、
JDK/JREのインストールディレクトリ下にあるjvm.dllを
読み込む必要があるためです。
通常であればJAVA_HOME、PATH、レジストリあたりを見るべきなんでしょうか。
複数のJDK/JREがインストールされていた場合はどうするべきでしょうか?
0078デフォルトの名無しさん
2008/09/06(土) 00:26:35複数インストールされてる場合は、
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion
あたりを見るとか、JDK/JRE関連レジストリ全部読み込んで一番バージョンが大きいやつ使うとか。
0079デフォルトの名無しさん
2008/09/06(土) 00:34:33アプリケーションによって何を使うかは異なるわけですね。
何かサンプルになるものを探してたのですが、
意外と見つからないです。
もう少し考えてみます。
0080デフォルトの名無しさん
2008/09/06(土) 01:01:11HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\[バージョン]\RuntimeLib
が正解だろ
0081デフォルトの名無しさん
2008/09/06(土) 01:06:51JAVAでチャットのサーバーサイドを作る場合、大きく分けて2種類あると思います。
1クライアントに1スレッドを作るやり方と、java.nioを使ってクライアント全員を並列処理する方法です。
そこで質問なのですが、大人数が参加するチャット(ルーム機能も付いています)では、
やはりノンブロッキングIOを使うほうがいいのでしょうか?
0082デフォルトの名無しさん
2008/09/06(土) 01:27:110083デフォルトの名無しさん
2008/09/06(土) 02:03:27class Address{
public Address(String name, String address) {
this.name = name;
this.address = address;
}
public String toString() {
return "name : " + name + " address : " + address;
}
//getter setterは省略
public String name;
public String address;
}
0084デフォルトの名無しさん
2008/09/06(土) 02:04:47public class Practice{
public static void main(String[] args) {
Set<Address> test = new HashSet<Address>();
test.add(new Address("hiroshi", "tokyo1") );
test.add(new Address("hiroshi", "tokyo2") );
test.add(new Address("hiroshi", "tokyo3") );
test.add(new Address("hiroshi", "tokyo4") );
test.add(new Address("sayoko", "tokyo1") );
test.add(new Address("sayoko", "tokyo3") );
Iterator<Address> iter = test.iterator();
//hiroshiの情報だけ取り出したい
while( iter.hasNext() ){
Address i = iter.next();
if( i.name.equals("hiroshi") ) {
System.out.println( i );
}
}
System.out.println("-------------");
//tokyo1の情報だけ取り出したい
iter = test.iterator();
while( iter.hasNext() ){
Address i = iter.next();
if( i.address.equals("tokyo1") ) {
System.out.println( i );
}
}
}
}
0085デフォルトの名無しさん
2008/09/06(土) 02:07:09SetでAddressクラスのnameをキーとして情報を取り出したり
addressをキーとして情報を取り出したりしたいのですが,
上の実装だとset内の値の数が増えてくるとなんだか効率が悪いような気がします.
他に実装方法はありますでしょうか
0086デフォルトの名無しさん
2008/09/06(土) 02:14:45Map name, addr;
public void add(Addr addr) {
name.add(addr.getName,add);
addr.add(addr.getAddr,add);
}
public Addr getByName(Str name) {
return name.get(name)s;
}
}
これで我慢しとけハゲちゃびん
0087デフォルトの名無しさん
2008/09/06(土) 02:46:460088デフォルトの名無しさん
2008/09/06(土) 03:35:04setEnabled(boolean)のところで
Component.this.setEnabled(b);
って出てきたんだけど、このthisってどゆ意味?
008985
2008/09/06(土) 03:58:02Mapだとkeyの値が一つに限定されてしまいます
あと,valueからkeyを取得することができないです.
009085
2008/09/06(土) 04:07:38valueからkeyはbidimap使えばできますね(標準関数じゃないけど)
>>89 の下一行は無かったことで
keyの値を色々変えてSetの中身を検索したいです
0091デフォルトの名無しさん
2008/09/06(土) 04:17:55限定this というものらしい。
ttp://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#251603
で、そのソースコード、JDK7ですか。
0092デフォルトの名無しさん
2008/09/06(土) 04:27:10JDK6です。
0093デフォルトの名無しさん
2008/09/06(土) 04:28:07Index用のMapを作るのはどうでしょう。
Map<String(name), List<Address>>
Map<String(address), List<Address>>
AddressはSetに追加してるから可変ではないと思いますが、
可変の場合は、変更シークエンスをキチンとチェックしてくださいまし。
0094デフォルトの名無しさん
2008/09/06(土) 04:30:23そのサイト読んでみたけどよく分かんないっす……
0095デフォルトの名無しさん
2008/09/06(土) 04:32:11とにかく突っ込んどけば簡単に検索できるっていうクラスは無いんじゃないかな。
>>89
keyの値が一つに限定って、"hirosi"→"tokyo1","tokyo2","tokyo3"…なら
Map<String,Set<String>> とか Map<String,List<String>> で表現できるでしょ。
逆もしたかったら "tokyo1"→"hirosi","sayoko" を同じ構造の別の Map に入れとく。
つまり(クラス名はともかく) >>86 みたいな感じってこと。
0096デフォルトの名無しさん
2008/09/06(土) 04:39:32内部クラスからそれを含むクラスを参照してるってこと。
0097デフォルトの名無しさん
2008/09/06(土) 04:52:15> Component.this.setEnabled(b);
が書かれているメソッドsetEnabled(boolean)はComponentクラスのメソッドではなく、
その内部クラスのメソッドじゃない? たぶんAccessibleAWTComponentクラス。
クラス名.thisという書き方はQualified thisと呼ばれていて、
ttp://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.4
内部クラスを囲う外側のクラスのthisを明示的に指定することができる。
質問の例では、内部クラスにもComponentクラスにもsetEnabled(boolean)が定義されているので、
内部クラスでthis.setEnabled(b)とか単にsetEnabled(b)と書くと、
内部クラスのsetEnabled(boolean)が呼ばれる。
Componentクラスの方のsetEnabled(boolean)を呼ぶためにそういう書き方をする。
0098デフォルトの名無しさん
2008/09/06(土) 08:51:40完成したら、皆も使える用にしたいが、<!--(?)の続きはどう書きますか。
0099デフォルトの名無しさん
2008/09/06(土) 09:24:12ググった方が理解し易いと思われる
一応sunのを貼っておく
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/misc/applet.html
0100デフォルトの名無しさん
2008/09/06(土) 09:32:220101デフォルトの名無しさん
2008/09/06(土) 10:01:51その処理が滅茶苦茶リソースを食うなら java.nio で並列処理したほうがいい。
あと通信量がすんげー多いなら並列処理のほうがパフォーマンスが上がる。
このどちらでもないなら、どっち使っても大して変わらない。
0102デフォルトの名無しさん
2008/09/06(土) 10:09:170103デフォルトの名無しさん
2008/09/06(土) 10:11:59プラシーボが期待できる場合も追加で。
0104101
2008/09/06(土) 12:00:59スレッドの切り替えが重い OS なら変わるな。
で、たとえばどんな場合を想定してる?
>>103
忘れてた。
スレッドのコンテキストスイッチが重いんだろうなという妄想に取り付かれていたり
ほんの少しでも早ければそれで満足なら並列処理で。
プログラムが楽になればそれでいいならスレッドで。
0105デフォルトの名無しさん
2008/09/06(土) 13:04:450107デフォルトの名無しさん
2008/09/06(土) 16:52:24そこで、antを使って独自のjarファイルを作成したいのですが、
うまくいきません。
build.xmlとかいうのを作成して、右クリックのantの実行ってやると、
---------------------------------------------------------------
Buildfile: D:\AppData\Eclipse\workspace3.3\Hoge\build.xml
directory:
compile:
[javac] Compiling 1 source file to D:\AppData\Eclipse\workspace3.3\Hoge\Classes
BUILD FAILED
D:\AppData\Eclipse\workspace3.3\Hoge\build.xml:18: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\@Development\Java\jdk1.6.0_03"
Total time: 297 milliseconds
---------------------------------------------------------------
こんな風にエラーになります。
何が原因でしょうか?
0108デフォルトの名無しさん
2008/09/06(土) 16:56:35>Perhaps JAVA_HOME does not point to the JDK.
>It is currently set to "C:\@Development\Java\jdk1.6.0_03"
0109デフォルトの名無しさん
2008/09/06(土) 17:04:27一般にスレッドは他の資源よりリソースを消費する。
したがって、大量のスレッドを用いると問題が発生する可能性がある。
ノンブロッキングIOでは、スレッドの数を抑えることができるので、
スケーラビリティに有利となる。つまり、
クライアント数の増加に対する性能の劣化をそれなりに抑えることができる。
一方、ノンブロッキングIOを使うと、処理を振り分けるところを
自前で書かなくてはならないため、プログラミングが複雑になる。
しがたって、最初はクライアント毎にスレッドを使うように書いておいて、
問題が出てきたら NIO を使うようにリファクタリングするのがいいんじゃまいか
とよく知らない俺が書いてみる
0110デフォルトの名無しさん
2008/09/06(土) 17:20:20そこなんだけど、それって環境変数設定しろってこと?
自分、java_home設定しないでeclipse は動いてるんだけど。
antもいけないのかな?
0111デフォルトの名無しさん
2008/09/06(土) 17:25:26アプレットを簡単に実行できて軽い奴って無いかな
0112デフォルトの名無しさん
2008/09/06(土) 17:25:27おまえアホだなw
どこがおかしいのか分かんないんだろうけどww
0113デフォルトの名無しさん
2008/09/06(土) 17:27:492004年の記事
Servlet APIとNIO: ついにServlet APIとNIOが結合できる
http://www.ibm.com/developerworks/jp/java/library/j-nioserver/index.html
0114デフォルトの名無しさん
2008/09/06(土) 17:35:14eclipse や ant が動いているのは、JREで実行しているのでは?
また、eclipseでのコンパイルは、eclipseに入っているIBMのコンパイラが
やっているので、環境設定は関係ない。と思う
0115デフォルトの名無しさん
2008/09/06(土) 17:36:020116デフォルトの名無しさん
2008/09/06(土) 17:43:37Java自体腐ってるけど。
Development\Java\jdk1.6.0_03\lib\tools.jarを
Development\Java\jdk1.6.0_03\jre\lib\ext\tools.jarに
こぴってやってみ。
0117デフォルトの名無しさん
2008/09/06(土) 17:51:160119デフォルトの名無しさん
2008/09/06(土) 19:32:19そうだったんだw
javaインストールしないでeclipseだけで動くからふしぎだったんだw
>>116
あと、やっぱりtools.jarが自分の中には入ってないや。
どっかのサイトにもそれをパスに通すとかって書いてあった。
0120デフォルトの名無しさん
2008/09/06(土) 20:15:390121デフォルトの名無しさん
2008/09/06(土) 20:32:15eclipse の Java 設定で、JRE じゃなくて JDK を使うように設定してみたら?
[ウィンドウ]→[Java]→[インストール済みのJRE] で JDK のパスを設定。
0122デフォルトの名無しさん
2008/09/06(土) 22:42:54登録して実行させたいのですが、どうすればよいでしょうか?
ちなみにバッチファイルにjava 〜と記載して実行させる事はできました。
0123デフォルトの名無しさん
2008/09/06(土) 22:46:14つかスタートアップにバッチファイルを登録しておくのは何でダメなの?
0124デフォルトの名無しさん
2008/09/06(土) 22:48:11んー、そこにすでに書かれているのよ。
0125デフォルトの名無しさん
2008/09/06(土) 22:51:48ただ単にEXEファイルからJavaのプログラムが呼び出せないかなと
思っただけです。もちろんバッチで事足りてますが…。
0126デフォルトの名無しさん
2008/09/06(土) 22:53:340127デフォルトの名無しさん
2008/09/06(土) 23:00:57もちろんそれでも実行できますね…。
0128デフォルトの名無しさん
2008/09/07(日) 00:04:530129デフォルトの名無しさん
2008/09/07(日) 00:20:46そういうやり方あるの知らないの?
0130デフォルトの名無しさん
2008/09/07(日) 00:22:540131デフォルトの名無しさん
2008/09/07(日) 03:14:360132デフォルトの名無しさん
2008/09/07(日) 03:25:570133デフォルトの名無しさん
2008/09/07(日) 03:34:10まあ起動時間は短縮されるだろうけど
ttp://www.shudo.net/article/Fedora-Core-Expert-200507-GCJ/#performance
0134デフォルトの名無しさん
2008/09/07(日) 03:42:58クライアント側で
String message
socket.getOutputStream().write(message.getBytes());
で文字列を送り、サーバー側で
private void doRead(SocketChannel channel) {
try {
ByteBuffer buf = ByteBuffer.allocate(BUF_SIZE);
if (channel.read(buf) > 0) {
buf.flip();
byte[] bytes = new byte[buf.limit()];
buf.get(bytes);
String line = new String(bytes, 0, buf.limit(), "UTF-8");
System.out.println(line);
}}}
とやると、おくった文字が、ひらがなや漢字の場合に文字が??にかわってしまいます。
bytesをStringに戻すにはどうしたらいいでしょう。。。
0135デフォルトの名無しさん
2008/09/07(日) 03:44:43BUF_SIZEは
int BUF_SIZE=1024;
です
0136デフォルトの名無しさん
2008/09/07(日) 03:55:12くだらない質問すいませんでした。解決しましたor2
0137デフォルトの名無しさん
2008/09/07(日) 04:17:540138デフォルトの名無しさん
2008/09/07(日) 05:28:02初心者歓迎のスレならこんなもんだろ。
輝くような質問とレスの応酬になったらキモいだろ。
0139デフォルトの名無しさん
2008/09/07(日) 05:39:08君がその「糞の塊」なんじゃないの?
0140デフォルトの名無しさん
2008/09/07(日) 07:02:30exewrap
0142デフォルトの名無しさん
2008/09/07(日) 11:01:100143デフォルトの名無しさん
2008/09/07(日) 11:05:20糞は黙ってろ
0144デフォルトの名無しさん
2008/09/07(日) 11:14:24ぬるぽ
ぬるぽ
0145デフォルトの名無しさん
2008/09/07(日) 11:17:49Javaの思想とかおまえが偉そうに語らなくていいから、糞は黙ってろ
0146デフォルトの名無しさん
2008/09/07(日) 11:20:440147デフォルトの名無しさん
2008/09/07(日) 11:26:23糞は黙ってろ
0148デフォルトの名無しさん
2008/09/07(日) 11:32:06Javaの思想を語ってもらえませんか?少しでいいんでお願いします!
0149デフォルトの名無しさん
2008/09/07(日) 11:40:010150デフォルトの名無しさん
2008/09/07(日) 12:37:590151デフォルトの名無しさん
2008/09/07(日) 14:32:42言い返せなくて涙目www
0152デフォルトの名無しさん
2008/09/07(日) 15:08:59を使っている人いますか?
Solaris10 for x86(5/08)上で使おうとしているのですが,BCELをとってきて
CLASSPATH=/PATH/TO/bcel-5.2.jar:... のように設定しても
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/bcel/util/Repository
Caused by: java.lang.ClassNotFoundException: org.apache.bcel.util.Repository
というエラーメッセージが出ます どのようにすれば動くのでしょうか?
0153デフォルトの名無しさん
2008/09/07(日) 16:06:05いいかげんにおまえが糞ってことに気がついたらどうよ?
0154デフォルトの名無しさん
2008/09/07(日) 17:09:22日本語に対応したオープンソースのJava APIってありますでしょうか?
nativeライブラリだと見つかるので、JavaAPIがないようならJNI使って呼び出すか、
外部プロセス起動で実行させるかしかないですよね・・・
0155デフォルトの名無しさん
2008/09/07(日) 18:17:130156デフォルトの名無しさん
2008/09/07(日) 18:22:04解凍ソフトでjarを解凍してクラスが抽出できるから
Jadとか使って逆コンパイルすると
ソースを見られてしまうのですが
これを防ぐ方法はありますか?
0157デフォルトの名無しさん
2008/09/07(日) 18:23:140158デフォルトの名無しさん
2008/09/07(日) 18:23:230159デフォルトの名無しさん
2008/09/07(日) 18:23:46てか、ソースを見られてなにか困るのか?
どんなプログラムでも基本的に解析しようとすれば解析できる
少なくともコンピュータには理解できるわけだからな
0160デフォルトの名無しさん
2008/09/07(日) 18:25:010161デフォルトの名無しさん
2008/09/07(日) 18:26:16逆コンパイルする気にさえならないようなソフトは無敵
0162デフォルトの名無しさん
2008/09/07(日) 18:26:260163デフォルトの名無しさん
2008/09/07(日) 18:29:110164デフォルトの名無しさん
2008/09/07(日) 18:30:11>>162
暗号化でなく署名なら出来る
0165デフォルトの名無しさん
2008/09/07(日) 18:41:46古生代の暗号なら出来るんじゃねーの?
0166デフォルトの名無しさん
2008/09/07(日) 18:49:20いつもスルーされて淋しいよな…
0167デフォルトの名無しさん
2008/09/07(日) 19:26:06解析する時間が無駄と思わせるようなソースにすればいいんじゃない?
部分的に流用可能なソースも難しいように、スパゲティ構造にしてw
難読化ソフトって使ったことないのだが、上記のようなソースに変換してくれるものとは違うのかな?
0168152
2008/09/07(日) 20:07:31作者様のBLOG ttp://www.oikaze.jp/~tamada/Diary/cat_e99ba3e8aaade58c96.html を見ると
「・DonQuixote 3.0 Java バイトコード操作フレームワークとして,DonQuixote 3.0 を公開しました.」
とあるのですが,パスワードがかかっていていただくことができません.
DonQuixote1.0を最新のJDK1.6.0-07に使っているのが悪いのでしょうか?
>>152 のエラーメッセージは信用できるように思えるのですが
maven2 を使ったのが初めてなので何か設定が足りないのかもしれません
なお ttp://proguard.sourceforge.net/ の Alternatives にリンクが張られている
フリーの処理形をすべて試してみましたが期待通り動くものはほとんどありませんでした
他に良い難読化ソフトがありましたらお教えくださいませませ
0169デフォルトの名無しさん
2008/09/07(日) 20:27:000170デフォルトの名無しさん
2008/09/07(日) 20:29:32現在コミュニティーサイトGaccoで有志を募集しています。
詳しい概要等は
→http://www36.atwiki.jp/vipvipschool/
こちらをご覧下さい。
・プログラミングができる方
(現在技術陣は6名です)
・ウェブデザイン・画像編集能力がある方
(現在デザイン陣は2名です)
・宣伝能力のある方
(人員募集やサイト完成後の宣伝等。動画編集ができると○。)
を募集しています。
気軽にIRCに参加、またはsuteあっと2ch.bona.jpまでメールを下さい。
スレッド:ttp://ex14.vip2ch.com/test/read.cgi/news4gep/1219068297/l50
0171デフォルトの名無しさん
2008/09/07(日) 21:08:52自分でも読む気失せるぞあれは。
0172デフォルトの名無しさん
2008/09/07(日) 21:22:120173デフォルトの名無しさん
2008/09/07(日) 21:35:44ソースコード?存在しません。
0174デフォルトの名無しさん
2008/09/07(日) 21:50:010175デフォルトの名無しさん
2008/09/08(月) 00:36:370176デフォルトの名無しさん
2008/09/08(月) 01:12:45ちなみに8.04です
0177デフォルトの名無しさん
2008/09/08(月) 01:40:29a[ZERO]=0:
a[ONE]=1;
…
こんな感じで配列を定数で置き換えたいときってどういう方法がメジャでしょうか?
interface NUM{int ZERO=0;int ONE=1;…}
class Hoge implements NUM{}
class Hoge{
private final int ZERO=0;
private final int ONE=1;
…}
enum NUM{ZERO,ONE,…}
…
int []a=new int[5];
a[NUM.ZERO.ordinal()]=7;
列挙で扱いたい気がするけれど、javaの場合整数値と直接結びつかないから
ordinalを呼ばないといけないし、理由は忘れましたがordinalを使うようなやり方は
止めるべきという話を以前見聞きした気がします。
0178デフォルトの名無しさん
2008/09/08(月) 03:03:200179デフォルトの名無しさん
2008/09/08(月) 04:10:470180デフォルトの名無しさん
2008/09/08(月) 06:08:38final int ZEEL=-1;
0181デフォルトの名無しさん
2008/09/08(月) 06:35:01Synaptic で JRE 入れれば動くはず。
あとは gcj とかぶってないか確認しろ。
0182デフォルトの名無しさん
2008/09/08(月) 11:55:39ZEROでa[0]にアクセス、ONEでa[1]にアクセス、…てことなら、
配列そのものをクラスに包んでアクセサ作るのが言語的に”メジャ”っぽいと思う。
class Foo {
enum Num { ZERO, ONE, … };
private int[] a = new int[〜];
int get(Num num) {
switch(num) {
case ZERO: return a[0];
case ONE: return a[1];
:
}}
void set(Num num, int value) {
switch(num) {
case ZERO: a[0]=value;
case ONE: a[1]=value;
:
}}}
0183デフォルトの名無しさん
2008/09/08(月) 15:04:000184182
2008/09/08(月) 16:36:16こう?
class Foo {
enum Num { ZERO, ONE, … };
private Map<Num,Integer> a = new EnumMap<Num,Integer>(Num.class);
int get(Num num) { return (a.containsKey(num) ? a.get(num) : 0); }
void set(Num num, int value) { a.put(num, value); }
}
0185デフォルトの名無しさん
2008/09/08(月) 17:11:390186167
2008/09/08(月) 17:35:46{
ZERO
{
public int getValue()
{
return 0;
}
}
,
ONE
{
public int getValue()
{
return 1;
}
}
,
;
public abstract int getValue();
}
0187186
2008/09/08(月) 17:36:370188デフォルトの名無しさん
2008/09/08(月) 17:53:16効率を心配するほどのもの?
0189デフォルトの名無しさん
2008/09/08(月) 17:54:07ここ見て勉強しているのですけど、
メモリを使用するタイミングはどのタイミングなのでしょうか?
変数やメソッドの呼び出しなどがあったときにメモリを消費しているのか、
それとも変数やメソッドを呼ばなくても、定義してるだけで消費するのか。
どちらなのでしょう?
後者なら継承を繰り返すたびにメモリ使用量の多いプログラムになると思うので、
前者だとは思うのですが。
0190デフォルトの名無しさん
2008/09/08(月) 18:40:440191デフォルトの名無しさん
2008/09/08(月) 18:47:36全く気にしないのも問題だが、それで勉強してるレベルなら、まだ早いよ。
0192デフォルトの名無しさん
2008/09/08(月) 18:50:08素人だからこそ気にするべきなんだろ
そんなのもわからない阿呆はやめちまえ
0193デフォルトの名無しさん
2008/09/08(月) 18:52:44あまり記事になってないけど、arr[k]は範囲チェックが必ず入るから、arr[k]を一回アクセスするだけで、
JVM内では(隠れて) if (0<=k && k<arr.length) が呼び出されてる。
だからメモリを気にしながら設計するのも大事だけど、byte[1000*32]とか良く作るんだし、配列アクセスの方を気にしたほうがいいよ。
0194デフォルトの名無しさん
2008/09/08(月) 18:56:34アプレットはまだ携帯とか小型端末じゃみれないけど、そういう小型機器はメモリが極小64kbとかだから、
メモリの方も気にしなければいけない。
0195デフォルトの名無しさん
2008/09/08(月) 18:58:28おじさん悲しくなってくるよ
0196189
2008/09/08(月) 19:01:45それで結局のところどちらなのでしょう・・?
おかしな質問だとは自覚しているのですが、気になって仕方がありません。
どうかよろしくお願いします。
>>193
配列って使うんですか?
コレクションフレームワークのほうが高機能なので配列よりそちらを使うようなことを書いてましたが。
0197デフォルトの名無しさん
2008/09/08(月) 19:12:53ちゃんと理解出来ないんだから勘違いの嵐
0198デフォルトの名無しさん
2008/09/08(月) 19:15:53変数やメソッドの種類と、JVMによる。
0199189
2008/09/08(月) 19:37:23そうは言いますが、素人向けの説明でメモリの話が出てきてるのだから、
やはり重要だと思うのですが・・・
たとえ今は理解できないとしても、ステップとして踏んでおくべきだというのが私の考えです。
書籍やWebからの情報でも、100%ちゃんとした説明できる人のほうが少ないと思うので、
勘違いがあるのは当然だと思います。
そういうのは後々間違いに気づいていくので、
はじめの段階では特に問題視する必要はないと思います。
お答えいただけないようなので別のとこで質問しなおしたいと思います。
というわけで質問しめます。
0200デフォルトの名無しさん
2008/09/08(月) 19:43:46素人向けの解説だとStringBuilderとかなのかもしれないけど…
初心者の壁を越えられるかどうかは、java.nioの解説やAPIを熟読して理解できたかどうかだろうけど、ネイティブのファイル・アクセスとメモリ(ポインタなど)は難しいからな…
0201デフォルトの名無しさん
2008/09/08(月) 19:47:18こういうのは生意気だし、「ばくちゃん、まだ身の程をわかってません!」って感じww
0202189
2008/09/08(月) 19:50:30ありがとうございます。
あとでそのクラスを調べてみます。
>>201
私は自分のことを客観的に見ることができるんです。
あなたとは違うんです。
0203デフォルトの名無しさん
2008/09/08(月) 20:00:030204デフォルトの名無しさん
2008/09/08(月) 20:01:09少しのヒントを出すぐらいすれば
まだ自分の優位性をアピールできるだろうに。
気持ち悪いやつだ
0205189
2008/09/08(月) 20:17:22ちょっと生意気な閉め方したら食いついてくる人がいると思って、
最近はやりだったから言ってみたかったんです。すみません。
変な質問だとは自覚してましたが、本当に聞きたかったことなので、
またで直します。
0206デフォルトの名無しさん
2008/09/08(月) 20:33:24java.awt.event.KeyEvent
を使用してキーの同時押しを持ってきたいのですが、
スペース 押下時に、 上 と 左 の同時押し(結果的に3つ)
を取ろうとすると、 KeyEvent.VK_UP と KeyEvent.VK_LEFT が帰ってきません。
順番を逆にし、上左押下時のスペースは持ってこれます。
他の組み合わせ(スペース + 上右、下左、下右)はどれも正常に動作します。
KeyEventについて詳しくないのですが、これはどういうことなのでしょうか?
0207デフォルトの名無しさん
2008/09/08(月) 20:38:38if文の順番が変とか。
ソース晒してみ
0208206
2008/09/08(月) 20:39:22>順番を逆にし、上左押下時のスペースは持ってこれます。
これも KeyEvent.VK_SPACE がもってこれません
0209デフォルトの名無しさん
2008/09/08(月) 20:39:24http://pc11.2ch.net/test/read.cgi/tech/1204155623/640
0210206
2008/09/08(月) 20:51:54なるほど、ありがとうございました。
スレ違ったようですみません
>>207
おかげさまで原因がわかりました
ありがとうございました。
0211デフォルトの名無しさん
2008/09/08(月) 20:57:03ここにはもう来ないで欲しい
0212デフォルトの名無しさん
2008/09/08(月) 21:25:08メモリの使い方がどうとか言い出すと
JVMの仕組みについて勉強しないと。
局所的に見て、変数が定義されていたら内部はどうなるの?なんて質問きたら
じゃぁこの場合はあの場合はって芋づる式に疑問が増えてくる。
メモリについて知りたいなら、それ専用の本を読んでから質問しないと。
中学生までなら許せる質問
0213デフォルトの名無しさん
2008/09/08(月) 22:08:11読み込むテキストファイルの文字コードがわからない場合は
FileInputStream("file.txt"), "Windows-31J");
みたいなのをコード分(SJISとかEUCとか……)書かないといけないのでしょうか?
効率的なやり方があればよいのですが……。
0214デフォルトの名無しさん
2008/09/08(月) 22:12:55コードの違うファイルで一致する場合を検出したいと言うこと?
0215デフォルトの名無しさん
2008/09/08(月) 22:17:00いえ、どこで使うかわからないからコードの違うファイルでも普通に判定しろ、ということらしいです……。
0216デフォルトの名無しさん
2008/09/08(月) 22:36:20誤認識することもあるから文字コードを指定するオプションもあったほうがいいかもしれない。
0217デフォルトの名無しさん
2008/09/08(月) 23:04:59いっその事、byte[] でバイナリ扱いのまま比較しちゃって良いんじゃね?
改行は自分で処理しなきゃいけなくなるけど。
0218デフォルトの名無しさん
2008/09/08(月) 23:16:56djUnitを使ってjavaプログラムの単体試験を行っています。
addReturnValueを使ってわざと例外を発生させたいのですが、
ResultSet rs = stmt.executeQuery(sql);
の部分で例外を戻すように指定するには、
NullPointerException e = new NullPointerException();
addReturnValue(”Statement”,”executeQuery”,e);
のような感じでよいのでしょうか?
Statementは拡張してTestStateというサブクラスでオーバーライドしているのですが、
クラスの部分は”Statement”で良いのでしょうか?
何度やってもRuntimeExceptionが発生するか、
addReruenValueを反応しないかになってしまうので質問させていただきました。
もしご存知の方いらっしゃいましたら、お手数ですかよろしくお願いします。
0219デフォルトの名無しさん
2008/09/08(月) 23:38:12バグも多いし、1.5系じゃまともに動かないからもう使ってないけど。
それに、それって単体テスト自体の問題だと思うけどな
0220デフォルトの名無しさん
2008/09/08(月) 23:55:07素早いお答えありがとうございます。
このような質問は作っているところに聞いたほうがいいですね・・・
スレ違い気味な質問申し訳ないです。
再度テストプログラム自体を見直してみたいと思います。ありがとうございました。
0221デフォルトの名無しさん
2008/09/09(火) 00:04:05ちょっとこれはひどいんでないの?
悪いがこれ自体初心者は見ないほうがいいと思うぞ。
もっとまっとうな記事なり本なりあるだろう多分。
0222デフォルトの名無しさん
2008/09/09(火) 06:56:37高校生以上で、芋ずる式質問以外の質問をしなければいけないとはどういう質問のことをいうですか?
0223デフォルトの名無しさん
2008/09/09(火) 07:01:44C:\DOCUME~1\MYDOCU~1\MYJAVA~1>
これとかバカだろw
いまどき MYJAVA~1 はないだろ。こいつの脳は20年前のままなんだろうけど、いわゆるバカだなw
それと、そこのITの記事は、NTTデータの何とかとか言うのが記事かいてるのあるけど腐ってる。
たぶんNTTデータの落ちこぼれか雑用係が記事書いてんじゃねーか?
NTTなめんなww
0224デフォルトの名無しさん
2008/09/09(火) 07:19:080225デフォルトの名無しさん
2008/09/09(火) 10:08:400226デフォルトの名無しさん
2008/09/09(火) 10:53:45知らなかったのオレだけ?
0227デフォルトの名無しさん
2008/09/09(火) 12:16:3115
20 GOTO 15
RENUM
10
20
30 GOTO 15
ERROR
0228デフォルトの名無しさん
2008/09/09(火) 12:21:11っつかその頃のBASICは中間コードで保持してて
LISTでソース復元が主流じゃなかったか?
だからそんなことは起きない
0229デフォルトの名無しさん
2008/09/09(火) 13:02:43private void hoge(Object obj) {
if (obj instanceof List) {
// リストの先頭の値からgetClass()で取得する
} else {
// objからgetClass()で取得する
}
}
こうしたソースがあるのですが、
objがリストで来た場合にリストのサイズが0だと、
リストに格納するクラス名がわかりません。
取得する方法はありますでしょうか?
0230デフォルトの名無しさん
2008/09/09(火) 13:45:430231デフォルトの名無しさん
2008/09/09(火) 14:03:37>objがリストで来た場合にリストのサイズが0だと、
>リストに格納するクラス名がわかりません。
これの意味がわからないんだけど・・・。
サイズ0なら空なんだから何も取り出しようがないと思うんだけど・・・
0232デフォルトの名無しさん
2008/09/09(火) 14:13:40例えば上記ソースでクラス名を標準出力する場合、
List<Integer> list = new ArrayList<Integer>();
this.hoge(list);
この場合に標準出力に欲しいのは「Integer」という文字列です。
list.add(new Integer(0));
などとしてやれば、リストから取り出した値の型はわかるのですが、
リストのサイズが0の場合でも本来入れる予定の型を取りたいのです。
0233デフォルトの名無しさん
2008/09/09(火) 14:21:130234デフォルトの名無しさん
2008/09/09(火) 14:48:09褒め殺しに似た手法かも。
0235デフォルトの名無しさん
2008/09/09(火) 15:09:050236デフォルトの名無しさん
2008/09/09(火) 15:40:47ここでもう1度Enterを押すと、次のセルにフォーカスが移動するようです。
このフォーカスの移動を防ぐために、JTableにKeyListenerを登録して、
keyPressedでEnterキーの押下を検出したのですが、ここからどうすれば
よいかが分かりません。
よろしくお願いします。
0237デフォルトの名無しさん
2008/09/09(火) 18:59:21Action doNothingAction = new AbstractAction(){ public void actionPerformed(ActionEvent e){}};
KeyStroke enterKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
table.getInputMap(JComponent.WHEN_FOCUSED).put(enterKeyStroke, "doNothing");
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(enterKeyStroke, "doNothing");
table.getActionMap().put("doNothing", doNothingAction);
0238デフォルトの名無しさん
2008/09/09(火) 22:15:11http://java.sun.com/javase/ja/6/download.html
http://www.eclipse.org/downloads/
のどれをダウンロードすれば全部できますか?
0239デフォルトの名無しさん
2008/09/09(火) 22:25:30JDKだけ落として、後は自分で作れば?
0240デフォルトの名無しさん
2008/09/09(火) 22:29:15ここで質問するような奴がいきなりモバイルとか無理だから
0241デフォルトの名無しさん
2008/09/09(火) 22:41:20スタンドアローンが一番簡単で
次にWeb
一番難しいのがモバイルということですか?
0242デフォルトの名無しさん
2008/09/09(火) 23:25:23SE ME CDC/CLDCやってるが日本のMIDP端末はつまらん。
0243デフォルトの名無しさん
2008/09/09(火) 23:39:54難しいつーか覚えることがWebやモバイルのが多いだろ。
モバイルと普通のWebはどっちが難しいってのは微妙だけど情報の入手のしやすさから言ったらWebのが楽じゃね?
0244デフォルトの名無しさん
2008/09/09(火) 23:46:20getClass()でその値を何に使うかによるが、
private <T> void hoge(List<T> obj)
を作れば解決できる処理かもしれない。
0245デフォルトの名無しさん
2008/09/10(水) 01:08:22上手くいきました。
大変親切なコードに感謝します。
0246デフォルトの名無しさん
2008/09/10(水) 18:42:35するということをしたいのですが、参考になるサイトなどはないでしょうか。。。
0247デフォルトの名無しさん
2008/09/10(水) 21:01:270248デフォルトの名無しさん
2008/09/10(水) 21:23:11もうちょっと条件を出してくれ。
HTTPのみでやるのか、ソケット使っていいのか判らないと答えが広がりすぎて
的確に返答できん。
0249デフォルトの名無しさん
2008/09/10(水) 22:27:29それをjarファイルにエクスポートしました。
コマンドプロンプトから「java -jar HelloWorld.jar」と実行すると
「Hello World」と表示されるので、jarファイルは問題なさそうです。
しかしC言語でCreateProcess()を実行して上記コマンドを呼び出す
プログラムを実行したところ、以下のエラーダイアログが出て異常終了してしまいました。
「Could not find the main class. Program will exit!」
mainを含むクラスが見つからない?とのエラーのようですが、
これは一体どのようにすれば実行できるようになるのでしょうか?
0250デフォルトの名無しさん
2008/09/10(水) 22:29:18ここから
>しかしC言語でCreateProcess()を実行して上記コマンドを呼び出す
こうなる流れが全くつかめない
0251デフォルトの名無しさん
2008/09/10(水) 22:48:101. 切り分けをする(jar ではなく、classファイルでやってみる。等
2. パスを疑う
0252246
2008/09/10(水) 23:01:15文字列などはNIOをつかってサーバ側でスレッドが増えないように処理しているのですが、
画像はどう扱えば良いかわからず質問させていただきました。
0253デフォルトの名無しさん
2008/09/10(水) 23:17:45ソケット使うなら、バイナリ送り込むだけじゃん。
0254249
2008/09/10(水) 23:43:20原因が判明しました。CreateProcess()の第2引数に
「java.exe -jar HelloWorld.jar」としてしなければいけない所、
第1引数に「java.exe」、第2引数に「-jar HelloWorld.jar」を指定していました。
失礼しました。
0255デフォルトの名無しさん
2008/09/11(木) 07:50:490256デフォルトの名無しさん
2008/09/11(木) 08:11:39Runtime.exe() は内部実装では CreateProcess 使ってると思うが。
シェルを経由ってどういうことをさしてるの?MS-DOS プロンプトが出るとか?
0257デフォルトの名無しさん
2008/09/11(木) 08:12:49文字列が送受信できてバイナリが扱えない状況ってのが理解できん。
ソケットってバイナリストリームだからバイナリ→文字列って変換してるはずだろ。
なんでバイナリ扱えないんだよ。データの終端判定で悩んでるとか?
0258ウォン
2008/09/11(木) 13:26:31java初心者でして、わからないことがありまして質問したいです。
----------------------------------------------------------------------
txtファイルを読み込んだときにtxtファイルの内容が昇順に並び変わるという
プログラムを作成するというものです。
そしてルールがsplitとInteger.parseIntを使いなさいとのことです。
0259ウォン
2008/09/11(木) 13:29:04import java.io.*;
public class Test1 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader
(new InputStreamReader(System.in));
try {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
System.out.println("");
} catch (IOException e) {
System.out.println(e);
}
}
}
----------------------------------------------------------
下記はtxtファイルの内容です。
3:犬
5:鳥
9:虎
7:ライオン
1:猫
4:熊
2:馬
8:牛
6:ウサギ
-------------------------------------------------
とにかく番号順に並び変わればよいそうです。
どなたかご指導お願いいたします。
0260デフォルトの名無しさん
2008/09/11(木) 13:30:22宿題は宿題スレへ。
★★ Java の宿題ここで答えます Part 65 ★★
http://pc11.2ch.net/test/read.cgi/tech/1212085079/
0261デフォルトの名無しさん
2008/09/11(木) 14:23:17メモリを大量に消費するために、コマンドラインオプションとして
-Xmx256M を付けてeclipse上では実行していました。
jarファイルをダブルクリックで実行したいのですが、このコマンドラインオプション自体を
jarファイルに組み込むことはできるのでしょうか?
それともコマンドラインオプションを付けてjarを起動するバッチファイル的なもの
(WindowsならWSHとか?)を別に書かなきゃダメでしょうか?
0262デフォルトの名無しさん
2008/09/11(木) 15:28:24バッチファイルでキックするか、exeでくるむかだね
0263デフォルトの名無しさん
2008/09/11(木) 16:47:30生成するプログラムを作ったのですが、そのプログラムと同じフォルダにしか生成することができません。
windowsの「名前を付けて保存」みたいな感じで、
生成する際デスクトップやクリップドライブ等の場所を随時任意に指定することはできますか?
0264デフォルトの名無しさん
2008/09/11(木) 16:54:150265263
2008/09/11(木) 16:57:420266デフォルトの名無しさん
2008/09/11(木) 18:00:08エスパーしてみると、パスの区切りは "\\" とか。
0267デフォルトの名無しさん
2008/09/11(木) 18:11:030268デフォルトの名無しさん
2008/09/11(木) 18:24:240269デフォルトの名無しさん
2008/09/11(木) 19:18:04public class Kicker {
public static void main(String[] args) {
try {
Runtime.getRuntime().exec("javaw -Xmx256M -cp ***.jar ***.MainClass");
}catch(Exception e){
}
}
をマニフェストのメインにしてjarを作ったらどうかな
0270263
2008/09/11(木) 19:20:540271デフォルトの名無しさん
2008/09/11(木) 20:14:13htmlからの呼び出しに動作しません。
ほかのプログラムがweb.xmlに登録しているせいでしょうか?
web.xmlにclassを登録していないせいでしょうか?
それに関連して分からないのが、イチイチweb.xmlにservletを登録しなくてはならないのでしょうか?
0272デフォルトの名無しさん
2008/09/11(木) 21:28:31真剣に悩んでいることがあるのでご教授よろしくおねがいします。
エクリプスで新規にプロジェクトを立ち上げるとルートディレクトリの中に
「bin」や「src」といったフォルダが作成されてしまい開発ができない状況です。
学校ではbinやsrcというフォルダはないのですが、家で新期にプロジェクトを
作成するとbinなどのフォルダが自動的に作成されてしまいます。
家でもプログラムの勉強をしたいのですが、これのせいで手がつけられない状態です。
本当に困っているのですが、どなたか詳しい方お力かしてください><
0273デフォルトの名無しさん
2008/09/11(木) 21:33:27公式サイトでのjava(yahooゲームなど)は作動するんですが、タカミンお絵かきチャットなどそのほかでのjavaが作動せず
左上に白い四角に赤い×がついてしまい、表示されずこまっております
はじめてのことなので全くわかりません
詳しい方どなたかおねがいします。
0275デフォルトの名無しさん
2008/09/11(木) 22:07:24Eclipseスレがあるからそっちに行くべきかも
binとsrcはそれぞれ、.classファイルと、.javaファイルが入るフォルダで、本来ならばそのように分けて開発することが好ましいとされてるよ。
で、単純にそのプロジェクトを選択した上で「新規」からクラスを作ればsrcに自動的に作成され、コンパイルされるとbinにclassファイルが生成されるんだけど・・・
もしかしてパッケージエクスプローラじゃなくてナビゲータかなんかを開いてるんじゃない?
0276デフォルトの名無しさん
2008/09/11(木) 22:18:05アドバイスありがとうございます。
>>もしかしてパッケージエクスプローラじゃなくてナビゲータかなんかを開いてるんじゃない?
はい。
ナビゲータを開いてます;;
それがいけなかったのでしょうかね・・・
ちょっとためしてみますね。
アドバイス本当にありがとうございます><
周りに聞けるような人がいないから助かります。
ありがとうございました。
0277デフォルトの名無しさん
2008/09/11(木) 23:37:24PCで取得し,静止画や動画として保存したいと思っています.
JMFを調べてみたりしているんですが,なかなかそのものなサンプルが無いので困っています.
コマンドラインでキャプチャを制御できるソフトなどがあればProcessBuilderなどで
できると思うんですが,それも見つかりません・・.
Javaで上記のようなことをする際に便利な方法をご存知の方はいらっしゃいませんでしょうか?
0278デフォルトの名無しさん
2008/09/11(木) 23:52:41アプリケーションサーバの方でプロジェクトのルートをxmlで登録する。
WEB-INF以下のclassesにコンパイルしたファイルを入れる。
この後アプリケーションサーバを再起動させないとダメだったりすることが多々ある。
上の設定ちゃんとしてるならサービスから再起動してみては。
0279デフォルトの名無しさん
2008/09/12(金) 00:45:00char array[] = str.toCharArray();
System.out.print(array.toString());
としたらなんかぐちゃぐちゃになるんですけど何故?
よろしくお願いします。
0280デフォルトの名無しさん
2008/09/12(金) 00:58:500281デフォルトの名無しさん
2008/09/12(金) 01:02:25@since 1.5
static java.util.Arrays.toString(char[])
何故、という問いには、そういうものだから、としか...
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Object.html#toString%28%29
0282271
2008/09/12(金) 02:22:20>アプリケーションサーバの方でプロジェクトのルートをxmlで登録する。
>WEB-INF以下のclassesにコンパイルしたファイルを入れる。
アプリケーションサーバ(Tomcatのことですか?)で
プロジェクトのルートをXMLに登録すると言うところが分かりません。
>WEB-INF以下のclassesにコンパイルしたファイルを入れる。
classesにはプログラムは入っています。
0283271
2008/09/12(金) 04:11:35を元にJSPやservletを使おうとしたのですが起動しませんでした。
しかし、kaptchaというプログラムをwarファイルから実行したところJSPは動作しました。
0284デフォルトの名無しさん
2008/09/12(金) 08:38:03画像取り込みとか普及しだしてもう何年も経ったんですけど、まだjavaでは普及してないんですか。
たしかJMFのスレがあったんでそっちだと知ってる人いると思います。
いまではストリームで動画とか当たり前なのにjavaではまだ不便なんですか…
0285デフォルトの名無しさん
2008/09/12(金) 10:10:54Tomcatを使っているなら
http://www.javaroad.jp/opensource/js_tomcat2.htm
ここの「Tomcatの設定」の所。
0286デフォルトの名無しさん
2008/09/12(金) 12:45:44どういう副作用があるのでしょうか?
0287デフォルトの名無しさん
2008/09/12(金) 13:03:21閉じ忘れのせいでファイル開ける上限超えた場合に新しいファイル開けなくなるとか、
close() で出力されるはずだったデータが出力されないとか。
0288デフォルトの名無しさん
2008/09/12(金) 13:22:30ファイルオープンの上限って初めて聞いたので調べてみたのですが、
http://d.hatena.ne.jp/taka_2/20080105
ここを見る限り、多少閉じ忘れることがあってもメモリリークみたいに
そこまでの問題にはならなさそうな感じと考えて大丈夫ですかね。
0289デフォルトの名無しさん
2008/09/12(金) 14:03:49せいぜいファイル2つぐらいしか使わない自分用プログラムなら問題になりにくいってだけ。
もっとも、>>287 の2行目の問題については全然大丈夫じゃない。
0291271
2008/09/12(金) 15:31:430292デフォルトの名無しさん
2008/09/12(金) 15:34:19ちゃんと本を買って勉強しろ!
0293デフォルトの名無しさん
2008/09/13(土) 10:46:32jreが利用するためのものですよね?
jreは元々入ってるみたいなので、
jdkを落としたいんですけど、
色々あってよく分りません。
どれを落とせばいいのでしょうか?
0294デフォルトの名無しさん
2008/09/13(土) 11:02:270295デフォルトの名無しさん
2008/09/13(土) 11:03:48JDK 6 Update 7 で通常はOK
JDK 6 Update 7 with NetBeans 6.1 は無償の開発環境のNetBeansってのが付いてくる
統合開発環境も欲しければこっち
0296デフォルトの名無しさん
2008/09/13(土) 11:10:08HashMap sample = new HashMap();
sample.put( "1", 1); //�@
}
�@部分見たくフィールドでputって何でできないんだっけ…
なんか遊びでプログラム作ってたらアレ?ってなって…
詳しい人教えてくださせあ;
0297デフォルトの名無しさん
2008/09/13(土) 11:12:490298デフォルトの名無しさん
2008/09/13(土) 11:15:35{}
でくくってみろ
インスタンス初期化子でググれ
0299デフォルトの名無しさん
2008/09/13(土) 11:17:16うん。できないのは分かってる。
もう少し突っ込んだ理由が欲しかっただけなんだ…(´ω`)
0300デフォルトの名無しさん
2008/09/13(土) 11:20:00クラスに定義できるのは、フィールド、コンストラクタ、メソッド、初期化記述子の何れかではなくてはならない、と言語仕様が定めているから。
0301デフォルトの名無しさん
2008/09/13(土) 11:23:25ありがとうっ!てかSUGEEEE!
SJC-P持ってるがこんなのあったかな…。
でも解決方法はなんとなくわかったが、なんでダメなのかがわかんないっス…
0302デフォルトの名無しさん
2008/09/13(土) 11:27:58言語仕様かぁ…。
スレチになってくるのかもしれないけど、
なんで言語仕様的にダメなのか分かったら教えてください…
頭悪くてね…結構根っこの理由まで知らないと納得できないんだ…orz
0303デフォルトの名無しさん
2008/09/13(土) 11:30:03ロジカルな理由は>>300だが、直観的には、class直下の記述は宣言/定義であって、上から実行される実行文じゃない、というところか。
0304デフォルトの名無しさん
2008/09/13(土) 11:31:49その実行命令はどのタイミングで実行されるかわからないからだろ。
初期化の時なのか、コンストラクタ実行時なのか、メソッドが呼ばれたときか、明示しないとJavaはダメ
スクリプト系言語だと上から下へ実行する、って暗黙の了解があるだけで、Javaはエントリポイント(main)から順次メソッドなどを呼んで行くしかない
0305デフォルトの名無しさん
2008/09/13(土) 11:32:50暗黙の了解っていうか、スクリプト系言語の仕様では、だな。
0306デフォルトの名無しさん
2008/09/13(土) 11:39:29あー なるほどっ
フィールド変数が存在するタイミングでなんとなく呼ばれてできるような
気がしてたけど、言われてみればおっしゃる通り。
今日だけ先生と呼ばしてください。
0307デフォルトの名無しさん
2008/09/13(土) 11:51:10明日もそう呼べ
0308デフォルトの名無しさん
2008/09/13(土) 12:17:07おまえは永遠に俺の奴隷だな
0309デフォルトの名無しさん
2008/09/13(土) 14:24:310310デフォルトの名無しさん
2008/09/13(土) 16:05:310311デフォルトの名無しさん
2008/09/13(土) 18:46:33キャンバスに絵を描くプログラムを書いているのですが、したのコードだと画面のちらつきが
目立ち、もっとスムーズに書くことは出来ないかと悩んでいます。
したにコードをあげるのでもしよければ改善点を指摘してください
0312デフォルトの名無しさん
2008/09/13(土) 18:49:27Vector drawList;
int sx;
int sy;
public paintCanvas(){
addMouseListener(this);
addMouseMotionListener(this);
setBackground(Color.WHITE);
drawList = new Vector();
}
0313デフォルトの名無しさん
2008/09/13(土) 18:50:28//すべての要素を描画
for (int i = 0; i < drawList.size(); i++) {
Drawable drawnObject = (Drawable)drawList.get(i);
drawnObject.draw(g);
}
}
public void mousePressed(MouseEvent e){
sx = e.getX();
sy = e.getY();
}
public void mouseDragged(MouseEvent e) {
int x = e.getX();
int y = e.getY();
//リストに新しい線分を追加
Line line = new Line(sx, sy, x, y);
drawList.add(line);
repaint();
sx = x;
sy = y;
}
}
0314デフォルトの名無しさん
2008/09/13(土) 18:51:43public void draw(java.awt.Graphics g);
}
class Line implements Drawable {
public int x1, y1, x2, y2;
public Line() {};
public Line(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public void draw(java.awt.Graphics g) {
g.drawLine(x1, y1, x2, y2);
}
}
0315デフォルトの名無しさん
2008/09/13(土) 19:04:42Swingにするとダブルバッファリングが効く
extends Canvas → extends JComponent
public void paint(Graphics g) { → public void paintComponent(Graphics g) {
あと、フレームが Frame なら JFrame に
0316デフォルトの名無しさん
2008/09/13(土) 20:01:13log4jについて教えてください。
ルートロガーにアッペンダーとしてconsoleが指定されてる状態で、
jp.co.XXXX.SampleLoggerってロガーを作ったとします。
jp.co.XXXX.SampleLoggerではconsoleに出力したく無いのですが、
ルートロガーのアッペンダーをいじらずに何とかできないでしょうか。
0317316
2008/09/13(土) 20:01:590318デフォルトの名無しさん
2008/09/13(土) 22:42:230319デフォルトの名無しさん
2008/09/14(日) 00:11:24sunのJVMは1.4から世代別GCがデフォルトになってますが、
IBMのJVMは1.5で世代別が追加されたものの、
デフォルトは世代別ではなくクラシカルなGCを
ベースにしているようです。
両者のスタンスの違いは、極端なケースは別にしても、
必ずしもどちらかが有利な訳ではない
ということなのでしょうか?
0320デフォルトの名無しさん
2008/09/14(日) 00:11:320321デフォルトの名無しさん
2008/09/14(日) 00:17:35単に考え方の違いじゃない?
世代別GCは重いからマーク&スイープ+弱参照カウンタにしたのがPythonで
並列マーク&スイープにしたのがSpiderMonkeyで・・・云々とGCの手法なんて色々ある。
それぞれメリットとデメリットがあるんだし。
0322デフォルトの名無しさん
2008/09/14(日) 00:40:40その差が問題になるほど大層なもん作ってるのかい?
やり方の違いだったらば一長一短
まあ、後発の技術の方が長が多いのは必然だけどな。
0323デフォルトの名無しさん
2008/09/14(日) 00:51:000324デフォルトの名無しさん
2008/09/14(日) 01:37:03IBM JavaがクラシカルなGCをベースにしてるって書いてあった?
0325デフォルトの名無しさん
2008/09/14(日) 01:41:55やっぱ土曜の深夜はエロサイトめぐりだろ。おまえらも勉強はそこそこにして息抜きと○抜きしろよ。
0326デフォルトの名無しさん
2008/09/14(日) 01:45:160327デフォルトの名無しさん
2008/09/14(日) 01:59:400328デフォルトの名無しさん
2008/09/14(日) 02:07:16ありがとうございます。無事解決しました
03290.0.0.0
2008/09/14(日) 10:41:46プライベートでね。
0330デフォルトの名無しさん
2008/09/14(日) 10:53:220331デフォルトの名無しさん
2008/09/14(日) 11:37:32噴水のようにゴキブリとか糞が噴き出してるアプリだお
0332デフォルトの名無しさん
2008/09/14(日) 12:17:04{
int value;
int[] array;
}
直列化したときvalueは自動で保存されますが、arrayの要素まで保存されるんでしょうか?
それと writeObjectを明示的に実装すると、フィールドにtransientがあるかないかに係わらず
直列化されないみたいなんですけど、これはjava.lang.Objectの仕様ですか?
0333デフォルトの名無しさん
2008/09/14(日) 12:18:59writeObjectを明示的に実装したならばその実装次第だろ、JK
0334デフォルトの名無しさん
2008/09/14(日) 12:38:070335デフォルトの名無しさん
2008/09/14(日) 12:41:23配列はCloneableとSerializableを実装している
0336デフォルトの名無しさん
2008/09/14(日) 12:52:150337デフォルトの名無しさん
2008/09/14(日) 12:55:150338デフォルトの名無しさん
2008/09/14(日) 13:00:56自分で描画した画像(JPanelの上に)をイメージにして保存したいのですが、どうすればいいでしょうか。
保存先を特に指定することはありません。。
0339デフォルトの名無しさん
2008/09/14(日) 13:02:210340デフォルトの名無しさん
2008/09/14(日) 13:46:37>>246の人か>>311の人かわからんが
>>246なら画像を送るというよりも描画コマンドをおくるんじゃないの?
毎回毎回画像を送ってちゃね
0341319
2008/09/14(日) 14:03:31http://www.atmarkit.co.jp/fjava/rensai4/websphere03/websphere03_3.html
を読んでそう理解しました。
0342デフォルトの名無しさん
2008/09/14(日) 14:08:42ファイルへのアウトプットってこと?
セオリーかどうかはわからんが
JPanel panel = getPanel();
File output = new File("anywhere");
BufferedImage im = new BufferedImage(panel.getWidth(), panel.getHieght(), BufferedImage.TYPE_INT_RGB);
panel.paintComponent(im.getGraphics());
javax.imageio.ImageIO.write(im, "png", output);
てなかんじでどう。
0343デフォルトの名無しさん
2008/09/14(日) 14:17:46>>322
レスありがとうございます。
選択可能ということは一長一短なんだと思いますが、
後発に分があると思っていたら、
IBMはデフォルトを保守的な設定にしていることに気付き、
??と思った次第です。
その差が問題になるほどのものを作ってるか?というと、
負荷をかけたらヒープがつらいことになってしまった
というのが発端なので、その程度のレベルでございます。
0344デフォルトの名無しさん
2008/09/14(日) 14:38:07じゃないの?
0345デフォルトの名無しさん
2008/09/14(日) 16:42:01AN HTTPDでサーバーをたてました。
サーバパソコンからhttp://localhost/でアクセスすると
きちんと.classファイルを読み込んでJAVAアプレットが表示されるのですが、
外部のパソコンからhttp://(グローバルIP)/でアクセスすると
.classファイルがnot foundになりアプレットが表示されません。
どうすれば外部からアクセスしても表示されるようになるでしょうか?
0346デフォルトの名無しさん
2008/09/14(日) 17:22:48・通常のクラスを作りstaticメソッドでユーティリティの機能を実装し、コンストラクタをprivateで隠蔽する方法
・抽象クラスを作りstaticメソッドでユーティリティの機能を実装する方法
上の2つではどういった理由でどちらが望ましいですか?
もしくはどういった状況で使い分けるべきですか?
0347デフォルトの名無しさん
2008/09/14(日) 17:39:06ってのはどうだ。
0348デフォルトの名無しさん
2008/09/14(日) 18:35:100349デフォルトの名無しさん
2008/09/14(日) 19:48:55継承されないから前者じゃね?
final class にもできるし。
0350デフォルトの名無しさん
2008/09/14(日) 21:12:40その結果を表示するプログラムを作りたいのですが、うまくいきません。(ログイン前の画面が表示されてしまいます。)
見よう見まねで書いてみたプログラムは以下のようなものです。
どなたか解決策をご存知の方教えて頂けますか?
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
public class AutoReserve {
public static void main(String[] args) {
PostMethod method = new PostMethod ("https://hogehoge/login.jsp");
HttpClient httpclient = new HttpClient();
method.addParameter("username","xxx");
method.addParameter("password","yyy");
try {
int result = httpclient.executeMethod(method);
System.out.println(result);
System.out.println(method.getName());
System.out.println(method.getStatusText());
System.out.println(method.getPath());
System.out.println(method.getResponseBodyAsString());
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}
}
}
情報が足りないようであれば、具体的にそのページのURLも書き込みます。
0351デフォルトの名無しさん
2008/09/14(日) 22:58:46あとは何をもってログインページの表示と、ログイン処理を分けているかだと思うけど、POSTならばって条件は正しいの?
例えば、action=doLoginとかそんなパラメータは必要にならない?
0352デフォルトの名無しさん
2008/09/14(日) 23:56:56Hoge h2 = new Hoge();
h1 = h2;
というようなコードがあった場合、メモリリークしますか?
0353デフォルトの名無しさん
2008/09/15(月) 00:05:28早速のご回答ありがとうございます。
> httpsとかなっているけど、証明書とか大丈夫?
HTTPSについての知識はありませんが、
ttp://q.hatena.ne.jp/1131072683
ここの回答者1の文章を読む限りだと大丈夫かなぁと思いました。
> あとは何をもってログインページの表示と、ログイン処理を分けているかだと思うけど、POSTならばって条件は正しいの?
> 例えば、action=doLoginとかそんなパラメータは必要にならない?
ログインページの表示とログイン処理を分けているというのがよくわかりませんが、対象のページのソースを表示すると
HTTPでFORMタグにMETHOD="POST"という記述があったのでPOSTが適当だろうと判断しました。
やはり具体的な状況を説明したほうがよさそうですね。
ttps://yoyaku.city.yokohama.jp/sports/index.jsp
このWebサイトの「予約・抽選申込」のページにJavaでログインしようと思っています。
なお、運営時間は9:00〜24:00です。
0354デフォルトの名無しさん
2008/09/15(月) 00:56:20下記の流れで検索処理を作成したみたのですが、
jsp1 …条件入力して検索ボタン押下
↓
serv1 … DBからデータ取得して、list<beanクラス>に保存
↓
jsp2 … listの内容を展開
↓
serv1
↓
jsp3
jsp2からjsp3へ遷移する際に、serv1で取得したlistを利用して、
別なデータを取得しているのですが、複数ブラウザで実行した場合、listの内容がその都度変わってしまい、うまくいきません。
一般的にどのように処理をするのでしょうか?
0355デフォルトの名無しさん
2008/09/15(月) 01:47:50>Hoge h1 = new Hoge();
>Hoge h2 = new Hoge();
>h1 = h2;
1行目で生成されたHogeインスタンスは「そのうち」ガベコレされるからメモリリークしない。
0356デフォルトの名無しさん
2008/09/15(月) 09:24:32エージェント見てはねてんじゃないの
0357デフォルトの名無しさん
2008/09/15(月) 09:40:04どうみてもPOST先はlogin.jspじゃねーな
ログイン画面のformタグをみてみろ
パラメータの名前も一致していないし、その程度もわからないならば無理だろうね
ちなみに、一番簡単なのはログインするときのHttpRequestをキャプチャしてそれに合わせたリクエストを投げる事。
ついでに言えば、下手したら不正アクセスで捕まるから注意した方がいいと思う。
0358デフォルトの名無しさん
2008/09/15(月) 11:39:33JavaでGUIアプリを作成するというのは、あまり一般的では
ないのでしょうか?
自分はSwing1
0359デフォルトの名無しさん
2008/09/15(月) 11:42:46自分はSwingでGUIアプリを作成しようと思っていたんですが、
VBとかVC#とか使ったほうが簡単だよ!みたいなことを
言われました。
JavaでもJBuilderを使えばフォーム作れるのに・・とか思っていたんですが。。
0360デフォルトの名無しさん
2008/09/15(月) 11:50:07無論、簡単に作るのが目的であれば、の話だけど。
君がJavaでやりたいんだ!と思うならVB/C#はハナから対象外だろ。
SwingでもSWTでも選ぶといい。
でもここだけの話、Delphiの方が(ry
0361デフォルトの名無しさん
2008/09/15(月) 12:35:51javadocには「人間が読める簡潔で有益な情報であるべきです」とありますが、
例えばリスト構造でそれぞれのデータまで表示するように複数行に渡る文字列を返すのは「簡潔」でなくなるのでしょうか?
また、toStringの処理は多少重くなってもいいのでしょうか?
自分はtoStringは基本的にそのオブジェクトの情報を知るために使用するため、デバッグ時にしかほとんど使用していません。
よってString.formatなどの、重いが簡潔な記述が出来る方法も頻繁に使用しています。
答えはないと思うので意見をお聞かせください。
0362デフォルトの名無しさん
2008/09/15(月) 12:46:55スレチだけど、自分のIDとパスを使うだけなら不正アクセスとはならないんじゃない?
0363デフォルトの名無しさん
2008/09/15(月) 16:28:19java1.4、macOSX10.3を使っています
File f = chooser.getSelectedFile();
bimage = ImageIO.read(f);
g.drawImage(bimage, 0, 0, this);
選択したファイルを読み込んで表示するのですが、ちゃんと表示されて動作には問題が
無いのに、コンソールには大量のエラーが表示されます
apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.NullPointerException
java.lang.NullPointerException
at apple.awt.CRenderer.copyImage(CRenderer.java:860)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:147)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3120)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3110)
at sam.ImageView.paintComponent(ImageView.java:34)
at javax.swing.JComponent.paint(JComponent.java:808)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JViewport.paint(JViewport.java:720)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:557)
0364デフォルトの名無しさん
2008/09/15(月) 16:30:14at javax.swing.JComponent.paint(JComponent.java:817)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1325)
at sun.awt.RepaintArea.paint(RepaintArea.java:194)
at apple.awt.ComponentModel.handleEvent(ComponentModel.java:258)
at java.awt.Component.dispatchEventImpl(Component.java:3744)
at java.awt.Container.dispatchEventImpl(Container.java:1671)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3543)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
0365デフォルトの名無しさん
2008/09/15(月) 16:32:28java.lang.NullPointerException
at sam.ImageView.openFile(ImageView.java:24)
at sam.Test.openImageFile(Test.java:75)
at sam.Test.actionPerformed(Test.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:321)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
at java.awt.Component.dispatchEventImpl(Component.java:3681)
at java.awt.Container.dispatchEventImpl(Container.java:1671)
at java.awt.Component.dispatchEvent(Component.java:3543)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3527)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3242)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3172)
at java.awt.Container.dispatchEventImpl(Container.java:1657)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3543)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
凄く長いんですけど、どういう原因が考えられるのでしょうか?
長過ぎましたね、すいません 一部省略しました
0366デフォルトの名無しさん
2008/09/15(月) 16:40:20デフォルトではHTTP/1.1でリクエストされてしまうのですが
HTTP/1.0でリクエストを出すにはどうすればよいのでしょう?
0367デフォルトの名無しさん
2008/09/15(月) 17:00:040368デフォルトの名無しさん
2008/09/15(月) 17:04:11toString()はObjectにあるので全てのオブジェクトに影響しますが、hashCode()とequals()の関係はどう考えればよいでしょうか?
0369デフォルトの名無しさん
2008/09/15(月) 17:23:541. まず、自分が書いたプログラムの何処で例外が発生したのか確認する。
> at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3110)
> at sam.ImageView.paintComponent(ImageView.java:34)
2. (私はソースの行数が分からないので推定だが)g.drawImage の引数のうち null になる可能性を探る。
2.1. bimage だけが null になる可能性がある。
3. ImageIO.read(File) のドキュメントを読む。
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/javax/imageio/ImageIO.html#read%28java.io.File%29
3.1. まず戻り値を読む。
> 戻り値: 復号化された入力内容を保持する BufferedImage または null
3.2. 更に説明文を読む。
> 登録された ImageReader が、結果のストリームを読み込みできないような場合、null が返されます。
0370デフォルトの名無しさん
2008/09/15(月) 17:25:41答えはないということで同意。
ただ、リストの数が多くなる可能性があるものについては
使いづらくなってしまうので、基本は要素数を返すなどに
留めるべきだと思う。
中までみたければループなりイテレータで回せば済む話だし、
逆にそこまで情報いらないということになるとtoString()を
オーバーロードしないといけなくなるからね。
リスト要素数が数個に限定されるような動的に属性が変化する
オブジェクトの代用としてなら中まで含めるのもありかな。
0371363
2008/09/15(月) 20:11:12返信ありがとうございます
色々調べたのですがわかりません
動作に問題が無いのにエラーを起こすというのはどういうことでしょうか?
このままでOKという事は無いですよね...
0372デフォルトの名無しさん
2008/09/15(月) 20:17:39なにをどう調べたのよ?
0373デフォルトの名無しさん
2008/09/15(月) 20:59:27そうなんですか、ありがとうございます。いろいろ調べてみます。
>>357
> どうみてもPOST先はlogin.jspじゃねーな
> ログイン画面のformタグをみてみろ
> パラメータの名前も一致していないし、その程度もわからないならば無理だろうね
POST先とパラメータの名前についてはわかります。
350の書き込みの時点ではなんとなく伏せました。
> ちなみに、一番簡単なのはログインするときのHttpRequestをキャプチャしてそれに合わせたリクエストを投げる事。
> ついでに言えば、下手したら不正アクセスで捕まるから注意した方がいいと思う。
ありがとうございます。そのようにしてみます。
>>362
自分のIDなら大丈夫そうですね。よかった。
0374デフォルトの名無しさん
2008/09/15(月) 21:00:51自分ならは要素全部返すようにするなぁ たとえ8000文字になったとしても
何も考えずに、println(object)で簡単に一覧できるのが利点だと思ってる
ただ改行コードは入れないようにしてるかな
あとは関係ないけど、toXXXStringを別名で作ったり(ソートやら文字列長さ制限付とか、木構造なら前置、中置、後置でたどる
0375デフォルトの名無しさん
2008/09/15(月) 21:58:14また開く方法がわかりません
.javaファイル単体は開けるのですが
0376デフォルトの名無しさん
2008/09/15(月) 22:27:170377デフォルトの名無しさん
2008/09/15(月) 22:59:240378デフォルトの名無しさん
2008/09/15(月) 23:04:53ウィンドウ>パースペクティブ>Java参照
プロジェクトタブ(?)でそのプロジェクトみっけて右クリック
0379デフォルトの名無しさん
2008/09/15(月) 23:07:15ライセンス契約してるような大企業以外は2003かそれ以下がほとんど
0380デフォルトの名無しさん
2008/09/15(月) 23:14:570381375
2008/09/15(月) 23:18:01プロジェクトを閉じる にしてしまったら
プロジェクトタブ(?)のリストも空っぽで表示されないのですが
閉じ方間違ってますか
VC++使ってたのでこの感覚がどうもわかりません
0382デフォルトの名無しさん
2008/09/15(月) 23:23:54スレ違いうぜえ
http://pc11.2ch.net/test/read.cgi/tech/1211505494/l50
0383デフォルトの名無しさん
2008/09/15(月) 23:27:110384デフォルトの名無しさん
2008/09/16(火) 01:19:52うちはまだ97バリバリ入ってるな
0385デフォルトの名無しさん
2008/09/16(火) 14:31:20あるWebアプリケーションを作成しています。
ユーザー認証のためにログイン画面があります。
ログインの際に新規セッションを生成しメニュー画面をオープンし
その他子画面を開きます。
そのあと新しいウィンドウを開き別のIDでログインすると
新規セッションが生成されるのですが、このセッションIDは
クッキーに保存されるので前にログインして開いていた画面が
今回のセッションと共通になってしまいます。
これを回避する方法はないでしょうか?よろしくお願いします。
0386デフォルトの名無しさん
2008/09/16(火) 15:03:58IEなら、別プロセスでブラウザを起動する。
新しいウィンドウやタブを開くのではなく、
デスクトップアイコンやスタートメニューから再度起動すればよい。
FirefoxやOpera、Chromeなど他のブラウザだとできないので、
同一マシンで複数セッション使いたいなら、セッションの数だけ
別のブラウザを実行する。
VMWareとか使う手もあるが。
0387デフォルトの名無しさん
2008/09/16(火) 20:42:18テキストデータ(○○.txt)をBufferedReaderで読み込んだ後、
その文字列のユニコードを変更させたいのですが、できますか?
(どんな型式のテキストファイルでもかならずUTF-8にしてから処理させ、
UTF-8で出力させる、というのが当面の目標です)
0388デフォルトの名無しさん
2008/09/16(火) 21:26:59何でわざわざUTF-8にしたいか理解できないけど、可能。
BufferedReaderで読んだ時点でUTF-16のStringになっているから
String.getBytes("UTF-8")すればUTF-8のバイト列が取れる。
0389デフォルトの名無しさん
2008/09/16(火) 22:44:300390デフォルトの名無しさん
2008/09/16(火) 23:01:40Java実装のSNSってないの?
0391デフォルトの名無しさん
2008/09/16(火) 23:21:59JVM 1.5.0, org.eclipse.swt.carbon.macosx_3.4.0.v3448f.jar, org.eclipse.swt_3.4.0.v3448f.jar
にパスを通し、ttp://www.okisoft.co.jp/esc/swt/index.htmlのように
単純なウィンドウを表示するだけのプログラムをテスト用に書きました。
eclipse上では普通に動作するのですが、ExportからRunnable JAR Fileを作成し、
JARファイルから直接実行すると、ウィンドウが表示された後、プログラムがハングしてしまいます。
Mac機を一台しか持ち合わせていないので、一般的な症状なのかどうか分かりませんが、同様の症状の方はいらっしゃいませんでしょうか。
0392デフォルトの名無しさん
2008/09/17(水) 03:44:36terminal から起動してみては如何でしょうか。
0393デフォルトの名無しさん
2008/09/17(水) 07:50:23勉強がてらなら作れよw
0394デフォルトの名無しさん
2008/09/17(水) 08:36:42String str = hogehoge;
として
str.xをhogehoge.xと同じ文になるようにしたいのですができません。
どなたかこれに近い方法をご存じですか?
0395デフォルトの名無しさん
2008/09/17(水) 09:36:440396デフォルトの名無しさん
2008/09/17(水) 10:00:48やりたいことをもっと詳しく。
文章だけだけだと
hogehoge x = new hogehoge(...);
の前提のように読めるが、hogehoge.x とか書いてあって意図不明。
hogehogeはクラス名? 変数名?
xは何かのクラスのメンバー? static?
・処理 B が行われているとき、処理 A は行えない。
処理 A は、処理 B が終わり次第、順番に実行したい。
・処理 A が行われているとき、処理 B は行えない。
処理 B は、処理 A が終わり次第、順番に実行したい。
・処理 A 同士、処理 B 同士であれば同時に行える。
と言う制御をしたいのですが、java.util.concurrent
パッケージあたりで単純に実現することはできないで
しょうか。
1つの処理 = 1つのスレッドという前提で構わないの
ですが…
もちろん、concurrent パッケージに拘る理由は特に
ありません。スレッドのロックや公平性をうまく利用
できないかなと思ったのみです。
0399デフォルトの名無しさん
2008/09/17(水) 11:27:25Conditionのがいいかも知れんけど。
複数同時の詳細が分からんけど、予想外の動きではないと仮定して。
0400デフォルトの名無しさん
2008/09/17(水) 12:10:06Hogehoge1クラスの中にxという変数があって、
Hogehoge2クラスで
Hogehoge1 hogehoge = new Hogehoge();
とHogehoge1をオブジェクト化した後にクラス変数のxを
hogehoge.xとして呼び出す感じです。
何がやりたいかというと、hogehoge.xとそのまま書かずに
String str = "oge";として
hogehoge.x
↓
h + oge + hoge.x
↓
h + str + hoge.x
みたいな感じでstringで置換したいです。
hogehoge.xに限ったことではなく、例えば
System.out.println();を
String str = "Sys";として
str + tem.out.println();
みたいな使い方です。stringはこんな使い方は出来ないのでしょうか…
0401デフォルトの名無しさん
2008/09/17(水) 12:15:260402デフォルトの名無しさん
2008/09/17(水) 12:17:32名前でオブジェクトを特定してアクセスってことならリフレクションだが。
そんな妙ちくりんなことして何の得になるんだ?
名前とオブジェクトを関連付けするならMapで充分だろに。
0403デフォルトの名無しさん
2008/09/17(水) 12:17:540404デフォルトの名無しさん
2008/09/17(水) 12:21:00必要になることはあるでしょ
>>400にとって必要かといえば、たぶんアプローチが間違ってるんだろうけどね
ありがとうございます。やはり無理矢理持ち出しても
どつぼなだけですかね。考えてみます。
複数同時の詳細、ですが、処理AがA1,A2,A3とあり同時、
もしくは処理BがB1,B2,B3同時といったように動くのは構わないが、
A1とB1、といった状態は不可、と言うことを実現する必要があったと言うものです。
0406デフォルトの名無しさん
2008/09/17(水) 12:28:44Mapを使えば似たようなことはできるけど、できないと考えていたほうが
良いと思う。
クラス名とか変数名ってのは人間がソースを読むときのために便宜上付
いているだけであって、それをプログラム実行時にどうにかしようとい
う発想はあまりしないのです。
0407デフォルトの名無しさん
2008/09/17(水) 12:30:15標準のAPIにはそのものズバリはなさそうなので、
モニターで確実なものを作ってそれからいろいろと工夫をするのがいいと思いますよ。
動作確認はしてないがこんな感じで作れる。
class ABlock {
private int cntrA = 0; private int cntrB = 0;
public synchronized void enterA() {
while (cntrB != 0) { try { wait(); } catch (InterruptedException e) {} }
cntrA++; }
public synchronized void leaveA() {
if (cntrA > 0) cntrA--;
notifyAll(); }
public synchronized void enterB() {
while (cntrA != 0) { try { wait(); } catch (InterruptedException e) {} }
cntrB++; }
public synchronized void leaveB() {
if (cntrB > 0) cntrB--;
notifyAll(); }
}
0408デフォルトの名無しさん
2008/09/17(水) 12:38:59ありがとうございます。調べてみます。
具体的にはパネル上に碁盤の目状にオブジェクトを配置して、
マウスでクリックしたところにあるオブジェクトを返したかったんですが、
やり方がわからなかったので、オブジェクトと一緒にクラス名をStringでパネル上に配置して、
クリックした場所のStringを返す→Stringを使ってオブジェクトを返すという考えでした。
0409デフォルトの名無しさん
2008/09/17(水) 12:45:38リフレクションはあくまで最終手段で、本当にちゃんと理解してる人がやること
0410デフォルトの名無しさん
2008/09/17(水) 12:46:370411391
2008/09/17(水) 12:59:14どうもありがとうございます。
起動自体は普通にするので、起動せずエラーを吐く、といったわけでは無いのですよね。
デバッグ(IDE上の実行とか)で再現せず、JAR化した時のみハングするので……。
JARの中身をあれこれ弄ってはいるものの、難しいですね。
0412デフォルトの名無しさん
2008/09/17(水) 12:59:53Aの実行中にBが来たらBは待つ。
そこにさらにA2がきたら?
{ Bより先に即実行 or Bあとに実行 }
ここが要件不明。
前者がいいなら、トークン持ちのキューが2つある構造。
トークンは、キューが空になったときに移動する。
後者でいいなら、並列動作は常にさせないのが分かりやすい。
同時処理させても限定的な効果になるから。
0413デフォルトの名無しさん
2008/09/17(水) 14:11:40> >>401-404
> ありがとうございます。調べてみます。
リフレクションを使うほどのものじゃないですね。
調べるのは時間の無駄かと…。
> 具体的にはパネル上に碁盤の目状にオブジェクトを配置して、
> マウスでクリックしたところにあるオブジェクトを返したかったんですが、
> やり方がわからなかったので、オブジェクトと一緒にクラス名をStringでパネル上に配置して、
> クリックした場所のStringを返す→Stringを使ってオブジェクトを返すという考えでした。
パネルに置くオブジェクトをボタン(あるいは、その子孫クラス)にして
アクションリスナーで、オブジェクトを返すとかで十分な気がします。
0414aa
2008/09/17(水) 14:22:57ようになり困っています。
ガーベッジコレクタを高速にする方法や、勝手にガーベッジコレクタが
動作しないようにする方法は有りますか?
0415デフォルトの名無しさん
2008/09/17(水) 14:29:07暇なときにSystem.gc()
0416デフォルトの名無しさん
2008/09/17(水) 14:29:52例えば処理対象のデータを次々にA→Bという処理の流れに渡すのか、
あるいはいくつかの固定データに対してA→B処理をひたすら同時に繰り返すのか、
いまいちやりたいことが分からないんだ…
0417デフォルトの名無しさん
2008/09/17(水) 14:33:34とんでもないメモリの使い方したりしてないか確認するんだ
0418aa
2008/09/17(水) 14:36:10非同期ガベージコレクタを無効にすることも出来ません。
>>417
ログを処理しているのですが、大量のログを入力した直後に
停止状態になります。
0419デフォルトの名無しさん
2008/09/17(水) 14:46:10念のため訊くけど、無限ループってオチじゃないよね?
あと、ゲームなんかだと、GCが起きないように、
最初に必要なメモリを全部確保しておいて
ゲームの途中ではメモリの確保&解放は
しないようにしたりする。
0421aa
2008/09/17(水) 14:55:43import java.lang.management.ManagementFactory;
import java.util.List;
として、
GarbageCollectorMXBean と ManagementFactory で
ガベージコレクタをコントロールできるらしいです。
そっちを調べてみます。
0422デフォルトの名無しさん
2008/09/17(水) 14:59:49本当にガベージコレクタが原因なんだとしたら大量のゴミが出てるのは確かなんだから
効率的な処理の仕方とかを考えないとしょうがないんじゃないの?
0424デフォルトの名無しさん
2008/09/17(水) 16:13:340425デフォルトの名無しさん
2008/09/17(水) 18:10:24原因は10中ハック、GCではなくて単なるプログラムミスだろ
0427aa
2008/09/17(水) 19:22:39せんでした。
if(){}else{}文の最後の中括弧を出るタイミングや、、
あるいは、今回の調査用に呼び出した関数内部のSystem.out.printf()文
とSystem.out.printf()文の間で停止したりします。
どこで停止するかはまちまちで、停止時間は10秒以上だと思います。
停止後、何事もなかったように動作を再開し、プログラムの実行結果自体は
至って正常です。
0428デフォルトの名無しさん
2008/09/17(水) 20:23:170429aa
2008/09/17(水) 21:28:11「ボトルネック」というのが「処理速度が遅い部分」という意味だとすれば、
今回の場合はそれとは違うと思います。
今回は、複数のSystem.out.println()の間の何も書かれてないような位置や、
中括弧の直後の何も書かれていない位置で停止する現象が起きてます。
0430デフォルトの名無しさん
2008/09/17(水) 22:39:570431デフォルトの名無しさん
2008/09/18(木) 03:54:59true を指定して止めようとする場合の
内部ステートの変更とスレッドのインタラプトが同一の排他処理内に入っていないので、
これを実行するバックグラウンドスレッドが複数の FutureTask を連続的に実行する場合、
ロジック的には、次のタスクの実行中にスレッドをインタラプトする可能性があるんじゃない?
実際にソースをコピペして、インタラプトする前に適当に Thread.sleep する文を挿入したら
その通りになったんだけど、これってロジック的にはバグじゃね?
それとも、cancel(boolean) は true を指定できるのは非常に限定された場合だけなのかな?
0432デフォルトの名無しさん
2008/09/18(木) 05:18:10ボタンをクリックしたら、ソフトを起動できるようにしたいのです。
よく
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()");
というのを見かけます。
この後ろに起動したいソフトに関する記述をすればいいのかと思うのですが、違うでしょうか。
もし、それでいいとすればどう記述すればいいのでしょうか。
Windowsの場合とLinuxの場合、それぞれの記述の仕方を教えていただけると助かります。
0433デフォルトの名無しさん
2008/09/18(木) 06:37:17理解できないならば喋るなと言われそうですが,,,,,,
本来はどうあるべきなのでしょう。
trueを指定して割り込みを望む以上、どんな状態で割り込みが行われたとしても
想定の範囲内ではないのでしょうか。
そも、割り込みが完了する直前状態は、「動作中のタスクがcancel対象以外」であるのが当たり前では?
0434デフォルトの名無しさん
2008/09/18(木) 11:27:17>それとも、cancel(boolean) は true を指定できるのは非常に限定された場合だけなのかな?
ソス見てないが、Thread.interrupt を実行してるなら FutureTask が個々に1個のスレッドの場合だけだろうな。
0435デフォルトの名無しさん
2008/09/18(木) 12:46:53入力された日付の一日前の日付を取得したいのですが、サンプル等ありますでしょうか。
ちなみに入力された日付は文字列型です。(例:2008-09-18)
0436デフォルトの名無しさん
2008/09/18(木) 12:54:17APIドキュメント内を探してみたか?
DateFotmat, Date, Calender(GregorianCalendar)
使えそうなのいろいろあるぞ
0437デフォルトの名無しさん
2008/09/18(木) 13:48:58KeyEventでボタンを押しっぱなしにしているとき物体が動き、離すと止まるようにしたいのですが、
keyPressedでボタンが押されたとき座標をずらすようにすると、物体の動きが変になってしまいます。
具体的には最初遅く動いて、しばらくすると一定の速度で早く動きます。
今はボタンを一度押すと動き、もう一度押すと止まるという形にしていますがとてもやりにくいです。
どなたか解決方法を簿存じないでしょうか?
0438デフォルトの名無しさん
2008/09/18(木) 14:11:04> 具体的には最初遅く動いて、しばらくすると一定の速度で早く動きます。
物体が動きだすときに、なんらかのオブジェクトを生成(new)してませんか?
ゲームの場合、各ステージ(?)の最初に必要なオブジェクトをすべて生成してしまい、
プレイ中にはオブジェクトの生成を一切しないようにしたほうがいいです。
> 今はボタンを一度押すと動き、もう一度押すと止まるという形にしていますがとてもやりにくいです。
keyReleasedで止まるようにする。
0439デフォルトの名無しさん
2008/09/18(木) 14:25:15keyReleasedを使ったらうまくいきました。
今までkeyPressedしかつかってなかったので目から鱗です;;
0440デフォルトの名無しさん
2008/09/18(木) 15:55:48ProcessBuilderでも使ったら?
0441デフォルトの名無しさん
2008/09/18(木) 17:10:24数値配列を丸ごとファイルに保存しようと考えています。
FileOutputStreamとObjectOutputStreamを使えば、
writeObujectで配列を書き込めるのはわかったのですが、
ObjectOutputStreamにはランダムアクセス機能がないので
あまり使いたくありません。
しかし、RandomAccessFileにはwriteObujectがないのです。
このような場合、どうしたらよいでしょうか。
0442デフォルトの名無しさん
2008/09/18(木) 17:19:43まぁファイルがソースなんだから、
FileInputStream#getChannel().position(long l)
とか使えばいんじゃね?
0443デフォルトの名無しさん
2008/09/18(木) 17:40:170444デフォルトの名無しさん
2008/09/18(木) 21:23:37想像で決めずにまず一番簡単な方法で書いてみろ。
で時間を測って、気に入らなかったら高速化を考えろ。
0445デフォルトの名無しさん
2008/09/18(木) 22:23:26ただ、int[] aのようなaを指定するだけで、
要素が丸ごと書き込む方法があるかは知りたいんです。
aをbyte[]に変換できたらいけそうなんですが。
0446432
2008/09/18(木) 22:23:50どうもありがとうございます。
ProcessBuilderは知らなかったので、調べてみると便利らしいですね。
ググって使い方を調べてみます。
0447デフォルトの名無しさん
2008/09/18(木) 22:25:17JFrameを継承してウィンドウを生成した時に、
タイトルバーに最小化/最大化/終了ボタンが付きますが、
最小化/最大化のボタンだけ非表示したいです。
調べた結果JDialogを継承したウィンドウだと
上記が実現できるのですが、今度はWindowsのタスクバーに
タスクが表示されなくて困っています。
タイトルバーの最大化/最小化ボタンを非表示にして、
なおかつタスクバーにタスクを表示させるには
どうすればよいでしょうか?
0448デフォルトの名無しさん
2008/09/18(木) 22:34:37New I/O。java.nio.Buffer とそのサブクラス群、等。
0449デフォルトの名無しさん
2008/09/19(金) 02:10:22恐らく見当違いだと思いますが、以下のことが出来ます。
サイズ変更不可に -- Frame.setResizable(boolean)
タイトルバーを非表示に -- Frame.setUndecorated(boolean)
0450デフォルトの名無しさん
2008/09/19(金) 05:59:031画面の入力項目が多い為、jsp:includeで分割しても変わりませんでした。
post形式ですが一度に送れるrequestの容量に制限があるのでしょうか?
回避方法はあるのでしょうか?
javax.servlet.ServletException: コンパイル問題が未解決です。
メソッド _jspService(HttpServletRequest, HttpServletResponse) のコードが 65535 バイトの制限を超えています。
0451デフォルトの名無しさん
2008/09/19(金) 07:17:161つのメソッドの大きさは65535バイトまで。
classファイルフォーマットの仕様上の制約。
たしか例外ハンドラの開始位置とかが 符号なし2バイト整数だったような。
0452デフォルトの名無しさん
2008/09/19(金) 11:50:31知ってたが初めて見るコンパイルエラーだw
ほんとに超える奴なんていたのか。
0453デフォルトの名無しさん
2008/09/19(金) 12:11:39http://gimpo.2ch.net/test/read.cgi/bizplus/1221777450/
0454デフォルトの名無しさん
2008/09/19(金) 12:38:57確認したいのですが、何か良い方法はあるでしょうか。
最終的な目的は、日本語名のファイルを扱わないようにすることです。
0455デフォルトの名無しさん
2008/09/19(金) 12:45:25中国語やハングルは含まれていても問題ないと?
0456デフォルトの名無しさん
2008/09/19(金) 13:00:24ファイル名だったらこんな感じか?
if (filename.matches("[0-9A-Za-z .!#$%&'(),-.;=@\\[\\]^_{}~]+")) {
// OK
} else {
// NG
}
0457デフォルトの名無しさん
2008/09/19(金) 13:20:53失礼しました。
中国語やハングルも含みます。
>>456
なるほど。ありがとうございます。
0458デフォルトの名無しさん
2008/09/19(金) 14:00:36つまりバージョンアップする場合、廃止されたクラスやメソッドを使用していなければ問題なく同じ動作になると言えるでしょうか?
0459デフォルトの名無しさん
2008/09/19(金) 14:08:07はい。それぐらいの話で良ければ問題ありません。
0460デフォルトの名無しさん
2008/09/19(金) 15:31:50ありがとうございます。
逆に後々問題になりそうな盲点なポイントはあるでしょうか。
0461デフォルトの名無しさん
2008/09/19(金) 16:07:22と同じ色のピクセル座標のみを列挙するプログラムを作成しています。
現在は画像の幅と高さ分だけforをグルグル回しながら、BufferedImage.getRGBで
一個一個ひたすらチェックしているのですが、どうにも時間がかかってしまいます。
Java標準APIの範囲で、このような作業をより高速に出来る手法はあるでしょうか。
0462デフォルトの名無しさん
2008/09/19(金) 16:38:04幅と高さのforをぐるぐる回ると少しマシかも
0463デフォルトの名無しさん
2008/09/19(金) 22:06:23一つのウィンドウを動かした場合に、他のウィンドウも同じだけ動くようにしたいと考えています。
単にイベント中でウィンドウ移動の処理をするとスレッド例外が発生してしまいますが、
どのようなイベント、或いはスレッドを作って処理するのがよいのでしょう
0464デフォルトの名無しさん
2008/09/20(土) 00:04:390466デフォルトの名無しさん
2008/09/20(土) 10:17:21サーバー上にjavaアプレットとサーバープログラムを置き、
サーバープログラムを実行させた状態で、javaアプレットにアクセスすると、
javaアプレットとサーバープログラム間で通信ができるというものを作りました。
しかし、サーバーパソコン上から http://localhost/ で
javaアプレットにアクセスした場合はうまく通信できるのですが、
外部のパソコンから http://(サーバーのグローバールIP)/ で
アクセスした場合は接続失敗になってしまいます。
どうすれば外部からアクセスした場合でもきちんと通信できるようになるのでしょうか。
なお、通信する際に使うサーバー側のポートは開放しております。
HTTPサーバーはAN HTTPDを使っています。
───アプレット側のサーバーへの接続コード───
serverName = getCodeBase().getHost();
usocket = new Socket(serverName, portNo);
───サーバー側の接続待ちコード───
ServerSocket serversocket = new ServerSocket(portNo);
Socket usocket = serversocket.accept();
0467デフォルトの名無しさん
2008/09/20(土) 11:41:10それは繋げるとして、単にファイアウォールとかプロキシってことはないのか?
0468デフォルトの名無しさん
2008/09/20(土) 13:34:05ある特定のスレッドだけ再開することって出来ますか。
0469デフォルトの名無しさん
2008/09/20(土) 14:03:47別の方法としてはnotifytAllで全部たたき起こして、
条件に合わないスレッドは再びwaitに戻すといった方法もわりとよくやる。
インタラプトで個別に起こすのは一応最後の手段かな。
0470デフォルトの名無しさん
2008/09/20(土) 15:00:11スレッドごとに別々のオブジェクトでwaitし
特定のオブジェクトをnotifyしたら
そのオブジェクトで待機してたスレッドが動きました。
ありがとうございました。
0471デフォルトの名無しさん
2008/09/20(土) 15:40:59スレッド使えばなまじのCより早くなるだろ
0472デフォルトの名無しさん
2008/09/20(土) 15:51:110473デフォルトの名無しさん
2008/09/20(土) 16:04:12クライアントでWebサーバの代わりとなってJavaアプレットを実行する方法はありますでしょうか?
Tomcatはサーブレットのほかに、アプレットも動作可能でしょうか?
もし動作できない場合、Tomcatでサーブレットからアプレットを起動するような方法で実行できますでしょうか?
0474デフォルトの名無しさん
2008/09/20(土) 16:07:35AというクラスがBというスレッドを、waitしたりnotifyしたりするのですが、
notifyせずにAというクラスがどこからも参照されなくなると
Bというスレッドは永遠とwaitしっぱなしになると思います。
Aというクラスで必ずBをnotifyして、Bのスレッドの処理完了すべきですが、
上記のようにwaitしっぱなしでAが参照されなくなるケースがある場合に、
Bのスレッドを終了させる方法ってありますでしょうか。
思いついたのは、
1.Aというクラスにファイナライズのメソッドをオーバーライドし、
Bのスレッドをnotifyするという方法
2.Bのスレッドを定期的にnotifyし、Bがどこからも参照されなくなっていたら終了するという方法
そこで、2.の方法は実現可能なのでしょうか・・
それとも他に良い方法ありましたら教えてください
0475デフォルトの名無しさん
2008/09/20(土) 16:31:08実行中に例外が発生してなんたらExeptionが出たときに、
追加でコンソールに表示される
at パッケージ.クラス.メソッド(+数値)
の部分の+以降の数値の見方が分かりません。
どなたか教えていただけると助かります。
0476デフォルトの名無しさん
2008/09/20(土) 17:48:24行番号
0477名無しさん
2008/09/20(土) 18:47:33フィールド数として適切な数はどれぐらいだと思いますか?
0478431
2008/09/20(土) 19:14:25http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6665818
> It is not absolutely guaranteed that cancel(true) will indeed interrupt
> the task instead of its surrounding code.
0479デフォルトの名無しさん
2008/09/20(土) 20:24:03書くのは間違いでしょうか?
(例)to_date(DATE型カラム, 'yyyy-m-dd hh24:mi:ss');
一応、日付は正しく取得されるのですが・・・
いろいろな本やHPでは、大文字で説明が載っています。
(もし、間違いならなぜ間違っているのか知っていれば教えて下さい。)
0480デフォルトの名無しさん
2008/09/20(土) 21:46:450481デフォルトの名無しさん
2008/09/20(土) 22:01:57ありがとうございます。
0482デフォルトの名無しさん
2008/09/20(土) 22:16:34以下のようにして文字列に変換しようとしたのですが、
ByteArrayOutputStream os = new ByteArrayOutputStream();
((PrintStream) document).print(baos);
String Data = os.toString();
((PrintStream) document).print(baos);
のところで、
org.apache.xerces.dom.DeferredDocumentImpl cannot be cast to java.io.PrintStream
というエラーが吐かれてしまいます。
何かいい対処法はありますでしょうか?
0483482
2008/09/20(土) 22:21:23× ((PrintStream) document).print(baos);
↓
○ ((PrintStream) document).print(os);
失礼しました
0484デフォルトの名無しさん
2008/09/20(土) 22:35:06castの意味分かってるのかな?
0485デフォルトの名無しさん
2008/09/21(日) 02:19:03非常にくだらない話なんですが、Integerの使い道が分かりません。
intではダメなのでしょうか?計算もできないようですし・・・
0486デフォルトの名無しさん
2008/09/21(日) 02:27:08Statement st;
String sql="select * from database";
//
ResultSet rs=st.executeQuery(sql);
これで取り出された値のうちランダムな一つを使いたいため、
取り出された総数を知りたいのですが、
rs.next()がnullになるまでループさせる以外に方法ってあるでしょうか?
0487デフォルトの名無しさん
2008/09/21(日) 02:30:50使い道が分からないうちは気にしなくて大丈夫です。
必要だから使う程度です。
0488デフォルトの名無しさん
2008/09/21(日) 02:45:51最後の行に移動して行番号を取ればいいんでないかい。
0489デフォルトの名無しさん
2008/09/21(日) 03:01:31触れてないようなので
Daemon, ShutdownHook
0490デフォルトの名無しさん
2008/09/21(日) 03:48:01コレクションの要素に整数を入れることを考えてみよう。
0491デフォルトの名無しさん
2008/09/21(日) 05:47:31すなおに SELECT COUNT(*) FROM database; を使ったほうがいい。
あとランダムに1つ選ぶのに * で全部取得だと効率悪いから、主キーをなんとか
ランダムに生成して1件取得するようにすべき。
0492デフォルトの名無しさん
2008/09/21(日) 07:30:36コピーとペーストを実装させたいのですが、
そのプログラムが一つのTextAreaの場合はネットで検索して
見つけたんですが、それを複数の名前の異なるTextAreaに応用する方法がわかりません。
StringSelection strSel = new StringSelection(textArea.getSelectedText());
のtextAreaの部分を自動的に選択したTextAreaにする方法を教えてください。
0493デフォルトの名無しさん
2008/09/21(日) 08:31:03{
class MyCl {}
}
とすると、内部クラスはインターフェイスの規約どおり必ずpublic static final class MyCl
として扱われるんですか?
0494デフォルトの名無しさん
2008/09/21(日) 08:40:06暗黙的に public と static はつくけど final はつかんかったような。
あと、規約通りじゃない場合ってコンパイラのバグとかを想定してるって事?
0495デフォルトの名無しさん
2008/09/21(日) 08:57:05そういえば、実験してそんな感じがしてたんですけどstaticもつくんですか。
0496デフォルトの名無しさん
2008/09/21(日) 09:02:44基本的な部分は理解できましたが、その次のステップにすすめません。
実際に何かを作るのがいいとおもいますが、参考になるようなもの
(サンプルPG、練習問題のあるサイト)がありましたら教えてください。
0497デフォルトの名無しさん
2008/09/21(日) 09:32:020498デフォルトの名無しさん
2008/09/21(日) 09:40:02早速のレスありがとうございます。
デスクトップがメインですが、サーバサイドも必要です。
割合でいうと15%程度ですので、後回しでも結構ですl
0499デフォルトの名無しさん
2008/09/21(日) 09:42:54int foo = 777;
hogeDataPrvider.setValue("PIYO",new Integer(foo));
とすると「INTEGER型に対してストリング型は無効です」のようなエラーが返ってきます。
で
hogeDataPrvider.setValue("PIYO",777);
とするとエラーになりません。
どなたか、なぜこうなるか教えて下さい。
0500デフォルトの名無しさん
2008/09/21(日) 11:23:350501デフォルトの名無しさん
2008/09/21(日) 11:47:18IntegerというのはStringではないと思うのですが。
0502デフォルトの名無しさん
2008/09/21(日) 11:53:31INTEGER型はDBのカラムの型
ストリング型はJavaの型
「のようなエラー」じゃなくて、エラーはちゃんと読めよ
0503デフォルトの名無しさん
2008/09/21(日) 11:54:000504デフォルトの名無しさん
2008/09/21(日) 12:02:50チュートリアルの例ではDBのInteger型に対してちゃんとjavaのInteger型を突っ込んでると思うのです。
だから僕がやってうまくいかないのはコード以外の部分に問題があるのかなと思ったのです。
0505デフォルトの名無しさん
2008/09/21(日) 12:28:270506デフォルトの名無しさん
2008/09/21(日) 12:42:37ダメでした。
数字をハードコーティングしない限り作動しません。
0507デフォルトの名無しさん
2008/09/21(日) 12:46:28hogeDataPrvider.setValue("PIYO",foo );
0508デフォルトの名無しさん
2008/09/21(日) 12:53:280509デフォルトの名無しさん
2008/09/21(日) 12:54:36うーんダメでした。
0510デフォルトの名無しさん
2008/09/21(日) 12:59:26C言語ではstrcpyの関数を使いますが…
0511デフォルトの名無しさん
2008/09/21(日) 13:03:10String a = new String(b);
0512デフォルトの名無しさん
2008/09/21(日) 13:05:37ありがとうございます!
0513デフォルトの名無しさん
2008/09/21(日) 13:21:25でいいだろ
>>499
どこのチュートリアルか示せ
0514デフォルトの名無しさん
2008/09/21(日) 13:28:210515デフォルトの名無しさん
2008/09/21(日) 14:02:52http://www.testwww.netbeans.org/kb/60/web/inserts-updates-deletes.html
です。
まさかこれが間違えているとは思えないので、何か設定でヘマをしたと思うのです。
0516デフォルトの名無しさん
2008/09/21(日) 14:44:27「String a = new String(b); 」と「String a = b;」は一緒じゃないじゃん。
0517デフォルトの名無しさん
2008/09/21(日) 15:57:33もうそちらの方が知りたいです。
0518デフォルトの名無しさん
2008/09/21(日) 16:03:19linux に tomcat5.5 をインストールしてみました。
元々入っているサーブレットのサンプルアプリ(servlets-examples)を
一部修正してアップロード→リロードすると修正内容が反映されて動作します。
ただ、標準出力/標準エラーがどこにも出力されません。
catalina.xxxx.log 系に出ると思っていたのですが何が悪いのでしょうか?
わざと例外が発生するソースにして動作させると、
スタックトレースが出力される tomcat の 500エラー画面が表示され、
「注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5のログに記録されています」
と、メッセージが出るのですけど logs フォルダ配下を grep しても出力されていません。
0519デフォルトの名無しさん
2008/09/21(日) 16:20:00Stringを別のStringに代入にはなっているだろ
0520デフォルトの名無しさん
2008/09/21(日) 16:20:200521デフォルトの名無しさん
2008/09/21(日) 16:21:35CATALINA_HOME/logs/catalina.outに出力されてないか?
0522デフォルトの名無しさん
2008/09/21(日) 16:26:29String a=b;は aがbを参照してるだけじゃん
0523デフォルトの名無しさん
2008/09/21(日) 16:30:33Stringを別のStringに代入する方法なんてないでOK?
0524デフォルトの名無しさん
2008/09/21(日) 16:31:130525デフォルトの名無しさん
2008/09/21(日) 16:38:130527デフォルトの名無しさん
2008/09/21(日) 16:51:02Tomcatはどうやってインストールして、どんな風に実行している?
0528デフォルトの名無しさん
2008/09/21(日) 16:52:31教えてください
0529デフォルトの名無しさん
2008/09/21(日) 16:54:13getFontMetricsから取得は可能。
0530518
2008/09/21(日) 17:05:54か、解決しました(;´Д`)
インストールは sudo apt-get install tomcat5.5 で
実行は 初回rootで次からはtomcat用のユーザでしてました。
結局のところ CATELINA_HOME/logs のリンク先のオーナーが root になってました。
java と関係なくてすんまそん。
色々ありがとうございました。
0531デフォルトの名無しさん
2008/09/21(日) 17:37:14意味がわからん。
1) String型の変数に何らかのStringオブジェクトのリファレンスを代入すること
はできる。
2) mutableなオブジェクトに含まれる非finalなインスタンス変数に、同型である
別のオブジェクトのインスタンス変数をコピーすることはできる。しかし、String
オブジェクトはimmutableなので、Stringオブジェクト内部のインスタンス変数を
別のStringオブジェクトのインスタンス変数にコピーすることはできない。
3) ただし、既存のStringオブジェクトから別の実体を持つStringオブジェクトを
新規に生成することはできる。(Stringはimmutableなので、同一の値を持つ別の
実体をあえて生成することに意味があるとは思えないが)
0532デフォルトの名無しさん
2008/09/21(日) 17:51:33デスクトップならここかな
http://wisdom.sakura.ne.jp/system/java/
あってる間違ってるとか言われるけど、
それなりの解説とコンパイルすれば動くソースが載ってるからいいんじゃないかな
あとはこのへんとか
http://www.javadrive.jp/
Swing以外にもサーブレット入門とかあるから、そこそこはできると思われ
0533デフォルトの名無しさん
2008/09/21(日) 18:17:18早速やってみます
レスありがとうございました。
0534デフォルトの名無しさん
2008/09/21(日) 18:56:21513は「String a = b;」では、新しく文字列が生成されない事が分からないのでは。
0535デフォルトの名無しさん
2008/09/21(日) 19:03:320536デフォルトの名無しさん
2008/09/21(日) 19:04:23あんまり意味ないけど
0537デフォルトの名無しさん
2008/09/21(日) 19:49:480538デフォルトの名無しさん
2008/09/21(日) 20:22:060539デフォルトの名無しさん
2008/09/21(日) 21:57:26とかありますけど、こういう"terminateEditOnFocusLost"というような指定可能な文字列は、
どういった経緯で知ることができるのでしょうか。
指定可能なプロパティを列挙できるメソッドなどが用意されているのでしょうか。
そもそも、クライアントプロパティというのが何なのかよくわかりません。
0540デフォルトの名無しさん
2008/09/21(日) 22:49:40それがライブラリならマニュアル嫁って話
0541デフォルトの名無しさん
2008/09/21(日) 23:04:470542デフォルトの名無しさん
2008/09/21(日) 23:06:41>>499
エラーをそのまま書いてよ。
みんな親切に想像してレスしてくれてるけど
その想像の段階で勘違いってこともよくあるし、
エラーの中で自分でここが重要だって思っててもそれが思い込みで
見る人が見ればもっと別な所が重要ってこともよくあるし。
0543デフォルトの名無しさん
2008/09/21(日) 23:22:07だからま、エラーメッセージはコピペしろ、と
素のメッセージをWeb検索するだけで答えが見つかることもあるし。
脳内変換はその後でも遅くは無い。
0544デフォルトの名無しさん
2008/09/22(月) 00:01:38いざ作り始めると美しくないソースになってしまいます
今考えているのは以下の二つの方法なのですが
実際GUI開発されている方はどういった設計でGUIアプリを
開発されてますか?
1.メインウィンドウクラスはstaticなコンポーネント
満載で、イベントクラスからは直接処理結果を返す
こんな感じ MainWindow.label.setText("結果");
2.メインウィンドウクラスはシングルトンで毎回取得
取得して、セッターゲッターを必要に応じて作って
処理結果を返す
こんな感じ MainWindow.getInstance().setRet1("結果");
何となく1の手法はせっかくのgcをうまく生かせてないみたいで
嫌いなのですが・・・
何かメジャーな開発手法があれば教えてください。
0545デフォルトの名無しさん
2008/09/22(月) 00:21:58けどシングルトンもだめって確かSwing Application Frameworkの中の人が批判してたね。
0546デフォルトの名無しさん
2008/09/22(月) 00:25:000547デフォルトの名無しさん
2008/09/22(月) 00:29:43試したいならばNetbeansである程度出来るから、やってみると面白い
0548544
2008/09/22(月) 00:55:03ありがとう、いろいろ勉強不足な事に気付きました。
EDTなんてのがあったんですね。
frameをsetvisible(true);した瞬間に別スレになるのかー
毎度別スレッドからになってた。
やっぱGUIはめんどくさい
0549デフォルトの名無しさん
2008/09/22(月) 07:47:38その後、皆様のご回答をもとにいろいろやった結果、実はカラムPIYO(主キー
にしていた)に対するエラーではなく、他のINTEGER型のカラムに対するエラー
である事がわかりました。
そのカラムはNULLを許容させていたので、検証の時もそのカラムにバインドし
ている入力領域であるtextFieldには何も値を入れず、当然にNULLを代入させてい
たつもりだったのですがそれが良くなかったようです。
0550デフォルトの名無しさん
2008/09/22(月) 07:48:45ちなみにエラーメッセージは
システムメッセージ
Error :Number of conflicts while synchronizing:
1 SyncResolver.INSERT_ROW_CONFLICT row 6 型 INTEGER に対して無効な
文字ストリング・フォーマットです。
でした。
0551デフォルトの名無しさん
2008/09/22(月) 07:54:22テーブルの稼動を検証するため、何度かじかにクエリーを実行した事があり、その
時のINSERTの結果とコードにリテラルを突っ込んで試した時の結果を取り違えてし
まった事が悔やまれますとともに、答えのない質問をばら撒くという過ちを犯した
事をお詫びします。
>>543 はじめ皆様すみませんでした。
このNULLを許容しているカラムには、状況によってNULLを入れる必要がある為、
その時に入力領域とどう連動させるかという問題が残るのですが、それはまた今度
考える事にします。
全く何なんでしょうね、俺。ほんとすみません。
0552デフォルトの名無しさん
2008/09/22(月) 11:29:19自分は研究のためにjava_xml_pack-summer02_01.zipというファイルを探しています。この中に入っているjaxm-1.1_01フォルダが目的です。
上記ファイルが置いてある場所なのですが、自分の持っている資料には
ttp://java.sun.com/xml/downloads/javaxmlpack.html
にあると記載されています。
しかし、上記サイトに飛ぶと
ttp://java.sun.com/webservices/downloads/
に飛ばされてしまいます。
サイト構成が変わってファイルの置き場が変わってしまったのでしょうか?
もし、上記ファイルの在り処に検討がつく方がいるならばご教授願いたいです。
0553デフォルトの名無しさん
2008/09/22(月) 11:37:350554デフォルトの名無しさん
2008/09/22(月) 14:20:290556デフォルトの名無しさん
2008/09/22(月) 14:58:290557デフォルトの名無しさん
2008/09/22(月) 15:32:56なんの話をしているんだ?
0558デフォルトの名無しさん
2008/09/22(月) 19:15:25パソコンの知識はかなりあります。軽くPHPをいじったことも。
0559デフォルトの名無しさん
2008/09/22(月) 19:35:55Rubyだろうがなんだろうが、興味持ったのやるのが一番
0560デフォルトの名無しさん
2008/09/22(月) 19:36:24パソコンの知識はかなりありますって言えるのか・・・
世も末だな
0561デフォルトの名無しさん
2008/09/22(月) 19:39:27COBOL以外ならなんでもいいじゃん。
0562デフォルトの名無しさん
2008/09/22(月) 19:43:13パソコンの知識とプログラミングの知識はまったく別だろ、少なくとも現代では。
LANの設定とかコマンドプロンプトの扱いとか、それすら出来ない奴がマの新人として雇用されるわけだ、それよか幾分もマシ
0563デフォルトの名無しさん
2008/09/22(月) 19:50:55何もできなかった。むしろプログラムを組むことだけが目的であった。
0564デフォルトの名無しさん
2008/09/22(月) 19:57:110565デフォルトの名無しさん
2008/09/22(月) 19:59:49パーソナルコンピュータの時代は終わっていると気づけ
0566デフォルトの名無しさん
2008/09/22(月) 20:04:17Javaは文法的にもCの発展版なのでCからやるといいですよ。特にポインタは難しいですけど、これを極めておくと他の言語でも応用が利きます。
0567デフォルトの名無しさん
2008/09/22(月) 20:15:17個人的にC言語は何でもできるけど一番難しいと思っているよ。
0568デフォルトの名無しさん
2008/09/22(月) 20:17:42Java vs Cは他のスレでやれ
0569デフォルトの名無しさん
2008/09/22(月) 20:17:55今更Cなんて化石を触らすのは百害あって一利なしだよ
最初からJavaで良いと思う
0570デフォルトの名無しさん
2008/09/22(月) 20:27:29Javaスレに来て、Cがいいですか?とか聞いているんじゃないわけだし
0571デフォルトの名無しさん
2008/09/22(月) 22:22:09それならJavaみたいな静的型に頼るよりもやっぱりsclaraとかjavascript,rubyじゃないの?
0572デフォルトの名無しさん
2008/09/22(月) 22:22:560573デフォルトの名無しさん
2008/09/22(月) 22:32:06なんでJavaよりsclaraとかjavascript,rubyが良いの?
0574デフォルトの名無しさん
2008/09/22(月) 22:33:530575デフォルトの名無しさん
2008/09/22(月) 22:35:380576デフォルトの名無しさん
2008/09/22(月) 22:43:48静的言語より動的言語を選ぶもまえの考えが聞きたかったのだが・・
まぁいっか
0577デフォルトの名無しさん
2008/09/22(月) 22:48:460578デフォルトの名無しさん
2008/09/22(月) 22:51:290579デフォルトの名無しさん
2008/09/22(月) 22:52:26おまえはプログラム言語を使って誰もが驚くようなアプリを作ってるのか?
0580デフォルトの名無しさん
2008/09/22(月) 23:02:09お気軽な動的言語でいいんじゃないの。
0581デフォルトの名無しさん
2008/09/22(月) 23:09:54Javaで趣味程度にプログラムを作っているのですが、最近ちょっと疑問に思うことが。
MMOのサーバーはどんな設計になっていて、それはJavaでも可能なのでしょうか。
マウスをドラッゲして移動したキャラクタの座標をを、画面にいるユーザー全員に送信するなど
考えただけでも処理が大変そうで。Java.nioで並列処理をするとかで行けるものなのでしょうか?
0582デフォルトの名無しさん
2008/09/22(月) 23:18:17第一にグラフィックは2Dくらいならともかく3Dはハード性能を引き出せないから限界がある
通信周りとかも暗号化したり速度を出そうとすると標準的なライブラリじゃ無理がある
まあ、数百人が遊ぶ程度でチートとかやろうと思えば可能って割り切れば作れないことはないだろうね
0583デフォルトの名無しさん
2008/09/22(月) 23:25:05グラフィック関係ないじゃ・・・
0584デフォルトの名無しさん
2008/09/22(月) 23:26:54どんだけ並行処理できるかが勝負な気がする。
0585デフォルトの名無しさん
2008/09/22(月) 23:32:20普通のいわゆるWebアプリのサーバは知ってますか?
MMOの設計を知ってるわけじゃないけど、あんまり大差ないと思いますよ。
基本的には要求が来るまで待ってて
要求に従っサーバのデータを書き換えたり、情報を送り返してるだけだと思う
TCPがUDPになってるとかはあるだろうけど
0586デフォルトの名無しさん
2008/09/22(月) 23:40:08Eclipseを使ったものならなおよし
http://www.amazon.co.jp/gp/product/4797344520/ref=cm_cr_pr_product_top
この本ってどうなんですか?
0587デフォルトの名無しさん
2008/09/23(火) 00:27:49Scalaは静的型言語だぞ。
0588デフォルトの名無しさん
2008/09/23(火) 00:31:030589デフォルトの名無しさん
2008/09/23(火) 00:34:300590デフォルトの名無しさん
2008/09/23(火) 00:48:27スレッド内でメソッドに飛びループで処理をさせているんですが
ループの途中でスレッドに帰っちゃってる状態なんですが
(ループが途中で終わるような記述は書いてないです)
どうも原因が掴めないです、スレッドが原因ってことはないですか?
0591デフォルトの名無しさん
2008/09/23(火) 01:16:220592デフォルトの名無しさん
2008/09/23(火) 05:48:04当該文字列がコンストプールにあるかどうかを確認するにはどうすればよいでしょうか?
0593デフォルトの名無しさん
2008/09/23(火) 11:28:58ところで、何で確認する必要があるの?
0594デフォルトの名無しさん
2008/09/23(火) 12:09:430595デフォルトの名無しさん
2008/09/23(火) 12:45:09java.awt.Toolkit
0597デフォルトの名無しさん
2008/09/23(火) 12:58:45Ctrl+c, Ctrl+v
0598デフォルトの名無しさん
2008/09/23(火) 14:14:51まずHTMLを全て読み込んでそこから該当する情報だけを抜き出すしか方法はないですか?
それだと必要のない情報(宣伝など)まで一度読み込まないといけないから、1000行近く読み込む事になるんですよ。
なるべく処理を軽くしたいんですがいい方法ありませんか?
0599デフォルトの名無しさん
2008/09/23(火) 14:18:360600デフォルトの名無しさん
2008/09/23(火) 14:19:020601デフォルトの名無しさん
2008/09/23(火) 14:23:44よく知らんが、どうせあるだろうと思ってぐぐると
やはりAPIが公開されてるらしい
http://developer.yahoo.co.jp/auctions/
0602デフォルトの名無しさん
2008/09/23(火) 15:23:59公式のSunサイトから JDK6をダウンロードしてインストールしました。
環境変数も $JAVA_HOMEの設定と $PATH:$JAVA_HOME/bin に追加して
問題なく正常にtomcatが起動する状態になりました。
しかし # reboot とOSを再起動するとtomcatが自動的にあがってきてくれません。
tomcatは
# apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
でインストールしました。
同じようにインストール(apt-get install apache2) したApache2は
OS起動時に自動的に起動してくれます。
# ls /etc/rc2.d/ すると
S90tomcat5.5
が存在しますので、自動的にあがってくるはずなのですが・・・どうすれば自動的に立ち上がりますか?
0603デフォルトの名無しさん
2008/09/23(火) 15:32:440604デフォルトの名無しさん
2008/09/23(火) 15:48:25ありがとうございます。
APIは盲点でした、しかもヤフーが公開してたとは。
0605デフォルトの名無しさん
2008/09/23(火) 17:17:12しかし、およそ1マップに100人いたとして、そのうちの一人が座標を1でもかえると全ユーザーに新座標を送信すると考えると
ドラッグで動かしている間にも座標が変わる度に
サーバーに座標送信→サーバーが、受け取った座標を同マップにいるユーザー全員に送信。
クライアント側では、絶え間なく送られてくる他のユーザーの座標をリペイントしまくる。
やっぱりMMOの技術はすごいですね。
0606デフォルトの名無しさん
2008/09/23(火) 17:50:140607デフォルトの名無しさん
2008/09/23(火) 17:57:36たぶんそんな面倒なことになってないと思うけど、秋の夜長の妄想君ですか?
0608デフォルトの名無しさん
2008/09/23(火) 18:00:58>>605が何したよ。実際を知っているのならば軽く訂正してあげればいいのに・・
0609デフォルトの名無しさん
2008/09/23(火) 18:15:20スレチなんであんまり引っ張りたくないんだけど、
同期するのは相互作用があるユーザだけで十分でしょ
少なくとも同一画面内のキャラだけで良いし、多分もっと少なくできると思うから
せいぜい数キャラ同期取れば十分では
0610デフォルトの名無しさん
2008/09/23(火) 19:52:55呼び出し元のクラスによって表示する画像が違う(他の処理は同じ)場合、
それぞれの画像についてのAのサブクラスを作って、それをそれぞれ呼び出すのと
呼び出すのは常にAで、呼び出すときにAに画像を引数として渡すのとどちらがいいですか?
0611デフォルトの名無しさん
2008/09/23(火) 19:54:330612デフォルトの名無しさん
2008/09/23(火) 20:02:37サブクラス作るのは止めます
処理がそれぞれ異なったりするときはサブクラス作るのもありですよね?
0613デフォルトの名無しさん
2008/09/23(火) 20:03:430614デフォルトの名無しさん
2008/09/23(火) 20:07:23いまのところは直進弾しかないんで、画像変えるだけですけど
後々狙い撃ち弾や分裂弾、回転弾などを作るなら弾のクラス作って、それぞれの弾の性質のサブクラス作ろうかなって
0615デフォルトの名無しさん
2008/09/23(火) 20:38:40まずは英語が出来ないとまったく話にならないけどなw
0616デフォルトの名無しさん
2008/09/23(火) 21:32:150617デフォルトの名無しさん
2008/09/23(火) 22:00:16http://www.au.kddi.com/ezfactory/tec/spec/openappli.html
0618デフォルトの名無しさん
2008/09/23(火) 22:13:40しかしsunのページに行ったら両方書いてありました。
どちらが正しいのでしょうか。
0619デフォルトの名無しさん
2008/09/23(火) 22:18:300620デフォルトの名無しさん
2008/09/23(火) 22:32:39それとhttp://www13.plala.or.jp/naka_jima/Eclipse/chapter12.htmlを見てやってみましたが、
ケータイでダウンロードすると
通信に失敗しました。
しばらくしてからリトライして下さい。
(200:4207)
と表示されてエラーになりました・・・
0621605
2008/09/23(火) 22:53:40スレ違いすいませんでした。
0622デフォルトの名無しさん
2008/09/23(火) 23:21:26ヒントとなるサイトとかやり方とかを教えてください。よろしくおんがいします。
0623デフォルトの名無しさん
2008/09/23(火) 23:24:14AppletからJavaScriptをキックする事も、JavaScriptからAppletをキックすることも可能
だけど、ブラウザ依存の部分もあったはず
0624デフォルトの名無しさん
2008/09/24(水) 00:23:120625デフォルトの名無しさん
2008/09/24(水) 01:31:43返答ありがとうございます。
Appletからキックということは、AppletからJavaScriptを実行してテキストエリアに書くということでしょうか?
ヒントとなるサイトとかあったら教えてください
0626デフォルトの名無しさん
2008/09/24(水) 01:49:53SeaMonkey持ってるならjsコンソールにjava.lang.System.out.println("西園寺 世界!!")と入れてjavaコンソール開くんだ!
0627623
2008/09/24(水) 02:08:28http://www.google.co.jp/search?q=Applet%E3%81%8B%E3%82%89JavaScript
0628デフォルトの名無しさん
2008/09/24(水) 03:07:02どちらでも大丈夫でしたか。
ありがとうございます。
0629デフォルトの名無しさん
2008/09/24(水) 12:27:30仕様ではランクがA・Bと設定されていて、
ランクAで点数が80以上ならok、
ランクBで点数が85以上ならランクup、60以上85未満だとランクそのままと表示され、
それ以外の場合のランクが入った場合は
何も表示されないというものです
それで、ランクがA・B以外の場合と設定したとして、
テストデータはどうすればいいか困っています
Cの場合、Dの場合と記述するべきですか?
またそのとき境界値は記述する必要はありますか?
記述する必要があれば、境界値は60,80,85ですか?
初歩的な質問ですみません。よろしくお願いします
0630デフォルトの名無しさん
2008/09/24(水) 14:06:060631デフォルトの名無しさん
2008/09/24(水) 14:20:50正常が0なのはいいけど、他の場合の戻り値は何なんでしょう?
JavaDocにも「正常なら0」としか書いてないですし
全部例外になるんでしょうか
0632デフォルトの名無しさん
2008/09/24(水) 14:26:43だからそのアプリケーションによりけりでしょ。たぶん。
0633デフォルトの名無しさん
2008/09/24(水) 14:44:15「それ以外」をすべてテストすることなど不可能だから
"C", "", null についてやっておけばいいんじゃないか?
あと Java 直接関係ないから微妙にスレ違い
0634デフォルトの名無しさん
2008/09/24(水) 15:10:32インスタンスの動的関連を表すにはどのUML図を使うのが適切ですか?
0636デフォルトの名無しさん
2008/09/24(水) 17:50:160637デフォルトの名無しさん
2008/09/24(水) 20:32:10フローチャート図
0639デフォルトの名無しさん
2008/09/24(水) 22:23:34String str = new String("bbbb");
とすると、最初の方のオブジェクトってガベージされるまでメモリ上に残っちゃいますか?
0640デフォルトの名無しさん
2008/09/24(水) 22:31:47String str = "aaaa";
str = "bbbb";
という理解でよい?
確かに"aaaa"の方はガベコレされるまで残るけど、あんまり気にするこっちゃないよ。
0641デフォルトの名無しさん
2008/09/24(水) 22:32:25コンパイルエラーになります。
メモリを気にしては駄目です。
このぐらいを気にするぐらいなら、new String(String) を使わないでください。
0642デフォルトの名無しさん
2008/09/24(水) 22:38:00いや。全然違うけどw
0643639
2008/09/24(水) 22:59:53>>641
>>642
すいませんw
String[] str = new String[3];
str[0] = "aaaa";
str[1] = "bbbb";
str[2] = "cccc";
for(int i = 0; i < 3; i++) {
String str2 = str[i];
System.out.println(str2);
}
こんな感じを言いたかったんです
System.out.println()の後で
str2 = null; を入れる意味ってありますか?
0644デフォルトの名無しさん
2008/09/24(水) 23:02:04なら始めからそう書けよ。嫌われるぞ。
0645デフォルトの名無しさん
2008/09/24(水) 23:04:45もう遅い。
0646デフォルトの名無しさん
2008/09/24(水) 23:14:17まったくない
0647デフォルトの名無しさん
2008/09/24(水) 23:20:060649デフォルトの名無しさん
2008/09/25(木) 07:29:05今、コレクションフレームワークの勉強してんだけど、
List<String> list = new ArrayList<String>();
ってコードがあった。
何で、こんな書き方してるんでしょうか。
ArrayList<String> list = new ArrayList<String>();
じゃだめなのかな?
場合によってこういう書き方をすればいいというのが
あるんでしょうか。
0650デフォルトの名無しさん
2008/09/25(木) 07:34:510651デフォルトの名無しさん
2008/09/25(木) 07:35:46ensureCapacity とか trimToSize とか removeRange とか使わないのなら
変数の型が ArrayList<String> である必要はない。
0652デフォルトの名無しさん
2008/09/25(木) 07:44:39何でもなにも、OOPっぽくてカッコいいからに決まってんでしょw
そんなのもわかんないおまえはバカ?
0653デフォルトの名無しさん
2008/09/25(木) 07:45:32一つの指針として、宣言にはクラスよりインタフェースを使えというものがある
listをArrayListとしてしまうと、ArrayListからの変更は容易でないが
listをListとしておけば、LinkedListやListインタフェースを実装した他の何かにでも交換が効くようになる
でも実際のところ、listのスコープが狭いのであれば特に問題ない
0654デフォルトの名無しさん
2008/09/25(木) 08:06:490655デフォルトの名無しさん
2008/09/25(木) 08:35:330656デフォルトの名無しさん
2008/09/25(木) 08:46:180657デフォルトの名無しさん
2008/09/25(木) 09:04:37たぶんArrayListがListにない便利なメソッドをたくさん持ってたらArrayListにしてると思うよw
0658デフォルトの名無しさん
2008/09/25(木) 09:06:03アルゴリズムをアルゴと略すな、と思う元MZユーザー。
0659デフォルトの名無しさん
2008/09/25(木) 09:06:300660デフォルトの名無しさん
2008/09/25(木) 09:08:12なんかゴルゴの親戚みたいでかっこよくね?
0661デフォルトの名無しさん
2008/09/25(木) 09:09:15セッションIDがわかっているとして
そのセッションIDからそのセッションを無効にすることはできますでしょうか?
0662デフォルトの名無しさん
2008/09/25(木) 09:11:33Listは普通はインスタンス変数でもつからね…
0663デフォルトの名無しさん
2008/09/25(木) 09:17:27森さんみたくイット革命とか言っていつのまにかアメリカに追い越されたりしないで真面目にやってね。麻生さん。
0664デフォルトの名無しさん
2008/09/25(木) 09:25:470665デフォルトの名無しさん
2008/09/25(木) 09:29:27警察はすぐ裏切るから信用できん。
0666デフォルトの名無しさん
2008/09/25(木) 09:53:00ハードは日立とかNECとかあるから大丈夫けど、ソフトはMSとかみたいな大規模専業会社はないでしょ。
ここらでNTTデータあたりが出資して、ちっちゃいソフトハウスを全て結合してソフト産業を育成してほしい。
そろそろやっとかないと中国が本腰入れてくれるからさ、IPAあたりのリソースとプロジェクト組んでそろそろ日本のソフト産業を保護する会社のでかいの作るとかどお?
0667デフォルトの名無しさん
2008/09/25(木) 09:54:39E-mail:
内容:
windowsで動かしていたtomcatのアプリがlinux上で動かそうとすると、
log4jで、ファイル出力用とコンソール用の2つを出力させてるんですが、
ファイルのみ出力されません。
出力先は、
/usr/local/tomcat/webapps/hogeProject/log/log.txt
です。
windowsとlinuxの相違など、なにか問題点がありそうだったらご教授ください。
0668デフォルトの名無しさん
2008/09/25(木) 09:59:06Vectorはマルチスレッド対応が無駄になることが多いから、理由がなけ
ればやめとけー。
0669デフォルトの名無しさん
2008/09/25(木) 11:39:040670デフォルトの名無しさん
2008/09/25(木) 11:48:50そこまで速度が気になる場面でJavaを選ぶことがそもそも間違い
0671デフォルトの名無しさん
2008/09/25(木) 11:53:57debug(xx + xx + xx);でデバッグでないときに演算処理が無駄だから、といわれ…
isdebugでifでくくればいいのですが、ログ出力に3行がいやだったので…
0672デフォルトの名無しさん
2008/09/25(木) 12:06:15if(isdebug)debug(xx+xx+xx);
0673デフォルトの名無しさん
2008/09/25(木) 13:23:24JAXB2.1で、XSDにmaxOccurs="unbounded"みたいに書いた部分は
デフォルトではList型で実体がArrayListになるよね。
モデルをSwingで作ったUIでアレコレいじってマーシャル、とかやりたいので
Listのところを同期リストにしたいんだけども、Vectorはレガシーなんで使いたくない。
(規模小さいので、Vectorを使いたくない理由にオーバーヘッド云々は含めていない)
しかし、JAXBカスタマイズのcollectionTypeにはFQCNしか書けない。
(Collections.synchronizedList(new ArrayList())と出来るのが理想)
xjcの成果のモデルクラス群はreadOnlyであるべきだと思うので、
ArrayListの部分を同期リストにラップするような修正も、出来れば避けたい。
何か解決策はあるんだろうか…今はVector使うか修正するしかないのかなぁ?
0674デフォルトの名無しさん
2008/09/25(木) 13:31:09シングルスレッドで設計してArrayList使えばいいだけの話か
0675デフォルトの名無しさん
2008/09/25(木) 13:33:53そもそもSwingはシングルスレッドでしたorz
0676デフォルトの名無しさん
2008/09/25(木) 15:21:000677デフォルトの名無しさん
2008/09/25(木) 17:59:120678デフォルトの名無しさん
2008/09/25(木) 18:54:51あの意味が分からないんですけど、MTだからVector使ってるんですけど、それ以外にVectorを使う理由があるんですか?
0679デフォルトの名無しさん
2008/09/25(木) 19:13:101.1 との互換性とか。
0680デフォルトの名無しさん
2008/09/25(木) 20:04:460681デフォルトの名無しさん
2008/09/25(木) 20:07:190682デフォルトの名無しさん
2008/09/25(木) 20:15:00class MyCollectionsSynchronizedListNewArrayList extends ArrayList
ところであんたはプログラマ(PG SE)に向いてないな。どの言語をやってもどの概念を勉強してもこの業界では成功しないと思うよ。
0683デフォルトの名無しさん
2008/09/25(木) 20:26:380684デフォルトの名無しさん
2008/09/25(木) 21:00:360685デフォルトの名無しさん
2008/09/25(木) 22:58:10ダイアログ画面を特定の場所に表示させた後、マウスで画面を移動させないようにするため、
setEnable(false)を設定したのですが、右上の×ボタンが押せなくなってしまいました。
マウスで画面を移動させなくする&右上の×ボタンでウィンドウを閉じるには
どうすればいいでしょうか?
0686デフォルトの名無しさん
2008/09/25(木) 23:21:350687デフォルトの名無しさん
2008/09/26(金) 01:02:02イテレータ回すときは結局くくらなきゃいけないんだから、
Vectorのsynchronizedって無駄じゃない?
0688デフォルトの名無しさん
2008/09/26(金) 01:15:50MTとはあまり関係ないな。
0689デフォルトの名無しさん
2008/09/26(金) 01:54:580690デフォルトの名無しさん
2008/09/26(金) 03:06:010691デフォルトの名無しさん
2008/09/26(金) 06:55:500692デフォルトの名無しさん
2008/09/26(金) 11:27:310693デフォルトの名無しさん
2008/09/26(金) 11:34:55GridBagLayoutでgridheightを目的の比率に指定してもだめでした。
0694デフォルトの名無しさん
2008/09/26(金) 11:44:520695デフォルトの名無しさん
2008/09/26(金) 12:14:14目からウロコ。
weight の意味をすっかり勘違いしてました。
「余分なスペースを分配する方法を指定」って,わかりにくい。
0696693
2008/09/26(金) 14:44:38いや,やっぱり,パネルの中にいろいろ入れると比率が変わってしまった。
0697デフォルトの名無しさん
2008/09/26(金) 16:30:010698693
2008/09/26(金) 16:52:37やってみたらうまくいったんですが,setPeferredSize とかって,5.0 から使えるようになったんですね。
事情があって,古いバージョンで動くようにしなきゃいけないんで使えないんですが。
0699デフォルトの名無しさん
2008/09/26(金) 22:13:160700デフォルトの名無しさん
2008/09/27(土) 01:40:47public class ThreadTest1 {
public static void main(String[] args) {
Shared.sharedVector.add(0);
new ReaderThread().start();
new WriterThread().start();
}
}
class Shared {
public static Vector<Integer> sharedVector = new Vector<Integer>();
}
class ReaderThread extends Thread {
public void run() {
System.out.println("マルチスレッドならVectorだろ");
try {
while (true) System.out.print("" + Shared.sharedVector.get(Shared.sharedVector.size() - 1) + " ");
} catch (Exception e) {
e.printStackTrace();
System.out.println("(´・ω・`)");
}
System.exit(0);
}
}
class WriterThread extends Thread {
public void run() {
for (int i = 1; ; i++) {
Shared.sharedVector.add(i);
Shared.sharedVector.remove(0);
}
}
}
0701デフォルトの名無しさん
2008/09/27(土) 01:42:51マルチスレッドならVectorだろ
28 71 95 115 130 141 java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
at java.util.Vector.get(Vector.java:694)
at ReaderThread.run(ThreadTest1.java:16)
(´・ω・`)
0702デフォルトの名無しさん
2008/09/27(土) 01:51:51size()とget()の間にremove()が入った結果(´・ω・`)
0703デフォルトの名無しさん
2008/09/27(土) 02:26:470704デフォルトの名無しさん
2008/09/27(土) 03:09:47javadocをみていても、Threadクラスを直接継承する事はあまりないようですけど、あるとすればどういうときですか。
0705デフォルトの名無しさん
2008/09/27(土) 03:23:210706デフォルトの名無しさん
2008/09/27(土) 03:29:49Runnable だけじゃ必要な機能が作れない時
0707デフォルトの名無しさん
2008/09/27(土) 03:39:25new Thread(runnable)とするので、Threadクラスの機能は既に備わってるんですけど。
0708デフォルトの名無しさん
2008/09/27(土) 03:57:48Thread には void run() 以外に公開インターフェースがあるだろ。
それらをオーバーライドする必要があるときにやんだよ。
0709デフォルトの名無しさん
2008/09/27(土) 04:07:130710デフォルトの名無しさん
2008/09/27(土) 04:11:55'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示されて先にすすめません
どうすれば先に勧めるか教えてください
0711710
2008/09/27(土) 04:24:44失礼しました
0712デフォルトの名無しさん
2008/09/27(土) 12:34:29輪郭線イメージをshapeのように扱って
元画像から画像を抽出するにはどうしたらいいでしょうか
閉輪郭線の場合は取り囲まれる部分、
そうでない場合は輪郭線部分が抜き出せれば最適です
よろしくお願いします
0713デフォルトの名無しさん
2008/09/27(土) 17:16:44システム情報を取得できるJAVAのクラスはありませんか。
どうにも見つからないので教えてください。
0714デフォルトの名無しさん
2008/09/27(土) 17:44:000715デフォルトの名無しさん
2008/09/27(土) 17:49:070716685
2008/09/27(土) 19:54:29するのは無理のようですね。
0717デフォルトの名無しさん
2008/09/27(土) 22:07:38方法はいろいろあるんじゃないの?
無理じゃないよ。
0718デフォルトの名無しさん
2008/09/27(土) 23:40:23他言語も始めようと思うのですが
Javaにはない魅力があり、今後需要の拡大が見込める言語を教えてください!
0719デフォルトの名無しさん
2008/09/27(土) 23:46:020720デフォルトの名無しさん
2008/09/27(土) 23:49:38英語かな
0721デフォルトの名無しさん
2008/09/27(土) 23:52:10確かにできたファイルのアイコンをダブルクリックしたら起動はできたけど、このexeに何らかの拡張子を
関連付けようとしたら、プログラムの選択で何度選んでもリストに入ってこないんだけど何で分かる人いる?
ソフト板にスレ無くて・・・
0722デフォルトの名無しさん
2008/09/27(土) 23:55:020723デフォルトの名無しさん
2008/09/28(日) 00:20:490724デフォルトの名無しさん
2008/09/28(日) 00:25:28いいや
0725デフォルトの名無しさん
2008/09/28(日) 04:17:15antでは、-propertyfile でプロパティファイルの指定をできますが、
この値を参照するための組み込み変数は用意されていないのでしょうか。
具体的には、
<fail unless="propertyfile" message="property file is not set." />
みたいに、プロパティファイルが指定されていない場合にエラーを出したいです。
0726デフォルトの名無しさん
2008/09/28(日) 08:02:03釣り?
スレ違いだから別なとこで聞いて。
0727デフォルトの名無しさん
2008/09/28(日) 09:10:29Exception in thread "main"java.lang.NoSuchMethodError: main
ってのが出て実効出来なかったのですがどうすれば良いですか?
0728デフォルトの名無しさん
2008/09/28(日) 10:25:070729デフォルトの名無しさん
2008/09/28(日) 12:07:130730デフォルトの名無しさん
2008/09/28(日) 13:08:47改行コードはどれにすればいいの?
なんかしきたりというか決まりみたいなのある?
0731デフォルトの名無しさん
2008/09/28(日) 14:56:11BufferedImageの応用活用についてだから釣りでもすれ違いでもないだろ
0732デフォルトの名無しさん
2008/09/28(日) 14:58:09改行コードはどれにとあるけど、改行コードですらなくても構わない。
構文解析の区切り文字ならスペースでもタブでも可
0733デフォルトの名無しさん
2008/09/28(日) 17:20:45ソースの話なんだから、VMは関係ないでしょ。
コンパイラならともかく。
>>730
個人的にはLFのみが好きだけど、
Windowsのメモ帳はCR+LFでないと改行扱いしてくれない。
好き好きで。
0734デフォルトの名無しさん
2008/09/28(日) 17:49:500735デフォルトの名無しさん
2008/09/28(日) 17:56:020736デフォルトの名無しさん
2008/09/28(日) 18:50:080737デフォルトの名無しさん
2008/09/28(日) 19:38:580738デフォルトの名無しさん
2008/09/28(日) 21:40:33((URLClassLoader)アプリケーションクラス名.class.getClassLoader()).getURLs()
にしないとCLASSPATHとおった他のjar拾わないか?
0739デフォルトの名無しさん
2008/09/28(日) 22:02:580740デフォルトの名無しさん
2008/09/28(日) 23:04:31UNIXとファイル交換する時に、何も悩まなくて済むからね。
なぜオジサンなのか謎だ。
0741689 700 701
2008/09/28(日) 23:24:170742デフォルトの名無しさん
2008/09/28(日) 23:27:430743デフォルトの名無しさん
2008/09/28(日) 23:34:43御爆です、無しにしてください。
0744デフォルトの名無しさん
2008/09/29(月) 00:18:52今日は誰と戦ってるんですか?
0745デフォルトの名無しさん
2008/09/29(月) 00:20:44オジサンなのは、旧式MAC使いで未だにテキストモードとバイナリモードの違いを理解してないままだからw
0746デフォルトの名無しさん
2008/09/29(月) 00:22:31// 接続
URLConnection uc = src_url.openConnection();
// HTMLを読み込む
BufferedInputStream bis = new BufferedInputStream(uc.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(bis, charset));
という風に、指定のcharsetに文字コードを変換して、HTMLを読み込んでいます。
しかし、読み込んだ後、色々処理を行い、最後に再び元の文字コードで出力したいのです。
そこで、元の文字コードを取得したいのですが、該当するメソッドが見当たりません。
そういった事は不可能なのでしょうか?
0747デフォルトの名無しさん
2008/09/29(月) 00:22:37自分のクラス
thisとコンテキストが同じクラス。
アプリケーションクラス
mainメソッドを持つクラス。
0748デフォルトの名無しさん
2008/09/29(月) 00:22:55過去レス見てみたんですけど、マルチスレッドのことをあなたはちゃんと勉強した方がいいですよ。
0749デフォルトの名無しさん
2008/09/29(月) 00:26:280750デフォルトの名無しさん
2008/09/29(月) 00:30:04MacはCRのみだよね。
なにがオジサンなんだろう。
個人的に、改行に2文字食われるのは、なんか釈然としない。
やっぱLFのみが合理的。
0751デフォルトの名無しさん
2008/09/29(月) 00:33:54テキスト・バイナリモードの違いとか理解しているの?(UNIXって言うんだから当然Cのあれ)
0752デフォルトの名無しさん
2008/09/29(月) 00:34:45なんで thread っていうのでしょうか?
0753デフォルトの名無しさん
2008/09/29(月) 00:35:58不可能です。
0754デフォルトの名無しさん
2008/09/29(月) 00:49:43指定の charset とは何ぞや、と。
0755デフォルトの名無しさん
2008/09/29(月) 00:49:53そこの InputStreamReader に渡してる charset が元の文字コードじゃねーの?
0756デフォルトの名無しさん
2008/09/29(月) 01:10:32おまえは糞
0757デフォルトの名無しさん
2008/09/29(月) 02:11:51どのように幸せになれる機能かピンときません。
具体的にどういった使われ方をするのでしょうか
0758デフォルトの名無しさん
2008/09/29(月) 07:42:43それをどこに入れればいいですか?
0759デフォルトの名無しさん
2008/09/29(月) 11:41:10>>682
お前どんだけ池沼なんだ
デフォルトコンストラクタしか呼ばれないんだから無理だろ。
お前の方がPG適正ないわ
0760デフォルトの名無しさん
2008/09/29(月) 12:08:250761693
2008/09/29(月) 13:17:05亀レス申し訳ない。
またしても目からウロコ、そういう方法があったんですね。うまくいきました。
PreferredSize っていうのが普通はどうやって決まってるのかわからないので、強制的に設定するのは少し気持ち悪いけど、追々勉強します。
どうもありがとうございました。
0762デフォルトの名無しさん
2008/09/29(月) 13:28:28目玉が入ってる穴から糞が出ちゃたんですか?
0763デフォルトの名無しさん
2008/09/29(月) 14:26:530764デフォルトの名無しさん
2008/09/29(月) 17:09:394ケタの数字をランダムに選びます。選ばれた4ケタの数字は見えないようにする。
左のケタから順に1〜9の数字を選びtrueならひとつ右のケタに移動しまた1〜9を選び、
それを繰り返し4ケタ当てるプログラムを作りたいので教えてください。
0765デフォルトの名無しさん
2008/09/29(月) 17:30:49宿題スレへ行け
0766デフォルトの名無しさん
2008/09/29(月) 17:34:380767デフォルトの名無しさん
2008/09/29(月) 17:44:520768デフォルトの名無しさん
2008/09/29(月) 17:45:230769デフォルトの名無しさん
2008/09/29(月) 17:51:140770デフォルトの名無しさん
2008/09/29(月) 17:52:25お前が怠慢なだけだろ。
こっちは善意で助けてんだから、助けてもらえないからケチってのはおかしい。
ゆとりは社会の害虫です。
わかる?害虫。
クソは肥料になるけど、害虫は害にしかならない。
お前は害にしかならない。
そんな簡単なこともできないやつはロクに仕事もできない。(まともなPGができない)
本当に害なんだよ。周りはそれをフォローしなくちゃいけないから。
考えをあらためろ。
0771デフォルトの名無しさん
2008/09/29(月) 20:10:560772デフォルトの名無しさん
2008/09/29(月) 20:13:280773デフォルトの名無しさん
2008/09/29(月) 22:35:25うぃきぺでぃあよりいんよう
>原義は縒り糸を構成している糸のうちの一本や、筋状の物体のうちの一本の筋などを意味する英語threadである。ここから派生し、同時進行する事象のうちの一つをあらわすようになった。
すれっどよりもうちょっとほそいものにふぁいばというものもあったりする
ttp://d.hatena.ne.jp/hiroakiuno/20070316/p1
0774デフォルトの名無しさん
2008/09/30(火) 00:43:13今日は誰と戦ったんですか?
0775デフォルトの名無しさん
2008/09/30(火) 00:49:07なんだ?煽ってんのか?
意味がわからんからスルーしとくわ
0776デフォルトの名無しさん
2008/09/30(火) 01:17:40あら〜 害虫さんこんにちわw
0777デフォルトの名無しさん
2008/10/01(水) 10:19:55ダウンロードしてインストールしたつもりなのですが
下記のURLのプログラムを実行してもImageI/Oがtiffに対応しているとは表示されません。。。
インストールするときなどに何か特別な設定が必要なのでしょうか?
OS:vista Homw Premium
java:jdk1.6.0_07
eclipseなどは使用しておりません。
参考にしたURL
ttp://moyolab.blog57.fc2.com/blog-entry-46.html
0778デフォルトの名無しさん
2008/10/01(水) 10:21:100779777
2008/10/01(水) 10:30:30すばやい回答ありがとうございます。
まだjava始めたばかりなのでできるかわかりませんが、ググって挑戦してみます。
0780777
2008/10/01(水) 10:41:45助言ありがとうございました。
0781デフォルトの名無しさん
2008/10/01(水) 11:12:560782デフォルトの名無しさん
2008/10/02(木) 03:48:430783デフォルトの名無しさん
2008/10/02(木) 08:23:340784デフォルトの名無しさん
2008/10/02(木) 09:12:53?
シングルトンにするとクラスメソッドである必要がないんじゃない??
0785デフォルトの名無しさん
2008/10/02(木) 09:14:150786デフォルトの名無しさん
2008/10/02(木) 09:14:410787デフォルトの名無しさん
2008/10/02(木) 10:33:520788デフォルトの名無しさん
2008/10/02(木) 10:52:34Javaではモニターの取得破棄のことだと思いますが、それが問題になる事例は何が考えられるんでしょうか。
0789デフォルトの名無しさん
2008/10/02(木) 10:53:59それだと各クラスのクラスメソッドにする必要はなく、SwingUtilites.staticmethod()でいいんじゃないですか?
0790デフォルトの名無しさん
2008/10/02(木) 11:17:37みんながみんなSwing関連ってわけでもないから、その名前はちょっと
0791デフォルトの名無しさん
2008/10/02(木) 11:23:42時間的なコスト
処理に要する時間がいくら長くても構わない、時間は無限にあるんだ、とかいう考えなら特に問題にならない
大抵のユーザは処理が遅いと文句を言うので、出来るだけコストを減らしたいというのはそんなに珍しいことじゃないと思うけど
0792デフォルトの名無しさん
2008/10/02(木) 11:29:580793デフォルトの名無しさん
2008/10/02(木) 11:48:12通常は全体を見直してアルゴリズムを改善した方がいいと思うよ
0794デフォルトの名無しさん
2008/10/02(木) 12:25:28そもそも、数百万回の同期化ループを改善したところでユーザーの要求が満たされる事例ともいえないわけで、あなたはもともと無能なんだし、知らないなら答えない方がいいですよ。
0795デフォルトの名無しさん
2008/10/02(木) 12:34:560796デフォルトの名無しさん
2008/10/02(木) 12:36:12簡単な質問にだけ答えることにします。
0797デフォルトの名無しさん
2008/10/02(木) 13:39:13update()とpaint()の呼び出しについて調べています。
非常にシンプルなプログラムで、Frameを継承したメインプログラム
中で、MyLabelというLabelを継承した自前のクラスのオブジェクト
を生成し、親のFrameにadd()してみました。
すると、ウィンドウサイズを変更した際などにpaint()は呼び出され
ますが、update()は呼び出されませんでした。
ネットの各種の文章によれば、update()は、repaint()が呼び出され
ると呼び出され、そこで背景を消去してからpaint()が呼ばれる、
とあります。
両方が正しいとすると、update()は、repaint()の時だけ呼ばれ、
ウィンドウサイズの変更などの時は、paint()が直接呼ばれる、
と言うことでしょうか。
しかし、実験によれば、ウィンドウサイズを変更しただけの時
でも、背景はクリアされてしまっています。これだけでは、
説明が付きません。
0798デフォルトの名無しさん
2008/10/02(木) 13:44:410799デフォルトの名無しさん
2008/10/02(木) 13:56:33(システムプロパティ sun.awt.noerasebackground を true に設定するとクリアしなくなります)
update が paint と分けられてるのは、repaint 時は全体を描かずに差分だけ更新したい人むけにオーバーライドできるようにです
特にオーバーライドしてなければ、いつも通り背景をクリアして paint を呼びます
0800797
2008/10/02(木) 14:12:29有り難うございます。
実際に、sun.awt.noerasebackground をsetProperty()で試してみる
と確かに背景が「消去されない場合がある」事が分かりました。
ただし、例えば、親Frameのサイズ変更時は消去されます。
0801797
2008/10/02(木) 14:28:55JScrollPaneを使っている場合、スクロールバーを動かすなどして
描画範囲が変わった時、その中に埋め込んでいるコンポーネン
トのpaint()が自動的に呼び出されます。
この場合、「system-triggerd repaint」ではないと思うのですが、
update()が呼び出されないようです。
ということは、JScrollPaneは、子wnd.repaint()とせずに、
自前で子wndの内部を消去した後、子wnd.paint()としていると
言うことになるのでしょうか?
0802デフォルトの名無しさん
2008/10/02(木) 14:33:33「updateが呼ばれないなら消去しない」とは決まってないんだろ。
0803デフォルトの名無しさん
2008/10/02(木) 14:41:24Swingはまったく事情が異なる
SwingのrepaintはRepaintManager#addDirtyRegionへ行って、
そこからJComponent#paintImmediatelyが呼ばれる
0804797
2008/10/02(木) 14:41:34その通りだと思うんですが、自前でDouble Bufferingする場合、
JScrollPaneで消去してしまうのは無駄になる場合があるので、
JScrollPaneで自動消去をOFFにする方法があれば知りたいです。
0805デフォルトの名無しさん
2008/10/02(木) 14:43:250806デフォルトの名無しさん
2008/10/02(木) 14:48:08Swingコンポーネントは自動的にダブルバッファリングするから、
自前のダブルバッファを加えると全部でトリプルバッファリングになってしまわない?
0807797
2008/10/02(木) 14:56:09そうなんですが、Swingではルートペーンなど、最初にある
コンテナだけがダブルバッファリングONで、その子コンポーネント
は、ダブルバッファリングOFFだそうです。
その結果、JLayoutPaneを使って子Frameを上に重ねられるようにした
場合、これらの重なった「絵」は、全体に共通の1つのバッファで
合成されたものなので、下になっているウィンドウの絵は、
保存されません。
フォント描画が遅いので、スクロールをする際は、以前に描いた
文字を再利用できるようにしたいんです。
0808デフォルトの名無しさん
2008/10/02(木) 16:07:56つ【Swingスレ】
0809デフォルトの名無しさん
2008/10/02(木) 17:29:16配列:length固定
コレクション:length可変なので外部データの扱いが楽
と理解して問題ないでしょうか
0810デフォルトの名無しさん
2008/10/02(木) 20:37:07Exception in thread "main"java.lang.NoSuchMethodError: main
ってのが出て実効出来なかったのですがどうすれば良いですか?
0811デフォルトの名無しさん
2008/10/02(木) 20:47:47長いので何回か分けて書きます
import java.awt.*;
import java.applet.*;
import javax.swing.*;
public class FirstApplet extends JApplet{
public JButton b1,b2,b3;
static final String message = "Hello World!";
private Font font = new Font("serif",Font.ITALIC + Font.BOLD,36);
public void init(){
getContentPane().setLayout(null);
Icon icn8= new ImageIcon("icn8.gif");
Icon icn9= new ImageIcon("icn9.gif");
b1 = new JButton("prev",icn8);
b1.setSize(30,25);
b1.setLocation(100,60);
b1.setVisible(true);
b1.setOpaque(false);
b1.setBorderPainted(false);
//b1.addActionListener(lsn);
this.getContentPane().add(b1
0812デフォルトの名無しさん
2008/10/02(木) 20:48:58b2.setSize(30,25);
b2.setLocation(135,60);
b2.setVisible(true);
b2.setOpaque(false);
b2.setBorderPainted(false);
//b2.addActionListener(lsn);
this.getContentPane().add(b2);
b3 = new JButton("play");
b3.setSize(65,25);
b3.setLocation(100,30);
b3.setVisible(true);
b3.setOpaque(false);
b3.setBorderPainted(true);
//b3.addActionListener(lsn);
this.getContentPane().add(b3);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.blue);
g.setFont(font);
g.drawString("message",40,120);
}
}
0813デフォルトの名無しさん
2008/10/02(木) 21:12:29呼び出し用のHTMLソースを書く。以下のどちらかを使って確認できる
1. Webブラウザ
2. appletviewer
0814デフォルトの名無しさん
2008/10/02(木) 21:20:54ちょっと意味がよく分からないんですが
0815デフォルトの名無しさん
2008/10/02(木) 21:40:230816デフォルトの名無しさん
2008/10/02(木) 21:43:11そんなあ><
811のプログラムをレポートとして出さなきゃいけないから
あせってるんですよ
上記のプログラムに何か書くんじゃないんですか?
0817デフォルトの名無しさん
2008/10/02(木) 21:54:100818デフォルトの名無しさん
2008/10/02(木) 21:55:25</applet>
widthとheightに好きな値入れて、適当な.htmlとして保存。
FirstApplet.classと同ディレクトリに上のhtml入れてブラウザからそのhtmlを開く。
そうするとアプレットが起動します。
appletviewerで見るならソース内に上のコードをコメントアウトして入れて
appletviewer FirstApplet.java
こんな感じで見るのが一般的かな。
さぁ消え失せやがれ
0819デフォルトの名無しさん
2008/10/02(木) 22:01:29意味が分からん
簡単に言うと何をすれば良いわけ?
0820デフォルトの名無しさん
2008/10/02(木) 22:03:260821デフォルトの名無しさん
2008/10/02(木) 22:15:32ここまで書かれて分からない人は素直に単位を落とせばいいと思います
0822デフォルトの名無しさん
2008/10/02(木) 23:22:45至言。
0823デフォルトの名無しさん
2008/10/02(木) 23:31:17例えば、FirstAppletっつーのを動かしたいなら
テキストでもいいから
<applet code="FirstApplet.class" width="500" height="7777777777777777">
</applet>
みたいに書いて、保存。
拡張子.txtから.htmlに変更。
これで動く。
0824デフォルトの名無しさん
2008/10/02(木) 23:37:06JConsoleで監視していても一向にメモリ使用量が減ってくれません。
これはガベージコレクタが動いていないだけでしょうか?
0825デフォルトの名無しさん
2008/10/02(木) 23:41:30解放するのはGUIリソースであってメモリじゃないぞ。
0826デフォルトの名無しさん
2008/10/02(木) 23:42:120827デフォルトの名無しさん
2008/10/02(木) 23:54:20そうだったんですか?setVisible(true)を実行するとメモリも消費していたので、
dispose()で消去すればメモリが開放されると思っていました。
という事は、メモリを開放するにはガベージコレクタが不定期に実行されるのを
待つか、System.gc()で意図的に開放させるしかないのでしょうか?
0828デフォルトの名無しさん
2008/10/03(金) 02:34:160829デフォルトの名無しさん
2008/10/03(金) 04:52:360830デフォルトの名無しさん
2008/10/03(金) 09:17:26わけわかんね
0831デフォルトの名無しさん
2008/10/03(金) 09:49:360832デフォルトの名無しさん
2008/10/03(金) 13:02:08.NETのはSystem.GC.Collect()
0833デフォルトの名無しさん
2008/10/03(金) 16:28:41System.out.printf() などの、System.out を import 文で消せるかと
思ったのですが、上手くいきませんでした。
消すことは可能でしょうか?
もし、import文で消せないとしたら、なぜですか?
0834デフォルトの名無しさん
2008/10/03(金) 16:43:510835デフォルトの名無しさん
2008/10/03(金) 16:44:32out.println("Hello");
とりあえずSystemまでは消せる。
0836デフォルトの名無しさん
2008/10/03(金) 16:57:22outはPrintStreamなフィールド
printlnはPrintStreamのメソッド
0838デフォルトの名無しさん
2008/10/03(金) 18:49:240839デフォルトの名無しさん
2008/10/03(金) 18:52:22public static void println(Object x) { System.out.println(x); }
とか
public static void printf(String format, Object... args) { System.out.printf(format, args); }
と書いとけ
0840デフォルトの名無しさん
2008/10/03(金) 21:15:59webを読み終わった後に呼ばれるイベントは何ですか?
0841デフォルトの名無しさん
2008/10/03(金) 21:28:45ParserDelegatorでHTMLDocumentへ読み終わった後ってこと?
0842デフォルトの名無しさん
2008/10/03(金) 21:34:53ライブラリのHotJavaParser?
0843デフォルトの名無しさん
2008/10/03(金) 21:35:29C#のときにwebを表示して完全に終わった後にwebBrowser1_DocumentCompletedが呼ばれて
そこでHtmlをとってました
javaでJEditorPaneでwebを表示してそれが完全に読み終わったタイミングで
Htmlをとるサンプルがあったのでそのルーチンを呼びたいのです
0844デフォルトの名無しさん
2008/10/03(金) 21:39:52JEditorPane doc_pane = new JEditorPane(アドレス);
というサンプルがあったのでそれをそのまま使ってます
0845デフォルトの名無しさん
2008/10/03(金) 21:42:57一応完全に読み終わったとき判断する方法が知りたいです
0846デフォルトの名無しさん
2008/10/03(金) 21:50:00何がしたいのかさっぱりだよ。
0847デフォルトの名無しさん
2008/10/03(金) 21:54:46その通りです(1行目)
0848デフォルトの名無しさん
2008/10/03(金) 22:12:17まず読み込み完了のリスナーはたぶんない。
だから作らないとね。
でソースは読み込み後取得は不可。
HTMLDocumentとしてしか残らないんじゃないかな
だから読み込み自体をキャッシュしておくしかない。
読み込み文字列全て保存しておくReaderのラッパーかなんか作る
HTMLのパージングのリスナーを作る。
HTMLEditorKit拡張してparseをオーバーライドして、引数のReaderを普通に使わずにさっき作ったラッパーでくるんでsuper.parse呼び出す。fireHTMLParsed...
作ったHTMLEditorKitをJEditorPaneのregistEditorkit***で登録。
でソース取得したいならさっきのラッパーに問い合わせ・・・
一応こんなに適当でも出来ないことはない。
0849デフォルトの名無しさん
2008/10/03(金) 22:23:49VB,C#がweb表示からその関連でHTML取得という流れだったので(しかも終了タイミングを気にしなくてはいけない)
そういう風に考えてしまいました
javaなりのHTML取得を考えてみます
0850デフォルトの名無しさん
2008/10/03(金) 23:55:04JEditorPaneは実行してくれないね
0851デフォルトの名無しさん
2008/10/04(土) 00:02:070852デフォルトの名無しさん
2008/10/04(土) 00:05:23知らなんだ
0853デフォルトの名無しさん
2008/10/04(土) 00:06:430854デフォルトの名無しさん
2008/10/04(土) 11:38:26どなたかご教授願います。
Java言語で書いた次のプログラムがある。A.foo()を呼び出したときの返り値として適切なものを�@〜�Dの中から選べ。
class A {
static int foo() {
int x = 0;
try { x = B.bar(x); }
catch (Error y) { x += 4; }
finally { x += 8; }
return x;
}
}
class B {
static int bar(int x) throws Error {
try { throw new Error(); }
catch (Error y) { x += 1; }
finally { x += 2; }
return x
0855デフォルトの名無しさん
2008/10/04(土) 11:57:280856デフォルトの名無しさん
2008/10/04(土) 12:08:140857デフォルトの名無しさん
2008/10/04(土) 12:08:23答えは11かな?
0858857
2008/10/04(土) 12:51:18そうです。11です。
おそらく、1+2+8なのでしょうが、どうしてそのような流れになるのかがイマイチわかりません。
0859デフォルトの名無しさん
2008/10/04(土) 12:54:54まず、1サーバー(ソケット受信側)対 多クライアントの通信は、
データ受信後の処理をスレッド化することで対応できます。
私が実装したいのは、多サーバ 対 多クライアント です。
(localhostの10000番ポートと、11000番ポートと、12000番ポートで受信し、それぞれで別の処理をする、など)
サーバークラスのインスタンスを呼び出すと、処理待ちうけ状態になってしまい、
呼び出し元に処理が戻ってきません。
NewIOパッケージを使っても、待ち受け状態になります。
何か上手い呼び出し方は無いでしょうか・・・。
(要は、入力待ち状態のオブジェクトを複数呼び出せれば良いです)
試しに、サーバークラスをスレッド化してみたのですが、
スレッドからさらにスレッドを呼び出すような形になってしまい、どうも上手く動作しないようです。
0860デフォルトの名無しさん
2008/10/04(土) 12:56:42なるほど。
trow new Error(); っていう文は、「何があってもErrorをスローする」って意味なんだよ。
意図的にエラーをひきおこすんだよね。
だから、まずClass B内でErrorが意図的にスローされ、キャッチされてx += 1;
finallyで +2。
Class Aにもどって、finallyで+8で11。
Aの側ではx=B.bar(x)という式は普通に実行可能な式だからエラーは起きない。
こういうことなんだろうね。
0861857
2008/10/04(土) 13:04:42よく分かりました。試験の過去問なので少し変なプログラムでした。
ありがとうございました。
0862デフォルトの名無しさん
2008/10/04(土) 14:41:18NewIO パッケージ使っても Non Blocking にしなきゃ Blocking するのは当然。
NewIO の Non Blocking ならここで勉強しろ。
ttp://www.javainthebox.net/laboratory/JDK1.4/NewIO/SocketChannel/SocketChannel.html
NewIO じゃないならサーバ処理をスレッドで動かすしかない。
が、スレッドからさらにスレッドを〜のくだりがよくわからん。もっと内容説明しろ。
もしくはエスパーの手を借りろ。
0863デフォルトの名無しさん
2008/10/04(土) 15:20:010864デフォルトの名無しさん
2008/10/04(土) 15:29:36何が問題なのかさっぱりわかんないんだけど、読んだところ、ブロッキングしちゃうのが問題なだけじゃないか?
0865デフォルトの名無しさん
2008/10/04(土) 16:07:41http://www.harukit.com/process/sp/applet/index.html
0866デフォルトの名無しさん
2008/10/04(土) 16:21:24http://www.harukit.com/process/sp/applet/index.html
ここにあるソースがいいと思うよ!
0867デフォルトの名無しさん
2008/10/04(土) 16:44:20参考にはなりますが、javaでやるとなると他にもいろいろ機能が必要なので
実際にjavaでプログラミングされているソースが見てみたいです。
0868デフォルトの名無しさん
2008/10/04(土) 18:11:290869デフォルトの名無しさん
2008/10/04(土) 18:37:15昔は256階調とかの色テーブルとメタボールの画像を事前に用意してたもんだが。
最近は画面上の全ての画素でメタボールとの中心点の距離計算して、
そっから色算出してもちゃんと動くんだねぇ。
0870デフォルトの名無しさん
2008/10/04(土) 20:11:27エフェクトがまずどういう風に作られてるかさっぱりわからないので、
サンプルソースを糸口に考えていこうかと。
>>869
なるほど。ありがとうございます。
円を色調をずらしながら表示していくやり方しか思い浮かばなかったので、
ピクセル単位で描画してみようと思います。
0871デフォルトの名無しさん
2008/10/04(土) 20:57:40fillRectで四角形を2つ作って、その図形の半分重ね合わせた場合
重ね合わせた下の図形は残るわけですが、
その部分を消したい場合は場合どういった方法がありますか?
2つの四角形を透かす処理をした場合に
上下重なった下の図形が写ると具合がわるいので
0872デフォルトの名無しさん
2008/10/04(土) 21:01:34このソースから見るに、MemoryImageSourceでやるんだと思うけど、使い方わかる?
あとはループするたびに、前に造った画像を減色していく感じだねー。
0873デフォルトの名無しさん
2008/10/04(土) 21:12:41全部消して上の図形だけ描き直す
0874デフォルトの名無しさん
2008/10/04(土) 21:13:43それ3Dですよね?10年以上前だとおもんですけど、いつ頃の話ですか?
0875デフォルトの名無しさん
2008/10/04(土) 22:07:14使ったことないですが、検索してみたらたくさん解説があったので、頑張って挑戦してみます。
ありがとうございました。
0876859
2008/10/04(土) 22:31:39ありがとうございます!
そのページは知らなかったので熟読いたします。
今あるプログラムはNonBlockingなはずなんですが、
While句の無限ループがあるので、何か作り方が一貫していない気がします。
スレッドからスレッド〜 のくだりですが、スレッドとしてサーバーを起動した後に
クライアントからデータを投げると、socket関連のエラーが出てしまうんです。
今ソースは手元にないので、詳細なエラー等が出せず、すみません。
0877デフォルトの名無しさん
2008/10/04(土) 22:59:14サンプルとか的を得ていていつも分かりやすいけど、体でも壊しちゃったのかな…
0878デフォルトの名無しさん
2008/10/05(日) 00:10:39869じゃないけど、2次元メタボールってのもある。
パーティクル用の丸い円を用意しておいて、それを黒画面に毎フレーム加算していく。
と同時に、毎フレームごとに全体の色に、小さな値を減算していけばそういう風なエフェクト作れると思うよ。
0879デフォルトの名無しさん
2008/10/05(日) 00:31:13というか、その実装はアニメーションのようですけど、P5または486+FPU程度の世代(133MHz)で160x120程度の全ピクセルを演算するとかは全く実用的な方法ではなかったんですか?
0880デフォルトの名無しさん
2008/10/05(日) 00:32:56気が向いたらjdk1.2程度の環境で実装してテストしてみますけどw
0881デフォルトの名無しさん
2008/10/05(日) 01:37:220882名無しさん
2008/10/05(日) 13:37:32クライアント側がストリームに2回書き込んだとします。
サーバ側で読み込むときに、1回分ずつ、きっちりと読み込む
方法(2回分一緒にではなく)はありますか?
0883デフォルトの名無しさん
2008/10/05(日) 13:46:450884デフォルトの名無しさん
2008/10/05(日) 13:47:571連のデータの流れだじゃらStreamというんだろ
0885882
2008/10/05(日) 13:59:25書き込む側でflush()とかしても、関係ないですよね。
0886デフォルトの名無しさん
2008/10/05(日) 14:28:33例えば最初の4バイトで、1回の送信が何バイトあるかを送る(ヘッダ)
受信側はとりあえず4バイト読む
その後は、それを解析して例えば50バイト読み、1回の送信として扱う。
続けて待機モードにはいって・・・と繰り返す。
あとは最終リクエストの場合は・・・とか必要に応じて取り決めれば良い。
0887デフォルトの名無しさん
2008/10/05(日) 16:54:41ImageIcon icon = new ImageIcon(getClass().getResource("イメージファイル"));
cursorImage = icon.getImage();
で取得しcomponentPaint()で表示しました。
矢印が消えたり表示したりして、成功したのですが
今度はその矢印を点滅をさせないように
(矢印を表示しっぱなしで)プログラムで
その画像を制御できますか?
できるとしたら、どんな方法がありますか?
0888デフォルトの名無しさん
2008/10/05(日) 17:14:470889デフォルトの名無しさん
2008/10/06(月) 02:50:20自分で作ったJavaアプリケーションを彼女に送りたいのですが、
Javaの場合、exeファイルはできませんよね?
配布するときは、classファイルを送るのですか?
誰かお願いします。
ちなみに実行すると画面に"I love you"と出ます。
swing使いました。俺にとって会心の出来です。
0890デフォルトの名無しさん
2008/10/06(月) 03:49:35jar
彼女のとこにjavaが入ってなかったら知らんが
0891デフォルトの名無しさん
2008/10/06(月) 10:27:57にくいねこの野郎
なんだか低レ研の短編思い出した
0892デフォルトの名無しさん
2008/10/06(月) 11:04:210893デフォルトの名無しさん
2008/10/06(月) 12:07:480894デフォルトの名無しさん
2008/10/06(月) 13:00:49http://samurai.pose.jp/java/archives/2005/01/jsmoothjavaexe.php
0895デフォルトの名無しさん
2008/10/06(月) 15:21:32やはり自分で全部書くしかないですよね
0896デフォルトの名無しさん
2008/10/06(月) 15:33:13ていうか逆ポーランドじゃなくてポーランド?宿題か?
0897デフォルトの名無しさん
2008/10/06(月) 15:35:410898デフォルトの名無しさん
2008/10/06(月) 15:43:28これホント
0899デフォルトの名無しさん
2008/10/06(月) 15:47:130900デフォルトの名無しさん
2008/10/06(月) 16:53:500901デフォルトの名無しさん
2008/10/06(月) 17:07:110902デフォルトの名無しさん
2008/10/06(月) 18:08:540903デフォルトの名無しさん
2008/10/06(月) 20:10:43とあるサービス起動時に整合性が取れているかのチェックを動的にしたいのですが、
いい方法があればご教示お願いします。
0904デフォルトの名無しさん
2008/10/06(月) 20:13:010905デフォルトの名無しさん
2008/10/06(月) 20:33:21「逆」は付くんで合ってる。
0906903
2008/10/06(月) 20:35:03すみません。
たとえば
jp.co.aaaa
というパッケージの下に
ClassA
ClassB
ClassC
というクラスが3つあるとしたら
その3つを動的に取得する方法ってありますか?
0907デフォルトの名無しさん
2008/10/06(月) 20:44:010908デフォルトの名無しさん
2008/10/06(月) 21:39:45基本的には無理
無いクラスを要求されたらその場で動的に生成するような変わったクラスローダを作ることも出来るわけで
そのような無限にクラスを生み出すことが可能だいうことを考えると存在するクラスをすべて挙げるということは出来ない
でもまぁ一般的な場合でいうとURLClassLoaderからURLを取得して
Fileに変換してFile#listなりZipFile#entriesなりで.classファイルの一覧を取得すればいいんじゃないか
URLがhttpだったらどうにもならないが
0909デフォルトの名無しさん
2008/10/06(月) 21:48:24× URLがhttpだったらどうにもならないが
○ URLがhttpでもzipだったらダウンロードして展開すればいいけれどディレクトリを指してたら無理
0910デフォルトの名無しさん
2008/10/06(月) 23:21:21デスクトップ上の最前面にウィンドウを表示するには
どうすればよいでしょうか?
toFront()を実行しても何故か最前面に表示されません。
0911デフォルトの名無しさん
2008/10/06(月) 23:22:30逆ポーランドとポーランドが別物だって分かってるか?
0912デフォルトの名無しさん
2008/10/06(月) 23:35:35setAlwaysOnTop(true)
0913デフォルトの名無しさん
2008/10/06(月) 23:43:01ありがとうございます。
言葉が足りず誤解させてしまったので追記させて頂きます。
”ウィンドウを表示した最初だけ”最前面に表示したいです。
setAlwaysOnTop(true)を実行すると”常に”最前面に
表示されてしまいます。
0915デフォルトの名無しさん
2008/10/07(火) 09:18:11オートコンプリートで列挙できるので
標準機能またはフリーのツールで
そういった機能がありそうだと思うのはもれだけ?
0916デフォルトの名無しさん
2008/10/07(火) 09:38:28例えば ClassA、ClassB、ClassC という固定の名前のクラスが存在すればよく
それ以外に何か他のクラスがあるかどうかはどうでもいい、というのであれば
Class.forName でその名前のクラスをロードしてみればいいと思う
0917デフォルトの名無しさん
2008/10/07(火) 14:32:00SwingとSWTの連携云々は出来たのですが、swingの「JInternalFrame」にshellを
どう乗せればいいのか、教えて欲しいです。
今やろうとしてることとしては、Swing内のウィンドウをSWTにする、ということをしているのですが
それらしいサンプルを見つけることが出来ず、行き詰ってます
0918デフォルトの名無しさん
2008/10/07(火) 15:57:100919デフォルトの名無しさん
2008/10/07(火) 16:30:08AWT_SWTはほとんど触ったこと無いけど、
JInternalFrameにaddしたCanvasオブジェクトを指定して
AWT_SWT.new_Shell()でシェル作るとかどう?
つまり、Swingのウィンドウ内のウィンドウはSwingなんだけど、
その中身だけはSWTで描画している、という感じ。
>>918
分からなかったら回答しなくていいよ。
0920デフォルトの名無しさん
2008/10/07(火) 16:45:02コンパイルしたいのですが、antを実行すると以下のようなエラーになってしまいます。
[javac] /home/USER/cvs/2002/css-validator/org/w3c/css/index/TranslationTableGenerator.java:21: パッケージ org.apache.commons.lang は存在しません。
[javac] import org.apache.commons.lang.StringEscapeUtils;
[javac] ^
[javac] /home/USER/cvs/2002/css-validator/org/w3c/css/index/TranslationTableGenerator.java:113: シンボルを見つけられません。
[javac] シンボル: 変数 StringEscapeUtils
[javac] 場所 : org.w3c.css.index.TranslationTableGenerator の クラス
[javac] translations_table = translations_table+"<p>"+StringEscapeUtils.escapeHtml(ac_default.getMsg().getString(property_name))+"</p></th>";
commons-langはインストールされているし、自分でテストしてみると
StringEscapeUtils.escapeHtml()は実行されたので、なにが問題なのか
よくわかりません。どなたかヒントをご教示いただけると助かります。
JDKのバージョンは6-06-0、Antのバージョンは1.7.0-3、OSはUbuntu 8.04です。
0921デフォルトの名無しさん
2008/10/07(火) 17:02:25多分、antのbuild.xmlで指定しているクラスパスと、
自分でテストしたときのクラスパスが違う。
build.xml見直してみたら?
0922デフォルトの名無しさん
2008/10/07(火) 17:15:06ありがとうございます。build.xmlをチェックしてみます。
0923デフォルトの名無しさん
2008/10/07(火) 17:42:04lmfをtxtにして入力しても、文字化けのままです。
目的はlmf形式のファイルを文字化けせずに表示することです。
どなたか教えてください。
0924デフォルトの名無しさん
2008/10/07(火) 17:51:09まずそのファイル形式の仕様を調べるところから始めろ (そしてそれはJavaと関係ないのでここでは訊くな)
0925デフォルトの名無しさん
2008/10/07(火) 17:53:33二人ともすれ違い。それと、>>919は回答できてたいそう嬉しいみたいだけど、その偉そうな言い方は一体何様のつもり?
0926デフォルトの名無しさん
2008/10/07(火) 17:59:11つい答えられるからといって、あなたがそういう風に回答すると質問者は調子に乗るだけだし、それよりも適切なスレに誘導してそっちのスレでやった方がよかたんじゃないですか?
私も、あなたの余計な一言によってスレが荒れるのは見たくありません。もうそういう自分勝手なことを言うのは止めてもらえませんか?
0927デフォルトの名無しさん
2008/10/07(火) 18:03:27ドキュメント見ると以下の3つしかない
StringBuffer()
StringBuffer(int length)
StringBuffer(String str)
StringBuffer(StringBuffer sbuf)
↑
これが無いのが不思議なんですが、でも使うとコンパイル普通に通る。
これって使っていいの?
0928デフォルトの名無しさん
2008/10/07(火) 18:07:34もあるよ。最新のドキュメントを参照すべし。
0929デフォルトの名無しさん
2008/10/07(火) 18:18:36>AWT_SWTはほとんど触ったこと無いけど、
って知ったかだろ?wそれも自尊心だけ人一倍で笑えるww
0930デフォルトの名無しさん
2008/10/08(水) 01:19:50現在FreeTTSを使って音声合成のプログラムを作っているのですが、
Windowsで、コマンドプロンプト上でのコンパイルが終わった後、いざ実行するとき
Exception in thread "main" java.lang.NoClassDefFoundError: xxxxx
Caused by: java.lang.ClassNotFoundException: xxxx
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
という形のエラーが出ています。この場合どうすればいいのでしょうか?
eclipseで実行する場合はなぜか実行できました。
0931デフォルトの名無しさん
2008/10/08(水) 05:57:05ヒープ領域とスタック領域のどっちに格納されるんですか?
0932デフォルトの名無しさん
2008/10/08(水) 09:08:35たぶんクラスパス。
それより、TTSとか多少特殊な技術になると日本語の情報はあまりないから英語のWebに頼ることが多いんじゃないか?
そのエラーも理解できないなら、まずは英語の勉強をしたほうがいいかもしれない。
0933デフォルトの名無しさん
2008/10/08(水) 10:27:02了解です。
クラスパスのエラーというのはわかっていたのですが、java.net.*とかのクラスはプログラムでは一切使用していないため
なんか別の原因かと思ったのですが・・・もうすこし英語勉強してきます。ありがとうございました。
0934デフォルトの名無しさん
2008/10/08(水) 10:52:30外部パッケージのTTSパッケージをインストールして、そのパッケージのクラスパスを通すことを学んだらどうだ?
0935デフォルトの名無しさん
2008/10/08(水) 11:17:09一応javac のときに
javac -classpath c:\freetts.jar xxxx.java
という形でコンパイルはできます。
ただ、その後にいざ実行する際
java -classpath c:\freetts.jar xxxx
とやると上記のようなエラーが返ってきたのですが・・・
このちなみにTTSパッケージ内ではjava.net.*はありません。rt.jarで、設定されているのですが・・・
0936デフォルトの名無しさん
2008/10/08(水) 11:27:01どういった操作が必要になってきますか?
0937デフォルトの名無しさん
2008/10/08(水) 12:11:30xxxxにクラスパスは通っている?
0938デフォルトの名無しさん
2008/10/08(水) 12:18:29socket.close();
0939デフォルトの名無しさん
2008/10/08(水) 12:44:13実行する時
.classまで入れてるんじゃない?
java ***.class じゃなくて
java ***
0940917
2008/10/08(水) 14:41:55なるほど、参考にしてみます。回答ありがとうございました。
>>918氏
SWTのShellですね。俺もよくわからんです。
んじゃま、卒研のためにがんばってきますです。
0941デフォルトの名無しさん
2008/10/08(水) 14:44:150942デフォルトの名無しさん
2008/10/08(水) 16:02:10おまえ、スレ違いなんだよ。担当教授に聞けよw
高い授業料払ってんだろwwおまえは三流大以下のバカか?
0943デフォルトの名無しさん
2008/10/08(水) 18:30:20ちなみに 1.4.2 だと「シンボルを解決できません」。
0944デフォルトの名無しさん
2008/10/08(水) 18:32:59因みにも何も、@since 1.5 だもの。
0945デフォルトの名無しさん
2008/10/08(水) 21:10:17いま、ArrayBlockingQueueキューの中に
Byte型変数が2つ入っています。
これを2つ取り出して結合し、
1つのshort型変数として扱うにはどうすれば良いでしょうか。
1:queue.poll();で取り出したときObject型になっている
Byte変数の扱いはどうすれば良いのか?
2:[00110011][10101010]の2つを[0011001110101010]のように結合するには
一旦int型に直してビットシフト+ | 演算 をすれば良いのか?
0946デフォルトの名無しさん
2008/10/08(水) 21:13:421:Generics使おう
2:ok
0947デフォルトの名無しさん
2008/10/08(水) 21:21:20調べて使ってみたら出来ました。
ありがとうございます。
0948デフォルトの名無しさん
2008/10/08(水) 21:34:38>>930,>>935ですが、さすがにそれはしてません。
一応java xxxx とメインクラス名でコマンドを入力してます。
とりあえず、他に同じエラーで躓いてる人がいないか海外サイトで調べてみます。
0949デフォルトの名無しさん
2008/10/08(水) 22:06:32ビットシフト後の数値を検算してみたら間違っていたので、
ビットシフトに関してもう一度質問させてください。
Byte byte1;
Byte byte2;
int sr = 0;
sr = sr << 32;
byte1 = queue.poll();
System.out.print(byte1 + " ");
byte2 = queue.poll();
System.out.print(byte2 + " ");
sr = (byte1 << 8) | byte2;
System.out.print(sr + "\t");
のようにして計算した結果、
-14 5 -3579
のようになってしましました。
-14が [1111 0010] 、5が[0000 0101]
と考えると、[1111 0010 0000 0101]となって
+3579になると思っていたのですが、何が間違っているのでしょう?
0950949
2008/10/08(水) 22:07:470951949
2008/10/08(水) 22:28:03いくつもレス消費して申し訳ありません。
>>949 や -20 4 -5116 のように正解が出たり、
62 -14 -14 や 100 -24 -24 のように
明らかにおかしい値が出たりしています。
どこがおかしいのでしょうか?
0952デフォルトの名無しさん
2008/10/08(水) 22:59:05byte はシフト演算するとき、まずintとした後、計算されている。
例えば、-14 は8bitだと 1111 0010 らしいが
32bitだと 1111 1111 1111 0010
で、or は "1 と 0 は 1", "1 と 1 は 1" なわけで。
0953デフォルトの名無しさん
2008/10/08(水) 23:00:49・sr = sr << 32;
→意味ないです
・(byte1 << 8) | byte2
→まず書き方からして、int型に勝手に変換されるのは分かりますね?
例えばbyte2が-1(0xFF)だったとしましょう。
それをint型に変換すると0xFFFFFFFFとなり、byte1をつぶしてしまいますね?
よって、この場合は(byte1 << 8) | (byte2&0xFF)としてやらないとだめですね。
0954949
2008/10/08(水) 23:12:36>>953
int型に変換する際に上位ビットがどう埋まるかまで
考え至りませんでした・・
おかげで解決しました、ありがとうございます。
0955デフォルトの名無しさん
2008/10/09(木) 00:29:33特定の画像だけ正しく値が取得できません。
BufferedImage image = ImageIO.read(bmpFile);
int w = image.getWidth(null); int h = image.getWidth(null);
int[] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(image, 0, 0, w, h, pixels, 0, w);
pg.grabPixels();
int[] r = new int[w * h]; int[] g = new int[w * h]; int[] b = new int[w * h];
for(int i = 0; i < w * h; i++){
r[i] = (pixels[i] >> 16) & 0xff;
g[i] = (pixels[i] >> 8) & 0xff;
b[i] = pixels[i] & 0xff;
}
インデックスカラーの白黒(256色)のBMP画像なんですが
このやり方だとだめなんでしょうか?
ちなみに、デバッガで image の中身を見に行くと
wraster の中には正しい画素値が格納されてます。
colorModel とかの設定が何かおかしいんでしょうか??
0956デフォルトの名無しさん
2008/10/09(木) 08:17:350957デフォルトの名無しさん
2008/10/09(木) 10:33:02(test.rtfを)読み込んだのですが、
そのtest.rtfの中に入力した日本語が文字化けしてしまいます。
Unicodeに変換すれば良いのかとは思いますが、ググっても見つからない(わからない)のですが
どうすれば解決するのでしょうか?
初心者のため、まだまだ未熟なことありますが、知恵を貸していただければと思います。
よろしくお願いいたします
0958デフォルトの名無しさん
2008/10/09(木) 11:12:29https://java3d.dev.java.net/ にあるような複雑な物体のCGはとても作成できないように思われます。
http://www4.gracenet.ne.jp/~javao/j3dbook/firstbook/text/main.html で説明されていることは
一通り理解できています。
0959デフォルトの名無しさん
2008/10/09(木) 11:13:40その某サイトのプログラムてのとtest.rtfが無きゃ、さっぱり分からん。
どう入力してどの文字がどう化けるのかも分からん。
どうググったのかも分からん。
な〜んにも分からん。
0960デフォルトの名無しさん
2008/10/09(木) 11:15:49あんたのスキルと想像力が足りないだけだろう
0961デフォルトの名無しさん
2008/10/09(木) 11:16:51最新のリファレンス本
0962デフォルトの名無しさん
2008/10/09(木) 11:19:330963デフォルトの名無しさん
2008/10/09(木) 11:19:390964デフォルトの名無しさん
2008/10/09(木) 11:22:190965デフォルトの名無しさん
2008/10/09(木) 11:24:180966デフォルトの名無しさん
2008/10/09(木) 11:29:523x3ぐらいの画像で再現させて、その本当のRGBとプログラムで取得した値を全部書き出してみろ。
0967デフォルトの名無しさん
2008/10/09(木) 11:31:04出来ないと思うなら出来ない
0968デフォルトの名無しさん
2008/10/09(木) 11:33:530969デフォルトの名無しさん
2008/10/09(木) 11:35:42そうでした;;
失礼しました。
プログラムは
http://www.cs.cf.ac.uk/Dave/HCI/HCI_Handout_CALLER/node123.html
です。
"test.rtf"の中には"あいうえお"と入っています。
コンパイル成功後、ファイルが開かれますが
その開いたファイルの中身が"‚‚¢‚¤‚¦‚¨"となってしまっています。
この文字化けを解消したいです。
0970デフォルトの名無しさん
2008/10/09(木) 11:38:22ガンガレ(懐
0971デフォルトの名無しさん
2008/10/09(木) 11:39:43結局有料ソフトはライブラリの寄せ集めに過ぎないし、今は海外でも3Dライブラリの整備作業が(数年前に)始まったばかり。
アニメでべた塗りの2Dもどきなら、そんなに難しくないし、3Dのライブラリもある程度そろってきたから、ミク程度の動きなら出来るんじゃないかと思う。
今はまだ早いけど5年後ぐらいなら3DのUIとか当然になるんじゃないか?
0972デフォルトの名無しさん
2008/10/09(木) 11:48:27java RTFEditorKit 日本語 でググると文字化けに関するのがかなり出てくるぞ
0973デフォルトの名無しさん
2008/10/09(木) 11:52:23クラッシュバンデグーとか懐かしいな・・・
0974デフォルトの名無しさん
2008/10/09(木) 11:55:310975デフォルトの名無しさん
2008/10/09(木) 11:57:183Dの有用な使い方がなく、今でも必要ないだけ。つまり、おまえが無能とういこと。
0976デフォルトの名無しさん
2008/10/09(木) 11:59:02糞はだまっとれ
0977デフォルトの名無しさん
2008/10/09(木) 12:06:380978デフォルトの名無しさん
2008/10/09(木) 12:25:10ならおまえが有用なライブラリを作れw
0979デフォルトの名無しさん
2008/10/09(木) 12:27:000980デフォルトの名無しさん
2008/10/09(木) 12:45:38Vistaは全然Aeroを活かせてない
本来は凄く便利なことが出来るのに凄く勿体ないよ
Compizは比較的利点を活かしてるが、それでも模索中って感じはするね
便利な機能と一発屋な機能が入り混じってる
0981デフォルトの名無しさん
2008/10/09(木) 13:03:03だから肥大化したんだろうけど、いくら有能でもMSは傲慢だから嫌われるww
0982デフォルトの名無しさん
2008/10/09(木) 13:08:04ならwin32/Vista/Aeroの機能をコールするだけのブリッジ・ライブラリを作ってくれ。
windowsのような新興宗教には興味ないからMSDN読みながらJNIとか面倒だし、そこまで便利だというなら俺が使ってやる。・・・といってもwindows自体はライブラリのでかいのであって、3Dの基本機能は同じだしJOGL/Java3Dでいいよ。
0983デフォルトの名無しさん
2008/10/09(木) 17:52:36具体的にはどんなものがありますか?
0984955
2008/10/09(木) 22:28:14IrfanView や PhotoShop で読み込んだ画素値
48, 90, 43, 93, 48, 92, 49, ...
Java のプログラムで読んだ画素値
120, 160, 114, 163, 120, 162, 121, ...
灰色画像なので RGB値は同じです。
0985955
2008/10/09(木) 22:35:58ttp://www.death-note.biz/up/img/26527.bmp
0986デフォルトの名無しさん
2008/10/09(木) 23:59:10ttp://www.umekkii.jp/data/computer/file_format/bitmap.cgi
0987955
2008/10/10(金) 00:08:368bitビットマップ
に該当するのはわかっています。
実際、バイナリエディタで内部を見ると
パレットのところに
00 00 00 00 01 01 01 00 02 02 02 00 ...
と 0 〜 255 の灰色が格納されています。
画素のところは 30 なので 48 が画素値
パレットは 30 30 30 00 なので、(R, G, B) = (48, 48, 48) (10進)
になるのが正しいはずです。
しかし、955 のコードで読み込むと 120 になってしまいます。
これって、自分で 8 bit ビットマップかどうかを判定して
うまくやらないといけないんでしょうか??
本当にJavaで書けばWindowsでもMacでも動くアプリケーションがつくれますか?
0989デフォルトの名無しさん
2008/10/10(金) 00:17:510990デフォルトの名無しさん
2008/10/10(金) 00:39:01できるけど、
OSやJVMのベンダーによって挙動が変わるAPIもあるし
作った後に他プラットフォームでも動作確認はしとくべき。
0991デフォルトの名無しさん
2008/10/10(金) 00:42:550992デフォルトの名無しさん
2008/10/10(金) 00:43:240993デフォルトの名無しさん
2008/10/10(金) 00:53:580994デフォルトの名無しさん
2008/10/10(金) 01:04:50rubyでjvm bytecode class file
が出来るから、もうほとんど用が足りる世の中になった。
サル程度の仕事は、昔はperlとかだったけど今じゃjavascriptじゃないか?
0995デフォルトの名無しさん
2008/10/10(金) 03:30:55パレットも違うし画素値と呼んでるのも違う。
985はなんのためのサンプルなんだ?
0996デフォルトの名無しさん
2008/10/10(金) 03:37:270997955
2008/10/10(金) 07:47:06マジですかー
私の環境だと 120 になるんです。。。
0998デフォルトの名無しさん
2008/10/10(金) 08:37:270999デフォルトの名無しさん
2008/10/10(金) 10:30:451000デフォルトの名無しさん
2008/10/10(金) 10:32:3410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。