【初心者】Java質問・相談スレッド117【歓迎】at TECH
【初心者】Java質問・相談スレッド117【歓迎】 - 暇つぶし2ch700:デフォルトの名無しさん
08/07/29 20:39:30
うん

701:デフォルトの名無しさん
08/07/29 20:47:06
>>700
ありがとうございます
コンストラクタの作成と書いてあったので混乱しました
「クラスのコンストラクタを使ってインスタンスを作成する」
と脳内変換しておきます

702:デフォルトの名無しさん
08/07/29 22:16:58
>>693,>>695
レスありがとうございます!
1px取得してその色の■をhtmlの方でmarginとpaddingを0にして
ひたすら敷き詰めていけば出来るものなのかな?
ちょっとその方向で今から作ってみようと思います。


703:デフォルトの名無しさん
08/07/29 22:18:11
>>701
コンストラクタの作成は、コンストラクタの定義を書くということだと思うが

704:デフォルトの名無しさん
08/07/29 22:26:23
>>702
ちょっとやってみたけど単純にテキストじゃないっぽい?
ブラウザにもよるかもしれないけれど、テキストでやると、属性値が変わる部分でずれる部分があるから、テーブルでやってみたらきれいにできた。
public static void encode(BufferedImage input,PrintStream writer,String pxStr,int width,int height){
BufferedImage out = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
out.getGraphics().drawImage(input, 0, 0,width,height, null);

writer.println("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
for (int i = 0; i < height; i++) {
writer.println(" <tr>");
for (int j = 0; j < width; j++) {
int rgb = out.getRGB(j, i);
writer.printf(" <td style=\"background:#%06X\">",rgb&0xFFFFFF);
writer.print(pxStr);
writer.println("</td>");
}
writer.println(" <tr>");
}
writer.println("</table>");
}
pxStrはテーブル内の文字列。全角スペース*2くらいがちょうどいいかも
拡大縮小は今回ほんとに最低限の実装だけどw

705:デフォルトの名無しさん
08/07/30 00:09:35
>>701
文脈が解らんけど、
複数のコンストラクタを定義できるし、そのときは「コンストラクタを作成する」という。

706:デフォルトの名無しさん
08/07/30 00:13:33
質問させてください
現在、jdk6でgui開発を行っています
サイズを指定しないJFrameの上にサイズを指定したJPanelを載せて、JFrame#pack()を行い、大きさを整えようとしたのですが、なぜか、小さくなってしまいます。
JPanelはsetSizeで800*600とかにしているのですが、実行するとせんべいみたいな形になってしまいます
なぜなんでしょ?
また、せんべいみたいな形になったwindowを広げるとJPanelは800*600なのに、それを超えてJFrameの大きさと同じ大きさまで拡大してしまいます
これも、なぜなんでしょ?

解決方法や実装の常識的な方法があれば、教えてください

707:デフォルトの名無しさん
08/07/30 00:15:10
>>706
setPreferredSize(Dimension)

708:デフォルトの名無しさん
08/07/30 01:11:11
Swingのソース見れば分かるがsetPreferredSize()はかなり無視されてるぞw

709:デフォルトの名無しさん
08/07/30 01:28:20
>>708
夏だな

710:デフォルトの名無しさん
08/07/30 02:00:47
>>706
サイズも含めて望みのレイアウトになるようなレイアウトマネージャを使う。
そしてそのレイアウトマネージャがレイアウトに利用するコンポーネントのプロパティを正しく設定する。

711:デフォルトの名無しさん
08/07/30 02:07:25
>>710
ベスト回答

712:デフォルトの名無しさん
08/07/30 09:45:20
以下の方法でurlクラスロードできません。
URL[] url = {new URL("file:///C:/…/classes")};
new URLClassLoader(url).loadClass("/jp/co/…/Xxx")); → ClassNotFoundException
new URLClassLoader(url).loadClass("/jp/co/…/Xxx.class")); → ClassNotFoundException

実際のディレクトリ
クラスパス → C:\…\classes
クラス → C:\…\classes\jp\co\…\Xxx.class


713:デフォルトの名無しさん
08/07/30 10:08:26
>>712
> new URLClassLoader(url).loadClass("/jp/co/…/Xxx")); → ClassNotFoundException
new URLClassLoader(url).loadClass("jp.co.….Xxx"));

loadClass する時のクラス名はバイナリ名らしいので
packagename.classname$innerclassname みたいに
パッケージ及びトップレベルクラスまでは '.' で繋いでいい。

714:デフォルトの名無しさん
08/07/30 15:13:44
質問です。
JAVAのstaticメソッド内に宣言したローカル変数は
ヒープに領域を取られるのでしょうか?

配列などのオブジェクト宣言時は領域を取られるとあったのですが、
変数はオブジェクトではありませんよね?

715:デフォルトの名無しさん
08/07/30 15:28:55
フリーの日本語で音声合成ができるライブラリってありますか?

716:デフォルトの名無しさん
08/07/30 15:34:19
javaでボタンなどのコンポーネントを追加するときは、
getContentPaneでコンテナを取得して、
そのコンテナに対してコンポーネントを追加すると思います。
そこで、質問なのですが、コンテナを複数個作成することはできるのでしょうか。
目的は、複数のコンテナを複数の画面とみなし、
メニューなどから必要に応じて表示するコンテナを切り替えることです。

717:デフォルトの名無しさん
08/07/30 15:52:09
>>716
CardLayout使うとか、JLayeredPane使うとかじゃだめ?

718:デフォルトの名無しさん
08/07/30 15:55:01
>>717
ありがとうございます。早速、調べてみます。

719:デフォルトの名無しさん
08/07/30 16:37:41
質問です。
JAVAのstaticメソッド内に宣言したローカル変数は
ヒープに領域を取られるのでしょうか?

配列などのオブジェクト宣言時は領域を取られるとあったのですが、
変数はオブジェクトではありませんよね?

720:デフォルトの名無しさん
08/07/30 16:40:12
>>719
メンバだろうがstaticだろうがローカル変数はスタックじゃね?

721:デフォルトの名無しさん
08/07/30 16:44:07
標準ライブラリってどうやって見るんですか?

722:デフォルトの名無しさん
08/07/30 16:46:23
>>714
staticか否かにかかわらず、ローカル変数は「ローカル変数テーブル」
に置かれる。(で、ローカル変数テーブルは通常はスタック上に置かれる)
でも、ローカル変数が指す先はヒープ上かもしれない。
例:
static void foo() {
Foo f = new Foor();
// f はローカル変数テーブルに領域が取られるが、fが指すオブジェクトはヒープ

>>719
同じことを二度も書かなくていいよ。


723:デフォルトの名無しさん
08/07/30 16:52:33
これで二度書けば解答がもらえると認識した。

724:デフォルトの名無しさん
08/07/30 16:52:43
>>721
URLリンク(java.sun.com)

725:デフォルトの名無しさん
08/07/30 17:29:48
enterflagってどうゆう関数?

726:デフォルトの名無しさん
08/07/30 21:10:33
書いた奴に聞け

727:デフォルトの名無しさん
08/07/30 21:56:32
ディレクトリ階層を取得してくれるライブラリはありませんか?
シンボリックリンクとかあって、単純に再帰かけると無限ループ入るんで、
誰かが提供したライブラリを使ってプログラミングがしたい。
読み込んで、ノードがサイズとか名前とか更新日時とかを持った木構造にしてくれればいい。

728:デフォルトの名無しさん
08/07/30 21:59:21
winのlnkファイルもあるしな。
まああれは解析されてるがディレクトリツリーの取得ぐらい自分で書け。

729:デフォルトの名無しさん
08/07/30 23:11:43
>>728
すごくだるいです・・・
他人が書いたライブラリを使った方が正確です。

730:デフォルトの名無しさん
08/07/31 00:47:38
>>729
ならそのまま延々待ってろw

731:デフォルトの名無しさん
08/07/31 01:18:13
Javaで、Excelのデータを読むときは、poiを使用するけど
もし、Javaで、OpenOfficeOrgのドキュメントのデータを読むときは
何を使用されていますか?

732:デフォルトの名無しさん
08/07/31 06:06:04
for文について質問です。

int i;
for(i=-3;i<3;i++);

といった始めにiを-3としておいて-3≦i≦3の計算をさせることはできますか?

733:デフォルトの名無しさん
08/07/31 07:42:47
kwsk

734:デフォルトの名無しさん
08/07/31 07:43:11
>>731
POI

>>732
聞く前に試せ

735:デフォルトの名無しさん
08/07/31 08:26:36
>>732
それだと-3≦i<3の範囲になっちゃうけど

736:デフォルトの名無しさん
08/07/31 10:05:49
springなどのDIってのは、結局のところJDKのProxyで割り込みかけてるってのが正体ですか?

737:デフォルトの名無しさん
08/07/31 14:17:39
public void paint(Graphics g){
 g.setColor(Color.green);
 g.fillArc(30,30,150,100,90,250);
}

アプレットに表示した後、数秒待機してこの図形を消したいのですが、
図形を消す命令というのはありますか?

738:デフォルトの名無しさん
08/07/31 14:18:59
clear

739:デフォルトの名無しさん
08/07/31 14:27:22
>>738
よろしかったら記述方法のヒントを頂けないでしょうか?
g.clearではだめだったので… orz

740:デフォルトの名無しさん
08/07/31 14:42:40
private bool display = true;

void 数秒後に発動するタイマーのハンドラー() {
  display = false;
  画面の再描画指示 repaint() でいいんだっけ?
}

public void paint(Graphics g){ 
  if (display) {
   g.setColor(Color.green); 
   g.fillArc(30,30,150,100,90,250); 
  }
} 


741:デフォルトの名無しさん
08/07/31 15:20:50
解決しました、ありがとうございました。

742:デフォルトの名無しさん
08/07/31 19:59:56
JFrameのウィンドウを何らかの処理をした後、自動でHIDE_ON_CLOSEの状態に
したいのですがどうすればいいんでしょうか?

743:デフォルトの名無しさん
08/07/31 20:03:14
setVisible(false)

744:デフォルトの名無しさん
08/07/31 21:55:41
jspとかサーブレットやるときはほぼ確実にコンテナにトムキャットを使いますけど、
実際に現場でもトムキャット(+アパッチ連携)が使われてるんでしょうか?
それともグラスフィッシュとかでしょうか?

745:デフォルトの名無しさん
08/07/31 22:05:44
使いたいものを使えよ

746:デフォルトの名無しさん
08/07/31 22:31:29
WebSphereやWebLogicのようなメーカーものも強いな

747:デフォルトの名無しさん
08/07/31 23:36:26
Tomcatのみで運用だけはない、そのくらいかと

748:デフォルトの名無しさん
08/07/31 23:47:46
gr3というゲームがあるんですけど、
Javaのなんというプログラム(ファイル?)で開いていいのかわからず、
起動できません。
教えてください。

749:デフォルトの名無しさん
08/08/01 01:01:16
JavaでPostgresにデータ追加する方法教えてー。
・データベース名
「userdb」
・テーブル名
「user」

列名  型      制約
id varchar(10) 主キー
name  varchar(50) NOT NULL
address varchar(50) なし

追加するデータ
 「add.txt」の内容
 001,太郎,taro@test.ne.jp
002,花子,hanako@test.ne.jp
003,次郎,jiro@test.ne.jp

750:デフォルトの名無しさん
08/08/01 01:12:27
jdbcでぐぐれ

751:デフォルトの名無しさん
08/08/01 09:46:23
共通の定数クラスやユーティリティークラスをみんなで更新しているので、cvsのマージが大変です。
皆さんはこのような時どうされます。
定数クラスを各自作成し、最後にリファクタリングで1つにまとめコミットし、その他は破棄でやってます。
自分ではなかなかだなと思っています。

752:デフォルトの名無しさん
08/08/01 10:03:45
このint aをマルチスレッドで扱うとき、synchronizedブロックで囲って排他したほうがいいでしょうか。
オブジェクトの捜査ならその中でいろいろやるけど1行だけの更新なら必要ないと思うのですが。

753:デフォルトの名無しさん
08/08/01 10:24:21
>>751
git でも mercurial でもなんでも使えよ。

>>752
更新する場所がソース上で1行だろうがなんだろうが、そこを通るスレッドが複数
存在するならガードする必要があるのはあたりまえだろボケ。

754:デフォルトの名無しさん
08/08/01 11:01:48
>>751
共通部分は一人で作る

755:デフォルトの名無しさん
08/08/01 11:27:45
>>753
要は、intのデータバイト更新しかかり中に別スレッドが読んじゃうからということですか?

756:デフォルトの名無しさん
08/08/01 11:34:16
2つのスレッドが同時に更新したら・・・とか
同期しないと別スレッドの更新した値が更新されて見えないことがあるよ・・・とか

757:デフォルトの名無しさん
08/08/01 12:02:08
>>756
その、同時に更新したらという懸念はわかるけど、同時に更新したらどうなるの?
データはめちゃくちゃになる、ということ?

758:デフォルトの名無しさん
08/08/01 12:13:03
>>757
銀行口座の例とか教科書に載ってなかったか?
javaじゃないけど
URLリンク(www.atmarkit.co.jp)

759:デフォルトの名無しさん
08/08/01 12:50:46
5年ぐらいJavaいじってなくて、そろそろまたいじろうかと思ってるんですけど
Web系の場合、何で遊ぶのが一番仕事の役に立ちそうですか?

Tomcat+Struts2あたり?

宗教戦争っぽくなりそうですけど、目安を知りたいので教えてください

760:デフォルトの名無しさん
08/08/01 13:45:59
金融系で開発する場合の開発環境はEclipseが多いですか?

761:デフォルトの名無しさん
08/08/01 14:01:52
事実上EclipseなのだがWebSphere Studioを使ってるよ

762:デフォルトの名無しさん
08/08/01 14:25:39
JavaアプレットってSwingやAWTのことですか?
現在、Javaアプレットに代わって利用されているJava技術は何ですか?(FLASH等多言語は除く)

763:デフォルトの名無しさん
08/08/01 14:27:33
java web start (jnlp)

764:デフォルトの名無しさん
08/08/01 19:36:19
java開発ソフト(URLリンク(java.sun.com)の2番目)をインストールして
コンパイルしようとしたのですがjavacが認識されず出来ません
どうすればよいですか
初歩的ですみません

765:デフォルトの名無しさん
08/08/01 19:43:06
環境変数設定してないのかな

766:デフォルトの名無しさん
08/08/01 19:46:53
>>764
URLリンク(java.sun.com)
の4.を行わない場合、javacをフルパスで起動する必要がある。

767:デフォルトの名無しさん
08/08/01 20:45:40
jnlpの実装がRIのjwsしかないってのがな。
ブラウザが実装してくれればいいのに

768:デフォルトの名無しさん
08/08/01 23:45:24
>>764
bin フォルダの中に javac.exe はあるぽ?

769:デフォルトの名無しさん
08/08/01 23:48:48
webアプリのビジネス層のインターフェースの設計について質問。
下のように、似たようなシグネチャのメソッドを持つインターフェースを
数種類だけ作ってアプリ全体で使い回そうとしてるんだけどこれって普通ですか?
コントローラからはビジネス層へのアクセスは必ずこれらを呼ぶようにしていますが、
もっと賢いやり方があれば教えてください。

public interface hogeLogic {
void execute (object o)
}

public interface hogeLogicReturningObject {
Object execute (object o)
}

public interface hogeLogicReturningList {
List execute (object o)
}

770:デフォルトの名無しさん
08/08/01 23:52:06
public interface hogeLogic<T> {
T execute(Object o);
}

771:デフォルトの名無しさん
08/08/01 23:57:02
>>770
これは別ですか?
public interface hogeLogic {
void execute ()
}

あとjdk1.4だと>>769以外に何かありますか

772:デフォルトの名無しさん
08/08/02 00:14:01
いまさら1.4かよ。Java7出たらEOLだけどいいのか?

773:デフォルトの名無しさん
08/08/02 00:30:21
java.lang.Void

774:デフォルトの名無しさん
08/08/02 00:40:30
java.lang.ZOID

775:デフォルトの名無しさん
08/08/02 00:50:29
新規案件で1.4とかもあるぜ、もうアホかと

776:デフォルトの名無しさん
08/08/02 00:53:46
>>772
Sunが金払う顧客にはサポート続けるって言ってなかったっけ?

777:デフォルトの名無しさん
08/08/02 01:08:25
>>769
そのパターンでは、静的型付の利点を生かせないよね。


778:764
08/08/02 06:23:37
>>766
設定してみましたが変化がありませんでした

>>768
ありません><


779:デフォルトの名無しさん
08/08/02 09:18:28
>>769
インターフェイスを使うのは必要として、
ビジネス層の中身によるがObjectまで抽象化すると逆にメリットがなくなる。
もう少し具象化した型別にインターフェイスを用意したほうがよいと思うよ。

780:デフォルトの名無しさん
08/08/02 14:51:22
>>777
>>779
なるほど。確かにタイプセーフじゃないんで
>>769はこれはこれでどうしたものか、と思いました。
参考までに1.5だと全部下ので
片が付くと思ったのですが、あってますか?
public interface hogeLogic<T, E> {
T execute(E commandParameterObj);
}

781:デフォルトの名無しさん
08/08/02 17:17:05
java.awt.Color.whilteとjava.awt.Color.WHITEは何の違いがあってどう使い分けるのよ

782:デフォルトの名無しさん
08/08/02 17:53:46
定数は大文字アンスコで書くのがルール
後はわかるな?

783:デフォルトの名無しさん
08/08/02 19:59:32
>>759
だれかたのむ

784:デフォルトの名無しさん
08/08/02 21:13:53
>>759
Web+仕事が前提だと、未だにStruts1がぶっちぎり。
Struts2はその他大勢とどんぐりの背比べ状態。
それでもあえてStruts1以外を選ぶなら、Wicketあたりをお勧めしておく。

785:デフォルトの名無しさん
08/08/02 22:40:36
Swingの経験はあるけどWebは初めてって人には、却ってWicketの方が分かりやすいかも。

786:デフォルトの名無しさん
08/08/02 23:17:34
>>782

いや、わからん・・・・
定数と同名のpublic変数フィールドがなぜ定義されてて、
どうやって使い分けるのか
検討もつきません。まじで。

787:デフォルトの名無しさん
08/08/02 23:33:47
>>786
つ 導入されたバージョン: 1.4

788:デフォルトの名無しさん
08/08/03 01:07:46
APIドキュメントの読み方や利用方法がいまいち分からないのですが
丁寧に解説している本ってありますか?
いま持っている本はドキュメントの使い方の説明はほとんどされてません。

789:デフォルトの名無しさん
08/08/03 01:13:28
>>786
1.4以前に定義された小文字の変数名だと命名規約に反する。
それで大文字を導入したが小文字の方を消すと以前作ったコードがコンパイルできなくなる。

>>788
辞典みたいなもん。

790:デフォルトの名無しさん
08/08/03 01:16:20
とくにAWTやSwingのドキュが意味不明です

791:デフォルトの名無しさん
08/08/03 01:19:22
GUIプログラミングの基礎を勉強すればいい

792:デフォルトの名無しさん
08/08/03 01:24:03
誰か>>780の件、たのむ

>ビジネス層の中身によるがObjectまで抽象化すると逆にメリットがなくなる。
メリットって?

793:デフォルトの名無しさん
08/08/03 03:39:15
>>792
よくわからんがコントローラー層から実行するメソッドごとに、
インタフェース作ることにならんかい?

極端な例だけど、
あるひとつのドメインに対して、
CRUDごとにインタフェース作るより、
まとめてインタフェース定義するほうが自然だよ。


794:デフォルトの名無しさん
08/08/03 03:44:33
>>792
ビジネス層でObject受け取ってうれしいか?
結局ダウンキャストしなきゃいけないじゃん。

795:デフォルトの名無しさん
08/08/03 15:52:03
JTableのsetAutoCreateRowSorterにtrueを指定した場合、
テーブルのカラムを押したときにソートができるようになります。
ところが、このソートの仕方がおかしいのです。
たとえば、次のような値は

8 1
14 -> 8
1 14

となるように思えますが、実際には

8 1
14 -> 14
1 8

のようになってしまいます。
DefaultTableModel.addRowにはIntegerオブジェクトを渡しているのに、
数学上での大小を区別してくれません。
どうすれば、よいでしょうか。

796:デフォルトの名無しさん
08/08/03 16:07:40
795です。
スペースがうまく入っていないので補足します。
言いたいことは、1,8,14という並び方になってほしいのに、
1,14,8という並び方になってしまうということです。

797:デフォルトの名無しさん
08/08/03 16:20:44
文字列として比較しているからだろ

798:デフォルトの名無しさん
08/08/03 16:24:27
>>3
DOSの本嫁

799:デフォルトの名無しさん
08/08/03 16:27:48
>>796
URLリンク(guijava.180r.com)

800:デフォルトの名無しさん
08/08/03 16:31:34
バイト配列→文字列の変換をするメソッドを書きたいです。
ぐぐってみたところ、以下2つのメソッドが引っかかったのですが
どちらを使うべきでしょうか?
asHex2()のif文は必要なのでしょうか。

public static String asHex(byte b[]) {
 StringBuffer sb = new StringBuffer();
 for (int i = 0; i < b.length; i++) {
  sb.append(Integer.toHexString((int) b[i] & 0xff));
 }
 return sb.toString();
}

public static String asHex2(byte b[]) {
 StringBuffer sb = new StringBuffer(b.length * 2);
 for (int index = 0; index < b.length; index++) {
  int bt = b[index] & 0xff;
  if (bt < 0x10) {
   sb.append("0");
  }
  sb.append(Integer.toHexString(bt));
 }
 return sb.toString();
}

801:デフォルトの名無しさん
08/08/03 16:31:59
ピンズが皆浮いてるw

802:デフォルトの名無しさん
08/08/03 16:32:53
誤爆った

803:デフォルトの名無しさん
08/08/03 16:48:44
>>799
すごすぎる...
正にどんぴしゃのコードです。
ありがとうございます。

ちなみに、
「シリアライズ可能クラス は long 型の static final serialVersionUID フィールドを宣言していません。」
という警告が出たのですが、これは何を意味しているのでしょうか。
動作の方は、至って正常です。


804:デフォルトの名無しさん
08/08/03 17:46:03
ググレ、カス

805:デフォルトの名無しさん
08/08/03 19:47:13
質問スレで回答がなかったので、こちらにも投稿させてください

mvel 勉強してるんですが、macro が分かりません。
URLリンク(mvel.codehaus.org)

mvel の macro とは何するものなんでしょうか?
どういったことを意図して作られた機能なのでしょう?
サンプルを実行しても理解できませんでした。
ただの文字列置換ではないですよね…

806:デフォルトの名無しさん
08/08/03 20:35:42
>>769
>>777,779 に賛成。
そもそも、何故そのようにまとめる必要があるのか?
そのまとめ方は、なんか共通処理があってそれを挿みたいから、それを interface で判断するって事?

自分は(おそらくその他大勢も)基本的にビジネスロジックも POJO がベストだと思っていて、
そのような共通メソッドでビジネスロジックを呼び出すスタイルは過去の物だと思っている。

例えば、Foo を渡すと Bar を返す Hoge という処理があったとする。
// interface
public interface Hoge{
  Bar getBar(Foo foo);
}
// implementation
public class HogeImpl{
  Bar getBar(Foo foo){
    // do something
    return bar;
  }
}

さて、これでダメな理由って何? interface が増えるから?
個々のビジネスロジックの interface が増えるのは全く問題ではないのだが、
それが分からないのであれば、もっと勉強しなければならない。

ついでにこれを T execute(<E>) にした時の利点って何?
それは実装と interface の分離について何かメリットがあるのか?


最後に、とりあえず Seasar でも Spring でもいいから、なんか DI を使ってごらん。
サンプルアプリとかを見て、真似してみ。 やれば↑のことが分かるようになるはず、だと思う。
java にとっての DI は、もはや必須のパラダイム。 EJB3 にも DI が取り込まれたのも必然。やってみ。

807:デフォルトの名無しさん
08/08/03 21:19:35
HTMLを取得して、FORMタグ内のパラメータを作成して、フォーム送信するにはどうしたらいいですか?
HttpURLConnectionを使ってHTMLを取得するまではできていて、
HTML Parserを使って、FORMタグ内のタグ解析もなんとなくできそうですが、フォーム送信がさっぱり
GETならURLに?をつけてパラメータを結合したものをHttpURLConnectionから取得すればフォーム送信したことになりそうだけど、
POSTを使ってhiddenで送信されるパラメータをJava上から実現するのはどうしたらいいんだい?

808:デフォルトの名無しさん
08/08/03 21:24:27
コマンドプロンプト上で実行するJavaプログラムを書いてます。Win XPです。
時刻を表示して、時刻が変わったら上書きして表示するということをしたいのですが、
どのようにすれば良いのでしょうか。
また、無理だったら、画面をクリアして書き直すということをしたいのですが、
クリアの仕方もわかりません…
「Java 画面のクリア コマンドプロンプト」でググっても出ませんでした。

809:デフォルトの名無しさん
08/08/03 21:24:40
>>807
httpunit

810:デフォルトの名無しさん
08/08/03 21:25:09
POSTだったらgetOutputStreamしてそれに書き込めばいいよ。

811:デフォルトの名無しさん
08/08/03 21:27:32
>>808
コマンドプロンプト(System.out)の書き換えは基本的に不可能
というか、OSに依存していてWindowsじゃ無理
改行して次の文字を表示していくか、簡単なGUIをSwingで作ればおk

812:デフォルトの名無しさん
08/08/03 21:29:27
>>807
URLリンク(www.atmarkit.co.jp)

すでに手書きしているので今更だが、HttpUnitを使うともっと楽にできる。

813:デフォルトの名無しさん
08/08/03 21:32:48
>>811
ありがとうございます。

無理なのですか…残念です。

【時刻】2008/08/03/21:31:10
【時刻】2008/08/03/21:31:11
【時刻】2008/08/03/21:31:12
【時刻】2008/08/03/21:31:13
【時刻】2008/08/03/21:31:14


となるのは見苦しいですが、しょうがないのですね…

814:デフォルトの名無しさん
08/08/03 21:34:46
>>809,810,812
おまいらThx!即レスThx!

815:デフォルトの名無しさん
08/08/03 22:18:56
>>813
しょうがないっていうか、コンソールってどういう目的であるか考えろよ。
見苦しいんじゃなくて、そう流れるのが普通

816:デフォルトの名無しさん
08/08/03 22:33:11
HttpUnitすげーっと思って使ってみたらJavaScriptで落ちまくるw
これはやり方が悪いのかねぇ。
どうもページ内でリンクされてる外部のJavaScriptを読みにいってないっぽいんだよなぁ

817:デフォルトの名無しさん
08/08/03 22:42:47
>>813
こんなことは出来るんじゃないか?
System.out.print("HOGE");
System.out.write(0x0D);
System.out.println("ORZ");


818:デフォルトの名無しさん
08/08/03 23:04:56
>>806
丁寧にありがとう。Springを使ってる。言ってることも理解できます。
実践J2EEシステムデザインって本読んで、それを参考にやってますが、
やりたいことは、コントローラでビジネスロジックを呼び出す回数を出来る限り
少なくして、コントローラのテストを簡単にしたい。
コントローラが扱うビジネスクラスを限定したいのです。
そのために、ビジネスロジックのinterfaceを2段がまえにして、
コントローラから呼ばれるinterfaceはexecuteである程度汎用化して、
(ObjectかMapでモデルオブジェクトだけ返してくれれば十分なので)
これしか呼ばないようにする。ビジネスロジックの入り口。
より具象化した型はexecuteを実装したクラスの中だけで
扱うようにしたいんだけど、これは変なのでしょうか?

public interface Hoge<T, E>{
T execute(E object)
}
public class HogeImpl<Void, Integer>{
private Foo foo; // DIする
private Bar bar;  // DIする

public int execute(Object o) {
foo.doXXXLogic()
bar.doYYYLogic()
return foo.getZZZ() + bar.getZZZ();
}
}
public interface Foo{
int doXXXLogic();
}
public interface Bar{
Biz doXXXLogic();
}

819:818
08/08/03 23:09:18
すみません、訂正。
public interface Hoge{
int execute()
}

public class HogeImpl{
private Foo foo; // DIする
private Bar bar;  // DIする

public int execute() {
return foo.doXXXLogic() + bar.doYYYLogic();
}

}
public interface Foo{
int doXXXLogic();
}

public interface Bar{
int doXXXLogic();
}

820:デフォルトの名無しさん
08/08/03 23:32:01
>>818
だから、テストするクラスが少なくなってもテストするパターンが複雑になるんじゃ本末転倒。
それよりは静的言語のメリットを生かして、ビジネスロジックごとにインターフェイスきる方がいいんじゃね?ってのが流れだと(ry

>これは変なのでしょうか?
あえて時代に逆行しているのは構わないけど、誰からも支持されてないよな?
それが答えだよ

821:デフォルトの名無しさん
08/08/03 23:39:31
>>820
コントローラでぐちゃぐちゃとビジネスクラスを呼び出してる方が
テストは複雑な気がするのですが・・・。
POJOじゃないクラスでのテストが増えるってことでしょう?

822:デフォルトの名無しさん
08/08/03 23:55:14
ビジネスロジックを意味のある塊に纏めて実行するビジネスロジックを用意すればいいじゃないか。
変な皮被せるんじゃなくて、純粋にビジネスロジックとして纏めるんだよ。
何のための DI だよ?

823:デフォルトの名無しさん
08/08/04 00:37:01
>>817
目的のことが出来ました!
ありがとうございます。

824:822
08/08/04 00:39:08
と思ったら、DI してるのか。
しかし >>818,819 は何だ?
Foo も Bar も静的に型が決まるんだから、汎化して呼び出す意味が分からん。
本来 Foo やら Bar やらが持つ意味どおりに getXxx やら getYyy を呼べよ。
真剣にその汎化して呼び出す理由が分からん。

例えばカートを扱うサービスがあったとして、 putXxx とか removeYyy とかやりたいと思うのだが、
それだともの凄く窮屈じゃないか?
とても分かり難いソースにならないか?

実装とインタフェースの分離ってのは、やってもらうことは決まってるけど実装には依存しないってことだよ。
何でも屋インタフェースを用意するってことではないよ。

会計データを入力すると決算書を吐くインタフェースはあっていいが、
何か頼むと何かやってくれるインタフェースなんてあっても意味ないぞ。

825:デフォルトの名無しさん
08/08/04 00:40:21
なんか根本的に話が通じてない気がするな
そもインターフェイスを統一することに何のメリットがあるんだ?


826:デフォルトの名無しさん
08/08/04 00:49:42
誰でも簡単に使える(笑)フレームワークでも目指しているんじゃない?

827:デフォルトの名無しさん
08/08/04 00:52:43
おk、インターフェイス名はプログラムIDの連番
全ての定義メソッドはexecuteだ
プログラムID+Resultという型で結果を返すこと

この手の設計と似ているね・・・

828:デフォルトの名無しさん
08/08/04 01:11:15
serialVersionUIDについて質問させてください。
次のようにクラスに追加したら、シリアライズに関するエラーが
なくなると思っているのですがなくなりません。
どこが問題なのでしょうか。

model = new DefaultTableModel(column, 0) {

// シリアライズに関する警告を消そうと思い追加
private static final long serialVersionUID = 1;

// オーバーライドしたいメソッド
public Class<?> getColumnClass(int columnIndex) {
return Integer.class;
}
};

便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
オーバーライドするというのは、よくあることなのでしょうか。
普通は、サブクラスを作成してそこでメソッドをオーバーライドし、
サブクラスのインスタンスを作成するものだと思うのですが。


829:デフォルトの名無しさん
08/08/04 03:35:19
>>828
ただ、エラーを消すために、
private static final long serialVersionUID = 1;
こんなことするくらいだったら、
eclipseの設定で出なくしちゃっていいよ。
設定のコンパイラの辺りでどーにかなるよ。
それが嫌ならちゃんと直列化について勉強するとよいよ。


830:デフォルトの名無しさん
08/08/04 03:38:16
>>828
イベントリスナやら、Comparatorなんかではよく見るけど、
インタフェースを実装するときがほとんどだな。

つまり、よくあることではない。
ってことだ。

831:デフォルトの名無しさん
08/08/04 07:34:59
>>828
@SuppressWarnings でおk。
@SuppressWarnings嫌いって多いけど、
そうなら勉強するしかない。
そして@SuppressWarningsが正解で、
デフォルトバージョンを入れてしまうことが間違いだと分かる。

>>便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
>>オーバーライドするというのは、よくあることなのでしょうか。

よくある。
別にクラス作っても一緒だけど、
「たった一つ振る舞いを変える」かつ、
「その振る舞いはそこでしか使わない」
の場合は生成時オーバーライドが一番見やすい。

832:デフォルトの名無しさん
08/08/04 10:05:14
>>825
DI登場以前にはメリットがあった。
トランザクション管理とか、ロギングとかね。

今では、過去の遺物だと思う。

833:デフォルトの名無しさん
08/08/04 10:12:56
serialVersionUIDの警告はIDEが過剰に出してるものだからIDEの設定で切るのが筋。
javacやantだと出ないでしょ、たしか。


834:デフォルトの名無しさん
08/08/04 12:12:00
JAVAの最大化ボタンを押せなくする(使用不可能)プログラムを教えてください。
お願いします。くぐったんですけど出てきませんでしたm(__)m

835:デフォルトの名無しさん
08/08/04 13:00:25
URLリンク(www.uploda.org)

mojiフオルダ内にある[moji000~moji004]の5枚の画像について、読み込み
とある処理をして出力するプログラムなんですが
[moji0~moji4]を読み込むにはどのように書き換えればよいのですか?

836:デフォルトの名無しさん
08/08/04 13:05:36
>>835
宿題スレで書いてもらったコードだろ・・・
>private static DecimalFormat df = new DecimalFormat("000");

private static DecimalFormat df = new DecimalFormat("0");
でどうよ?

837:デフォルトの名無しさん
08/08/04 13:13:21
>834
java.awt.Frame#setResizable(boolean)

838:デフォルトの名無しさん
08/08/04 13:40:13
>>837
それはImportの所に置きますか?
それとも初期化の所に置くのですか?

839:デフォルトの名無しさん
08/08/04 16:54:05
JTableで作成したテーブルのカラムを後から変更することは
できるでしょうか。
getColumnNameがあるのに、setColumnNameがないようなのです。
また、getColumnで取得できるTableColumnにも
名前を設定できるメソッドがありません。


840:デフォルトの名無しさん
08/08/04 17:17:42
setHeaderValue(Object)ってなかったっけ?

841:デフォルトの名無しさん
08/08/04 17:38:42
それでいけました!
ありがとうございます。

842:デフォルトの名無しさん
08/08/05 09:44:13
Objectクラスはnewできますが、new Object()をする場合などあるのでしょうか。
今までロックインスタンス用としてしか使用したことがありませんが、他に有意義な使用法等あれば教えてください。

843:デフォルトの名無しさん
08/08/05 09:51:55
>842
URLリンク(www.google.co.jp)(%22

844:デフォルトの名無しさん
08/08/05 11:34:30
while ・・・
String a;
a = ・・・
}

String a;
while ・・・
a = ・・・
}
すべきといわれますが、なぜでしょうか?

845:デフォルトの名無しさん
08/08/05 11:52:37
{がなくてwhileがどうなってるかわからんけど前者だとaの定義を何回も行う事になるから。

846:デフォルトの名無しさん
08/08/05 12:01:06
>>844
一般的には、前者の方がスコープ短くできるので良いとされる。

後者が良いのは a の初期化処理が共通で使いまわせる場合とかだね。

847:デフォルトの名無しさん
08/08/05 13:08:42
a.xml
=======
<a>
<b>
<c>1</c>
</b>
</a>
=======

b.xml
=======
<a>
<b>
<c>2</c>
</b>
</a>
=======

を下記のようにマージするクラスやフレームワークはあるでしょうか?
<a>
<b>
<c>1</c>
</b>
<b>
<c>2</c>
</b>
</a>


848:デフォルトの名無しさん
08/08/05 14:32:09
クラスをbyte[]に変換することは出来ますか?
Hoge hoge = new Hoge();
byte[] buf = (byte[])hoge;
上記のようなことがしたいのですが・・・
よろしくお願いします。

849:デフォルトの名無しさん
08/08/05 14:39:55
>>533
javadoc -doclet 自作クラス … でjavadoc要素の操作をしているのですが、
javadocのデバッグはできるのでしょうか?

下記のオプションをつけてみましたが、不正なオプションでエラーになってしまいました。
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

850:デフォルトの名無しさん
08/08/05 14:47:26
>>848
シリアライズでぐぐる

851:デフォルトの名無しさん
08/08/05 19:00:38
EventObjectなしのListenerってありですかねぇ?
単純な通知だけのとかは面倒でしょうがない。

852:デフォルトの名無しさん
08/08/05 19:13:53
>>851
単に何かが起きたことの通知だけなら
Java流のイベントソース/イベントリスナーの形にきっちり従わなくても
単純にObserver/Obserbableで作るのではだめ?

853:デフォルトの名無しさん
08/08/05 19:16:45
Obserbable → Observable

854:デフォルトの名無しさん
08/08/05 19:18:15
WindowsでコンパイルしたSwingアプリのラベルやらなんやらがLinux上でことごとく文字化けするんですが、
文字コードレベルではrun anywhereは実現できないんですか?

855:デフォルトの名無しさん
08/08/05 19:28:43
>>854
フォントの問題じゃないか?

856:デフォルトの名無しさん
08/08/05 19:42:01
>>852
ありがとうございます。
通知の種類が複数あるため、Observerではちょっと・・・
引数でその種類を示す物を送るのもありですが。

857:デフォルトの名無しさん
08/08/05 22:17:03
DBにたくさんSQL文を投げる時に使うPreparedStatementって、
「?」の数が8個より大きいと使えないのかな?ちなみにバージョン1.5.1.

こんなエラーが出る
java.sql.SQLException: Parameter index out of bounds. 9 is not between valid values of 1 and 8

APIやら解説書にもそんな記述は無いんだが、だとしたら相当ショボイ部品だなぁ・・・

858:デフォルトの名無しさん
08/08/05 22:25:23
>>857
その辺はJavaよりもJDBCドライバの実装に依存する。
DBMSとJDBCドライバの名前とバージョンさらして。

859:デフォルトの名無しさん
08/08/05 22:25:41
>857
使ってるデータベースやドライバの仕様じゃなくて?

860:デフォルトの名無しさん
08/08/05 22:47:48
DBMS MySQLの5.0.27
JDBCドライバ mysql-connector-java-5.0.4

です。
この辺の仕様ということなら、残念ですね・・・。

861:デフォルトの名無しさん
08/08/05 23:08:38
"JDBC MySQL Parameter index out of bounds"あたりでググってみたが、
%付きでlike演算子使った時に同じエラーが出る、という話がヒットした。
URLリンク(forums.mysql.com)
URLリンク(forums.mysql.com)
URLリンク(archives.neohapsis.com)
他にもあるかもしれないが、自分でググってみて損はないぞ。

862:857
08/08/05 23:10:54
>>861
サンクス!
グーグル大先生に色々聞いてみることにします。

863:デフォルトの名無しさん
08/08/06 11:32:03
javaのStringクラスにログ的なものを入れた改修し、それを使用させるために
-Xbootclasspath/p:-Xbootclasspath/p:C:\classes の起動オプションを追加したところ
以下のメッセージが出て起動できません。
JDK1.6です。
Error occurred during initialization of VM
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java:1072)

864:デフォルトの名無しさん
08/08/06 12:26:38
>>863
そうですか

865:デフォルトの名無しさん
08/08/06 15:26:33
未だにj2sdk1.4.2_14を使っているんですけど、
Java入門者にとっては最新版でなくても差し支え無いですか?


866:デフォルトの名無しさん
08/08/06 16:16:34
>>865
1.5で言語仕様がかなり追加された。
それに合わせてAPIも実装だけでなくインタフェース部分も書き直されたので、
少なくともjdk5か、できればjdk6を使用したほうがいいと思う。
入門書とかもそれに対応したものを使う。

867:デフォルトの名無しさん
08/08/06 17:31:31
>>885
同じ1.4.2系列の最新版1.4.2_18にはしとこうぜ。

868:デフォルトの名無しさん
08/08/06 17:38:17
すみません,どなたか助言お願いします.

DataOutputStreamクラスのwriteChars(String)を実行すると
出力先のtxtファイルでは文字列の文字1つ1つの間に
半角空白が1つずつ入ってしまいます.

どうすれば空白が入らずに出力できるでしょうか.

ちなみにANTLRという構文解析ソフト(javaで記述)の中で,
  out.writeChars(text);
  out.writeChars(Integer.toString(value));
などという感じで使っています.


869:デフォルトの名無しさん
08/08/06 17:46:03
>>868
16byteのキャラクタを未加工で出力してるんだからそれであってる。
DataOutputStreamを使ったことが間違い。

それでもこういう手合いはwriteUTFで自己解決してしまうんだろうな(笑

870:デフォルトの名無しさん
08/08/06 18:08:22
16bitだった。好きなほうで

BufferedWriter out2 = new BufferedWriter(new OutputStreamWriter(out));
PrintWriter out3 = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));


871:sage
08/08/06 18:21:35
>>869-870
ありがとうございます!

文字列をそのままバイトコードとして流したのがだめだった,ってことでしょうか?
適当に言ってますが...
とにかくOutputStreamWriterを見てみます!

872:デフォルトの名無しさん
08/08/06 18:22:23
sageれてなかった...
すみません.

873:デフォルトの名無しさん
08/08/06 18:24:25
UTF-16が開けるエディタがあったら問題解決かもしれない。
この場合必ずビッグエンディアンになるんだろうか。それともCPUのエンディアン依存?

874:デフォルトの名無しさん
08/08/06 19:01:10
>>873
DataInput/DataOutputはビッグエンディアン。

875:デフォルトの名無しさん
08/08/06 19:36:13
javadocのコメント内容が変更できるAPIはあるでしょうか

876:デフォルトの名無しさん
08/08/06 19:44:10
エディタのタブ背景をプロジェクトによって色分けするプラグインありますか?
前半で似たような名前があるとタブを見ただけでは解かりにくくて。


877:デフォルトの名無しさん
08/08/06 19:58:03
DefaultMutableTreeNode を使って JTree を作っているのですが、
Node ごとにドラッグ&ドロップ許可/禁止させたいのですが、可能でしょうか?

878:デフォルトの名無しさん
08/08/06 20:22:16
できる

879:デフォルトの名無しさん
08/08/06 20:27:13
可能

880:877
08/08/06 20:30:16
orz
どの辺りを調べればよいのでしょうか?


881:デフォルトの名無しさん
08/08/06 20:42:36
TreeModel とか TreeModelListener とか

882:デフォルトの名無しさん
08/08/06 21:17:03
awtかSwingのDnDパッケージだろ

883:デフォルトの名無しさん
08/08/06 22:38:31
JAVAってeclipse以外でできますか?
地元ネット喫茶にてeclipse(JAVA)ができなくなってました。
なるべくならJDKの全varに対応してるアプリがうれしいのですが。

884:デフォルトの名無しさん
08/08/06 22:49:11
意味が解らん

885:デフォルトの名無しさん
08/08/06 23:45:44
jniで使用するnativeライブラリをjarの中に含めるなどして
java.library.pathにパスを追加せずにnativeライブラリを呼び出せることって出来るのでしょうか?
なるべく簡単且つすっきりと纏めれたらなぁと思いまして。。

886:デフォルトの名無しさん
08/08/06 23:50:37
>>865
jdk6というかjre6の方が圧倒的に速い

887:デフォルトの名無しさん
08/08/06 23:54:54
JAVAの再生方法を教えてください

888:デフォルトの名無しさん
08/08/07 00:18:58
Javaは再生しません

889:デフォルトの名無しさん
08/08/07 00:54:22
ファイルに出力するときに
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("tst.txt")));
という風にやっているのですが、出力が途中で切れてしまい、最後までファイルに出力してくれません。
・具体的には、ファイル1から文字列を読み込む
・文字列を加工してファイル2に出力
これをファイル1の最後まで行うのですが、pw.println(加工した文字列)では途中できれ、System.out.println(加工した文字列)
だと途中で切れずに最後まで出力します。
解決法を教えていただけないでしょうか・・・

890:デフォルトの名無しさん
08/08/07 00:57:01
closeしてないとか

891:デフォルトの名無しさん
08/08/07 01:00:01
>>889
終わったらちゃんとpw.close()してる?

892:デフォルトの名無しさん
08/08/07 01:03:54
レスありがとうございます。
closeはしてるのですが・・・ブツッと行の途中で切れます

893:デフォルトの名無しさん
08/08/07 01:54:58
closeは実際に実行されてる?
明示的にflushを実行した場合はどう?

894:デフォルトの名無しさん
08/08/07 02:29:03
JVMからJVMって起動出来る?


895:デフォルトの名無しさん
08/08/07 02:37:41
>>893
よくやっちまうのがこのパターン。
FileWriter fw = new FileWriter("tst.txt");
PrintWriter pw = new PrintWriter(new BufferedWriter(fw));
fw.close(); // これが余計
pw.close();

>>894
外部プロセスは起動できるのだから

896:デフォルトの名無しさん
08/08/07 03:24:00
JAVAでいらない周りの背景を透かすにはどうやればいいのでしょうか?
不必要な白い部分まで写ります。

897:デフォルトの名無しさん
08/08/07 04:18:37
最終的にフレームの下地が写るから透かすのはuN以降じゃないと無理じゃない?
コンポーネントの一部を透かしたいならSwingならできるけど。

898:デフォルトの名無しさん
08/08/07 08:38:55
>>885
JNI は最終的には Windows で言えば LoadLibrary 関数を呼ぶことになるので、jar の中に入れたままでは
不可能。
もしやりたいなら jar からテンポラリディレクトリに解凍(もしくはリソース読み込み)して、それを読み込ませる
ようにロジックを組まないとダメだと思う。

899:デフォルトの名無しさん
08/08/07 14:39:54
JFileChooserで得られるファイルが、
FILEオブジェクト固定であることに悩んでいます。
本当は、FileOutputStreamオブジェクトが欲しいのですが...。
file.getPathが返した値を、FileOutputStreamのコンストラクタに
指定するしかないでしょうか。

900:デフォルトの名無しさん
08/08/07 14:56:04
>899
JFileChooser を使って FileOutputStream を得る、
新しいクラスを作ったらどうでしょう

使いづらい道具は直せるのがプログラミングですよ
治具みたいなものです。

901:デフォルトの名無しさん
08/08/07 15:09:23
>>900
何か、思いっきり勘違いしていました。
FileOutputStreamのコンストラクタに
取得したFileオブジェクトを指定すればよいだけの話でした。
お騒がせしました。

902:デフォルトの名無しさん
08/08/07 15:24:31
JAIってどこでダウンロードできますか?

903:デフォルトの名無しさん
08/08/07 17:19:19
Java Web Startでのアプリケーションのインストール情報を管理するアプリケーションが標準でついてたと思うのですがどなたかご存じないでしょうか?

904:デフォルトの名無しさん
08/08/07 17:23:34
ネットビーンズとエクリプスは使い方がぜんぜん違いますか?

905:デフォルトの名無しさん
08/08/07 17:23:39
>>903
コントロールパネルでJavaを開いてインターネット一時ファイルの表示ボタンを押すと出るやつ?

906:デフォルトの名無しさん
08/08/07 17:35:01
>>905
意味合いは違ったようですがビンゴです
ありがとうございました!!

907:デフォルトの名無しさん
08/08/07 18:09:14
zipの中身表示するJFileChooser作ったときは意外と苦労したのにSwing Hacksに同じ事やられたorz

908:デフォルトの名無しさん
08/08/07 19:27:06
data.txtというファイルに読み書きするプログラムを作成しました。
このプログラムをダブルクリックだけで実行できるjarファイルにしたいのですが、
data.txtはjarファイルと別に用意しなければ実行できないのでしょうか?
jarファイルの中にdata.txtも含めて実行してみたのですが、
data.txtが見つからないと出ました。
data.txtをjarファイルのあるフォルダに置いておけば実行できました。

909:デフォルトの名無しさん
08/08/07 19:37:12
パスの指定の問題だろ。getResource[AsStreem]()ってメソッドを使うんだ。

910:デフォルトの名無しさん
08/08/08 02:21:52
actionPerformed内での挙動に関する質問です。
Maskクラスに値を詰め、それを利用したいのですが、

private Mask mask;

public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();


if(cmd.equals("Read")){
if(mask == null){
mask = new Mask();
}
mask = label.getValue();
}else if(cmd.equals("Write")){
System.out.println(this.mask.getValue());
}

としたときに、下の標準出力から「NullPointerException」
が返ってきます。maskのnewはできていると思うのですが…

万策尽きました。どなたかご教授くださいm(_ _)m

911:デフォルトの名無しさん
08/08/08 02:28:56
if(mask == null){
mask = new Mask();ここでnewしたのに
}
mask = label.getValue(); ここで代入してるのは何故?

912:デフォルトの名無しさん
08/08/08 02:36:58
String cmd = e.getActionCommand();

この間にMask mask;とかって行は無い?

if(cmd.equals("Read")){
 if(mask == null){
  mask = new Mask();
 }
 mask = label.getValue();
}else if(cmd.equals("Write")){
 System.out.println(this.mask.getValue());
}

"Read"の前に"Write"が実行されるとmaskはnullになるよ?

そもそも例外が出ているのはどこ?maskが問題なの?


913:デフォルトの名無しさん
08/08/08 03:07:23
デスクトップにJavaが全然普及しないのはSwingがヘッポコだからですか?

914:デフォルトの名無しさん
08/08/08 03:20:22
ネイティブな実行形式吐けないからだろ。

915:デフォルトの名無しさん
08/08/08 03:41:53
C#もVBもネイティブじゃ無いじゃん

916:デフォルトの名無しさん
08/08/08 04:07:30
MicrosoftNativeです

917:デフォルトの名無しさん
08/08/08 04:18:13
>>911,912
ちょっと簡易的に書きすぎました
MaskはTimerTaskを継承していて、裏で常に動いています。
で、これをStopさせたいのですが、このmaskオブジェクトにアクセスできない状態です。

調べたところ、maskは存在していますが、
Write側でmaskのアドレスを認識できないようです。

グローバル部分でnewするとそれはそれで問題がありなので、
この状況からWrite側のmaskオブジェクトを操作させる方法が欲しいところです。

918:デフォルトの名無しさん
08/08/08 05:51:46
ひどい情報の小出し。
肝心な部分を隠してどこが問題なのじゃないだろ。
maskの実装とTimerの起動箇所を隠さず出せ。

919:デフォルトの名無しさん
08/08/08 07:34:34
>>918 すまん。別のコードともごっちゃになってて自分でも意味不明。
最初から言い直します。
class tTask extends TimerTask{
public void run(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("ss's':mm'm':hh'h'");
MainPanel.pD.timeLabel.setText(sdf.format(date));
}
}
class actionUpdate implements ActionListener{
Timer ttimer;
tTask ttask;
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Start")){
if(ttask == null){
ttask = new tTask();
}
MainPanel.pB.startButton.setEnabled(false);
MainPanel.pB.stopButton.setEnabled(true);
ttimer.schedule(ttask,0,1000);
}else if(cmd.equals("Stop")){
System.out.println("Time task off");
this.ttask.cancel();
this.ttask = null;
MainPanel.pB.startButton.setEnabled(true);
MainPanel.pB.stopButton.setEnabled(false);
}

920:デフォルトの名無しさん
08/08/08 07:36:50
staticに作ったMainPanel上のボタンを押すとStart、Stopされる仕組み。
このとき、this.ttask.cancel()に対してNullPointerException発生。
しかしttaskのrunは動きっぱなし。
さてこれをどうやって止めればよいのか?という質問でした。

921:デフォルトの名無しさん
08/08/08 08:00:15
awtならかまわないけど、Swingとjava.util.Timerを使っています?
それならタイマーイベントはスレッドになるからTimerTaskのsetTextはまずい気がする。
Swingならなるべくswing.Timerを使った方が無難。


922:デフォルトの名無しさん
08/08/08 08:06:16
>>920
なんかいろいろ違いそうだが・・・。

「ボタンを押したら始まって、ボタンを押したら止まる。」
という仕掛けに、タイマが存在する理由は全くない。

タイマタスクは、実行内容をスケジュールと合わせて保持するだけで、
「実行中」「停止中」を切り替えるステートオブジェクトではない。
TimerTask#cancel()=次の実行時刻が来ても実行されないように、
キャンセルフラグを立てておくだけ。
今の実行状態を切り替えるためのものではない。

ヌルポはなにがnullなんか調べれば解決できるだろ。

923:デフォルトの名無しさん
08/08/08 08:29:24
MainPanelが謎のスタティックメンバーを持ってたり、
ActionListenerがメンバ持ってたりでかなりあれだな。
actionUpdateをどこかで作り直してるとかしてないだろうか。
それならヌルポになる。


924:デフォルトの名無しさん
08/08/08 08:38:44
AwtかSwingかアプレットで

いくつか画像があって、マウスが特定の画像の上に乗っている状態の時にその画像を変える(その画像から出たら元に戻す。)にはどうしたらいいですか?
(変化前と変化後の画像のサイズは同じ)

925:デフォルトの名無しさん
08/08/08 08:45:17
アプレットでは不可能な技術

926:デフォルトの名無しさん
08/08/08 08:47:03
>>924
1から10まで聞くつもりかよ

927:デフォルトの名無しさん
08/08/08 09:49:26
ただのマウスオーバーじゃん。mousemotion拾え

928:デフォルトの名無しさん
08/08/08 10:00:41
>>926
?
>>927
アプレット領域全部ではなく、特定の画像の上でのみイベントを発生させたいです。
将棋のゲームで、ある駒の上にマウスを持っていくと、その駒が移動可能なマスを薄い黒色でピカピカ点灯させるといった感じです。
画像じゃなくても、ボタンのようなオブジェクトに各駒の画像が表示できるならそれでもよいのですが


929:デフォルトの名無しさん
08/08/08 11:30:37
mouseMovedは座標を得られるからマウスが画像の上かどうかを判断できるし、
JButtonにImageIconを設定することもできるし、
画像を表示したJLabelにMouseListenerをつけることもできる

930:デフォルトの名無しさん
08/08/08 11:34:13
>>929
ありがとうございます。

931:デフォルトの名無しさん
08/08/08 11:35:35
mainメソッドとコンストラクタの違いは
main - VMが起動した時に呼び出される
コンストラクタ - クラスをインスタンス化した時に呼び出される
という理解でよろしいでしょうか?

932:デフォルトの名無しさん
08/08/08 11:39:35
よろしいですよ

933:デフォルトの名無しさん
08/08/08 11:45:34
>>932
ありがとうございます。

934:デフォルトの名無しさん
08/08/08 12:02:00
Javaにおいて、Stringは不変であるからObject.clone()は
実行する必要が無い。

これの実装に関して分からないことがあります。
Javaにおいては
1.protectedメンバは自身の属するパッケージ、
 または、所属するクラスのサブクラスからのみ
 アクセス(利用)できる。
2.全てのクラスはObjectクラスのサブクラス

と、認識しています。
ということは、Stringオブジェクトはclone()を実行できると
思ったのですが、protectedメンバなので利用できない旨の
コンパイルエラーが出力されます。
なぜでしょうか?

935:デフォルトの名無しさん
08/08/08 12:05:29
1は
所属するクラスのサブクラス<<の中>>からアクセスできる
ってこと
Stringクラスの外からはアクセスできない

936:デフォルトの名無しさん
08/08/08 12:20:41
javaでは継承でアクセス修飾子の範囲(特権)を広げる方向に変更ししてよい。
つまり継承したクラスではclone()をpublicにoverrideできる。
Object.cloneは特別なメソッドでoverrideする場合はCloneableインターフェイスを実装しなければならない。
CloneableはマーキングのみでcloneメソッドはあくまでもObject.cloneである。

937:934
08/08/08 12:21:46
なるほど・・・
ありがとうございます。

938:デフォルトの名無しさん
08/08/08 12:26:29
"A"のchar型は'A'ですが、"\n"のchar型は何ですか?
char c = ;

939:デフォルトの名無しさん
08/08/08 12:40:54
char c = '\n';

940:デフォルトの名無しさん
08/08/08 12:48:08
>>939
GJ

941:デフォルトの名無しさん
08/08/08 12:50:46
これだとエラーが出てしまうんですけど、どうしたらよいでしょうか

JButton[] bt = JButton[100]; //ここでエラー
for (int i=1; i<=100; i++)
{
bt[i] = new JButton(new ImageIcon("ohana.jpg"));
}


942:デフォルトの名無しさん
08/08/08 12:51:15
JButton[] bt = new JButton[100];

943:デフォルトの名無しさん
08/08/08 12:54:14
>>942
すいません。寝ぼけてましたっっ

944:デフォルトの名無しさん
08/08/08 15:29:05
String str = "hoge";
このときStringクラスのコンストラクタは一切呼ばれないのでしょうか。以前聞いたことがあって。
リテラル?を保持するなんかのクラスがあるのでしょうか。
あるとした場合、それはmain以降から呼ばれるクラスでアクセスできるのでしょうか?

945:デフォルトの名無しさん
08/08/08 16:33:07
>>944
呼ばれます。
"hoge"が使用される時に"hoge"に対応するデータがコンスタントプールから取り出され、
その情報を元にString型のインスタンスが生成されます。
その時にStringのコンストラクタも呼ばれます。

946:デフォルトの名無しさん
08/08/08 16:36:18
>>945
Stringのコンストラクタにでん部ブレークを張りましたが、決して呼ばれなかったです。
new String(chararray);とかすれば呼ばれますけど。"hoge"でどのコンストラクタが呼ばれますか?
ちなみに1.6です。

947:デフォルトの名無しさん
08/08/08 16:40:52
Stringはランタイムに組み込まれてるからそんなこと考えるのは無意味だよ

948:デフォルトの名無しさん
08/08/08 16:48:59
気になるなら、javap してみりゃいいよ。

   5:   ldc             #2; //String hoge
   7:   putfield        #3; //Field str:Ljava/lang/String;

これだけだね~

949:デフォルトの名無しさん
08/08/08 18:02:27
BufferedImageに任意の大きさに拡大縮小した画像を読み込むにはどうすれば良いのでしょうか?


950:デフォルトの名無しさん
08/08/08 18:07:54
Graphics g = bufferedimage.getGraphics();
g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();

951:デフォルトの名無しさん
08/08/08 18:11:36
iteratorでまわし途中で、iterator生成もとのリストを削除する方法ってありますか

952:デフォルトの名無しさん
08/08/08 18:15:36
Iterator#remove

953:デフォルトの名無しさん
08/08/08 18:24:33
>>950
レスありがとうございます。
えっと拡大縮小した画像を描画するのではなく、
その画像の高さや幅やRGBを取得して他の処理に用いたいので
BufferedImage bi=~
みたいにBufferedImageのインスタンスに拡大縮小した画像を読み込みたいのです。

954:デフォルトの名無しさん
08/08/08 18:29:30
欲しいサイズのBufferedImageを作って、その作ったBufferedImage上に描画すればいいだろ
BufferedImage bi = new BufferedImage(任意の幅, 任意の高さ, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();

955:デフォルトの名無しさん
08/08/08 20:57:09
>>954
今までGraphicsってpaintとかpaintcomponentとかで
引数として既知な感じで扱っていたのでよく理解してなかったですが、
これで描画対象をメモリ上のBufferedImageに出来るんですね。
なんかBufferedImageのコンストラクタって引数にImageとかが無いから
今までどう使うものか分からなかったけど、おかげさまでやりたい処理が出来ました。
ありがとうございます!><

956:デフォルトの名無しさん
08/08/09 00:41:50
テキストファイルにコマンドライン引数で入力したデータを書き込みたいのですが
現時点ではテキストファイルにまでは辿りつくけど文字を記入することができない状態です
修正箇所と修正の仕方を教えてください

mport java.util.*;
import java.io.*

public class A23_StrArray extends A22_StrArray
{

public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist

File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成

//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}

System.out.println("ファイルに書き込みました。");
fw.close();
}
}

957:デフォルトの名無しさん
08/08/09 00:42:59
//実行クラス
mport java.io.*;
import java.util.*;
pubic class A23_exec
{
public static void main(String args[])
{
A23_StrArray list = new A23_StrArray();

//書き込み処理
if(inputData.equals("12"))
System.out.println("取得内容?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);
}

private static String input()
{
//入力用オブジェクト
BufferedReader cinBuff = new BufferedReader(new InputStreamReader(System.in));
//コンソールからの文字入力
try
{
//入力用オブジェクトが文字入力を受付、それをStringクラスに代入
return cinBuff.readLine();
}
catch(IOException e)
{
System.out.println("IOExceptionエラー発生!!");
}
}
}

958:デフォルトの名無しさん
08/08/09 00:46:05
//書き込み処理
if(inputData.equals("12"))
System.out.println("ファイル名は?");
inputData = input();//コマンドラインからの入力
System.out.println("書き込むデータは?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);

一部修正。正しくはこうです
家のPCにエクリプスが無くてインデントとかおかしい部分もあると思いますが
勘弁してください

959:デフォルトの名無しさん
08/08/09 01:04:28
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist

File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成

//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}

めちゃくちゃじゃないか。

960:デフォルトの名無しさん
08/08/09 01:10:36
そのコードのどこでlistに値を詰めているのか教えて欲しい

961:958
08/08/09 01:37:34
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist

File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成

String str;

str =

//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));

list.add(str);
}


strを初期化できれば行くんでしょうか?
どうすれば初期化できるかわからない

962:デフォルトの名無しさん
08/08/09 01:43:14
初期化の方法。
String str = null;
もしくは
String str = "";;

963:デフォルトの名無しさん
08/08/09 01:43:22
なんという名前のテキストファイルに、どういう文字列を書き込みたいのか、まずはそれを説明してくれ

964:デフォルトの名無しさん
08/08/09 01:44:18
//リストの要素が無くなるまでループ
答え: リストに要素はありません><

965:958
08/08/09 01:48:24
>>962
ありがとうございます。それで試してみます

>>963
あらかじめCドラの直下にテキストファイル(仮にabc.txtする)を置いておいて
最初の引数を入力時にc:\ abc.txtで指定した後に
次の引数でファイルに書き込みたいんです

966:958
08/08/09 01:51:34
日本語的におかしいので訂正

最初の引数を入力時にc:\ abc.txtと入力して指定した後に
次の引数で書き込む文字列を入力したい

967:デフォルトの名無しさん
08/08/09 02:04:04
>>966
引数…?Arraylist list=new Arraylist…?
全体を通して頭狂ってるだろ。


968:958
08/08/09 02:13:42
>>967
>Arraylist list = new Arraylist

この行はいらないのかな?

エクリプスが家にあれば自分でもおかしいってことがわかると思うんですけどメモ帳だと厳しい
出直してきます。
お手数おかけして申し訳ございませんでした
でも初期化の方法がわかっただけでも助かりました

969:デフォルトの名無しさん
08/08/09 02:15:04
>>956
public static void main(String args[])throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("ファイル名入力>>");
String file=br.readLine();
System.out.println(filename);
FileWriter fw=new FileWriter(file);
System.out.println("書き込むデータは?");
fw.write(br.readLine());
br.close();
fw.close();
}

なんか書いてくれたコードが不明だが、やりたいのはこういうことじゃなくて?

970:969
08/08/09 02:17:19
>System.out.println(filename);
前に書いてたコード消し忘れ。これはナシで。

971:958
08/08/09 02:26:53
>>969
やりたいこととしてはそんな感じなんですけど
メインクラスの実行文から呼び出してサブクラスにあるBufferedReaderやFileWriterを使いたい

972:デフォルトの名無しさん
08/08/09 02:54:04
>>971
これだけおかしいのにeclipseが無いと分からないのは初心者未満すぎるので、
人に聞く前に初心者用の本で勉強してください。
まずは引数やサブクラスの意味、それと掲示板で聞く際の常識から。

973:デフォルトの名無しさん
08/08/09 06:17:06
中堅企業以上の場合
ふつう公開されている初任給データに家賃補助は含まれてませんよね?

974:デフォルトの名無しさん
08/08/09 07:15:01
初任給なんて大手から零細までどこも18~20万 院卒は+2

975:デフォルトの名無しさん
08/08/09 07:46:49
なんか、複雑な気持ちです。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

アキバ殺傷事件の献花台がホームレスのエサ場に!
URLリンク(www.tanteifile.com)

976:デフォルトの名無しさん
08/08/09 13:54:37
というかIDE関係ないだろ。

977:デフォルトの名無しさん
08/08/09 15:44:45
SJC-P の試験ですが、試験コード(?)を書くときは、
「310-055J」と「310-055」ではどちらが正式な書き方ですか?
(最後に「J」を付けるべきかどうかってことです。)

978:977
08/08/09 17:02:48
自己解決しました。

URLリンク(suned.sun.co.jp)

こことか

URLリンク(www1.prometric-jp.com)

ここ見るとJはいらないみたいですね。
お騒がせしました。

979:デフォルトの名無しさん
08/08/09 19:42:54
HttpUnitでinnerHTMLはサポートされているのでしょうか?
document..getElementById('***').innerHTML = "***";
こんな感じのスクリプトを実行させても、実行できたというtrueは返って来ますが、何が変化したのかさっぱりで・・・
どなたか分かる方よろしくお願いします。

980:デフォルトの名無しさん
08/08/09 19:58:56
コンテンツ産業はGDPの2%、ゲームはその中で更に極僅かな一部分だからな。
産業としてみれば、音楽産業ですら豆腐産業とほぼ同じ市場規模(年間約5000億円)でしかない。


981:デフォルトの名無しさん
08/08/09 20:36:07
どこの誤爆だ?

982:デフォルトの名無しさん
08/08/09 22:23:27
innderHTMLはJavaScriptですね、わかります

983:デフォルトの名無しさん
08/08/09 22:38:52
いやそれは分かってますよ。
JavaScriptはRhinoでサポートされてます。
ですがHttpUnitでの実行のサポートがされているのか気になっているんです。

984:デフォルトの名無しさん
08/08/09 22:46:40
海外のフォーラムに全く同じ質問がある。ググれカス

985:デフォルトの名無しさん
08/08/09 22:56:13
あんがと!解決したっちゃ!

986:デフォルトの名無しさん
08/08/10 03:27:40
JavaでWindowsやLinux上で動くアプリケーションソフトを製作する場合、
どのようにして配布をするのでしょうか?

987:デフォルトの名無しさん
08/08/10 05:41:41
jarで固める

988:デフォルトの名無しさん
08/08/10 12:49:09
J#

989:デフォルトの名無しさん
08/08/10 13:19:25
>>988
スレ違い

990:デフォルトの名無しさん
08/08/10 15:05:56
Visual Web JSFで
データベースのデータをフィルタリングしながら取得するには
RowSet←FilterdTableDataprovider←ValueBindFilterCriteria
で良いんでしょうか
フィルター条件そのものをどこでコントロールすればいいのかも
分からないので
ついでに教えてください

991:デフォルトの名無しさん
08/08/10 16:05:11
javaでwindowsのWaitForSingleObjectのようなメソッドはあるでしょうか。
特定のイベントが発生するまでのスレッドを待機させ、
イベント発生時にスレッドが自動的に動作するようにしたいのです。


992:デフォルトの名無しさん
08/08/10 16:13:55
もうちょい低レベルの同期手段もあるが、まずは基本のモニターを使いこなそう。
synchronized(Object)
Object.wait / notify / notifyAll
Thread.interrupt


993:デフォルトの名無しさん
08/08/10 16:29:26
印刷処理のように、単純にイベントが発生した時点でスレッドを起動させるので済むって話ならば、待機とかやる必要はないぞ。

994:デフォルトの名無しさん
08/08/10 16:53:40
waitで待機しているスレッドが再び動作するには、
誰か別のスレッドにnotifyを呼び出してもらう必要があると思っています。
notifyを明示的に呼ぶのではなく、
ボタンが押されたら自動的にスレッドが動作するようなことを
したいのですが、できるものでしょうか。

995:デフォルトの名無しさん
08/08/10 17:08:14
JSF(index.jsp)で、テキストボックスに、"foo"と入力して、
フォーム送信したとき、result.jspに飛んで、それ以外が入力された時、
result2.jspに飛んで、未入力でフォーム送信した時、index.jspで、"入力してください。"
という処理をするには、どのようなJSPと、faces-config.xmlと、モデルを書けばいいんでしょうか。
おしえてください。

996:デフォルトの名無しさん
08/08/10 17:12:03
join();

997:デフォルトの名無しさん
08/08/10 17:30:06
>>994
WaitForSingleObjectもそんな機能はないよ
ボタンが押されたらnotifyすればいいじゃん

998:デフォルトの名無しさん
08/08/10 17:32:14
>>994
Notifyを明示的に呼ぶのとWaitForSingleObject使うのにそんなに差はないような。
何をやりたいのかよくわからないが、スレッドプールが向いてるのかも。
それならコンカレントAPIにいろいろある。

999:デフォルトの名無しさん
08/08/10 17:34:38
どんな目的のスレッドをwaitしてんだ?

1000:デフォルトの名無しさん
08/08/10 18:18:14
むしろ次スレをwaitしてるよ

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch