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

【初心者】Java質問・相談スレッド69【大歓迎】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/07/22(金) 09:43:52
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath

前スレッド
【初心者】Java質問・相談スレッド68【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1119115837/l50

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/

次スレは>>980あたりでお願い.....
0951デフォルトの名無しさん2005/08/20(土) 22:25:17
>>946
まず最初に「わからないことを自分で調べる」という心構えが必要です
その心構えを身に付け、それにしたがって行動するところからはじめてください
0952デフォルトの名無しさん2005/08/20(土) 22:27:19
間違ってゴミ箱に入れていたデータを消してしまいました、直す方法って無いですか?
0953デフォルトの名無しさん2005/08/20(土) 22:30:01
>>952
あります。ただし、内容的にJavaに関するものではないので回答できません。
0954デフォルトの名無しさん2005/08/20(土) 22:30:07
>>951
つうか、質問すれなのに調べろって可笑しいんじゃない?
知らないなら知らないって言えばいいのにねw
0955デフォルトの名無しさん2005/08/20(土) 22:31:53
>>954
可笑しいかもしれないけど
間違った事は行ってないと思うよ

「何が必要でしょうか」なんて曖昧な質問には
「時間」とか「根気」とかみたいな回答もあるだろうし
0956デフォルトの名無しさん2005/08/20(土) 22:35:55
>>955
だから、知らないのにカッコつけてるだけでしょ?
0957デフォルトの名無しさん2005/08/20(土) 22:36:13
そこを何とかお願いします、消したく無かった物なんです、
何処で聞けば良いんですか?
0958デフォルトの名無しさん2005/08/20(土) 22:37:33
>>956
引用と強調のためにカッコつけてます
0959デフォルトの名無しさん2005/08/20(土) 22:38:16
>>957
ここではないです。何処で聞けば良いかについては、内容的にJavaに関するものではないので回答できません。
0960デフォルトの名無しさん2005/08/20(土) 22:42:48
つーか、消したら無理でしょ絶対
できるわけ無い
そんな技術が存在するわけない
0961デフォルトの名無しさん2005/08/20(土) 22:43:58
>>960
ホームラン級のバカが降臨しますた
0962デフォルトの名無しさん2005/08/20(土) 22:49:22
>>960
なんでPCとかを廃棄処分するときにHDDとかは物理的に徹底的に破壊する事が
推奨されるのかを考えろ。

ごみ箱から消したり、HDDをフォーマットしただけでは、データは残っている。
この状態からデータを復旧させるツールとかも普通に存在する。

また、物理的に”徹底的”に壊す理由は、破壊されたHDDからデータを抽出させるというサービスも
世の中には存在する。(当然値段は馬鹿高い。1GBで100万以上掛かる)
だから、こういったサービスでもデータを復旧されないように徹底的に壊す必要がある。
0963デフォルトの名無しさん2005/08/20(土) 22:51:48
>>961
空気の読めないケツ毛にこびりついたトイレットペーパーのカスが降臨しますた
0964デフォルトの名無しさん2005/08/20(土) 22:53:56
>>963
「こびりついたトイレットペーパーのカス」―[降臨]→「空気の読めないケツ毛」 という関係?
0965デフォルトの名無しさん2005/08/20(土) 22:56:24
たぶん >>952 の問題は >>962 が言ってるようなレベルの問題じゃなくて
無料で簡単に解決できるレベルの問題なんだろうけど
残念ながら内容的にJavaに関するものじゃないから回答できないよな。
09669612005/08/20(土) 22:58:38
>>962
>なんでPCとかを廃棄処分するときにHDDとかは物理的に徹底的に破壊する事が
>推奨されるのかを考えろ。

>ごみ箱から消したり、HDDをフォーマットしただけでは、データは残っている。
>この状態からデータを復旧させるツールとかも普通に存在する。

>また、物理的に”徹底的”に壊す理由は、破壊されたHDDからデータを抽出させるというサービスも
>世の中には存在する。(当然値段は馬鹿高い。1GBで100万以上掛かる)
>だから、こういったサービスでもデータを復旧されないように徹底的に壊す必要がある。

>>959において教えてくれない雰囲気になったので
大抵教えてくれないことは こうやって煽ると教えてくれる
さんきゅ〜

>>961
まぁ、その「ホームラン級」に疑問を抱かないおまいらがまんまとひかっかったわけだ
0967デフォルトの名無しさん2005/08/20(土) 22:58:56
わかりました、消したデータは諦めて、また初めから入れます、俺の質問なんかに数レスもありがとうございました。
0968デフォルトの名無しさん2005/08/20(土) 23:02:47
>>966
>>961 が >>961 自身にレスしてるみたいだが大丈夫か?
0969デフォルトの名無しさん2005/08/20(土) 23:05:17
ごみ箱、復元とかで検索し。
0970デフォルトの名無しさん2005/08/20(土) 23:14:19
以上 >>952 の自作自演でした
09719482005/08/21(日) 00:08:49
>>>948
>>で、943の例ではsが「指し示す」オブジェクトが"かきくけこ"になっただけで
>>もともとの"あいうえお"は「変更されずどこかに残ったまま」なんですよ。
>
>残ったままというのは問題あるのでしょうか?
>GCで勝手に開放されるのでは?
>それとも明示的に開放するのでしょうか?

残ったままというのは説明の都合であって、当然参照されなくなればGCされます。
言いたいのは"あいうえお"というオブジェクトは変更されてないということ。
0972デフォルトの名無しさん2005/08/21(日) 00:44:23
>>926
System.out.print() 使って出力した文字数分 '\b' を出力せれ。
0973デフォルトの名無しさん2005/08/21(日) 00:51:06
>>972System.out.print() 使って出力した文字数分 '\b' を出力せれ。
あ、成功した?
おれそれやってダメだったんだけど・・・
0974デフォルトの名無しさん2005/08/21(日) 00:53:28
>>972
漢字とか使ってると「文字数」か「バイト数」か環境依存だったりで面倒そうな予感。
0975デフォルトの名無しさん2005/08/21(日) 00:54:49
ま、質問者の構成からいくと 自分で使う文字コードはわかっているはずなので
それほど問題になら無そうだ
0976デフォルトの名無しさん2005/08/21(日) 00:59:56
>>950
>String s = new String("あいうえお");

リテラルの"あいうえお"のほかに
もう一個"あいうえお"を表すオブジェクトが作られないか?
0977デフォルトの名無しさん2005/08/21(日) 01:02:13
>>973
環境は? ( ̄ー ̄)
0978デフォルトの名無しさん2005/08/21(日) 01:14:58
>>977
今確認したんだけど
上手くいかなかったときはEclipseのコンソール上だと\bは[]って表示されてしまう(いわゆる文字化け?)
Winのコマンドプロンプトでやったら上手く行ったよ
0979デフォルトの名無しさん2005/08/21(日) 01:16:49
で、それを踏まえて自分が最初提案した\rのやつを試したら
OKだったので\rでよいでしょう
0980デフォルトの名無しさん2005/08/21(日) 01:19:04
あーでも今気付いた
\rだと、

うどんたべる」のあとに
うんこ」を表示すると
うんこたべる」になってしまうので
やはり\bのほうがいいか
09819112005/08/21(日) 01:43:53
>>911はできませんか?
0982デフォルトの名無しさん2005/08/21(日) 01:51:47
>>911
できる
でも、その表示した文字のまわりを囲むように線を引くような
便利なものは用意されていないと思うので自分で書くことになる

とりあえず線を引くことはdrawLineメソッドでできるよね
固定文字なら線も固定で書けばいいんだけど、おそらくそうではないだろう
たぶん問題となるのは、表示する文字列がどのくらいの長さか高さなのか調べる必要がある
これにはFontMetricsクラスを使う
あとはAPI見ればわかると思う
0983デフォルトの名無しさん2005/08/21(日) 01:53:54
書きたい文字列を一回り大きくして色を変えたものを最初に描画して、
その上にターゲット文字列を上書きすれば?
0984デフォルトの名無しさん2005/08/21(日) 01:56:00
>>982
>>983
いやいやいや
Graphics2D当たり使えば出来たと思うよ、俺の記憶では
ちょっとサンプルひっぱってくるよ
0985デフォルトの名無しさん2005/08/21(日) 01:56:46
>>972
漢字1文字は "\b" 1つで良いのか?
端末によって違うと思うのだが。
0986デフォルトの名無しさん2005/08/21(日) 02:02:10
つーかJDKのデモ入ってればみれるよ
%JAVA_HOME%\demo\jfc\Java2D\Java2Demo.html
これのFontタブ
09879112005/08/21(日) 02:02:27
http://www.uploda.org/file/uporg174266.png
こういうことがしたいです。
0988デフォルトの名無しさん2005/08/21(日) 02:09:32
>>911
こんなのどうかな。
g.setColor(Color.black);
g.drawString(s, x, y + 1);
g.drawString(s, x + 2, y + 1);
g.drawString(s, x + 1, y);
g.drawString(s, x + 1, y + 2);
g.setColor(Color.white);
g.drawString(s, x + 1, y + 1);
0989デフォルトの名無しさん2005/08/21(日) 02:09:54
>>985
試してみました、質問者の場合は自分で表示する文字コードがわかっているとしています
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Test {
public static void main(String[] args)throws Exception {
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("text.txt"),"Windows-31J"));
String line=null;
while((line = br.readLine())!=null) {
System.out.print(line);
Thread.sleep(3*1000);
int length=line.getBytes("Windows-31J").length;
for(int i=0;i<length;i++) {
System.out.print('\b');
}
}
br.close();
}
}
0990デフォルトの名無しさん2005/08/21(日) 02:11:28
>>911
>>987
0991デフォルトの名無しさん2005/08/21(日) 02:12:50
囲むように線とか Graphics2D とか、おまえら想像力が足りんよ。

>>981
黒字で上下左右 1 ピクセルずつずらして文字を描画。その後希望の色で
文字列を描画すればふち付きの文字になる。
0992デフォルトの名無しさん2005/08/21(日) 02:15:33
>>991
いいたいことは山ほどあるが
次スレで勝負だ
0993デフォルトの名無しさん2005/08/21(日) 02:20:05
>>985
文字を消すとか言う時点で状況依存が大前提だばかもの。
エスケープシーケンス薦めなかっただけマシだと思え。
09949112005/08/21(日) 02:20:54
レスありがとうございます。
>>986
このデモすごいですね。
今ソース読んでます。
>>988
なるほどこういう書き方もあるんですね。勉強になります。
>>991
いいたいことは山ほどあるが
次スレで勝負だ
09959912005/08/21(日) 02:35:10
こんなかんじか?しらんが
public class Clip extends JFrame{
public static void main(String[] args) {
Clip clip=new Clip();
clip.setSize(300,300);
clip.getContentPane().add(new P(),BorderLayout.CENTER);
clip.setDefaultCloseOperation(EXIT_ON_CLOSE);
clip.setVisible(true);
}


}
class P extends JPanel {
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
Font f=new Font("MS ゴシック",Font.PLAIN,50);
AffineTransform tf=AffineTransform.getTranslateInstance(0,100);
FontRenderContext fctx=g2.getFontRenderContext();
GeneralPath gp=new GeneralPath();

TextLayout layout=new TextLayout("これが2Dの魅力",f,fctx);
Shape line=layout.getOutline(tf);
gp.append(line,false);
g2.draw(line);
}}
09969912005/08/21(日) 02:38:23
>>911

あのさぁ
>>988の書いている事って
>>991と同義じゃない?
0997デフォルトの名無しさん2005/08/21(日) 02:39:51
だからなんだよ。
自己主張ばっかりしてないで、コードのひとつでも書いてみろよ。
09989912005/08/21(日) 02:40:50
だから書いたじゃん バカ
0999デフォルトの名無しさん2005/08/21(日) 02:40:53
>>994
他にも、
Grapchis2D graphics2d = 適当に;
Font font = 適当に;
Shape shape = font.createGlyphVector(graphics2d.getFontRenderContext(), "text").getOutline(x, y);
graphics2d.setStroke(new BasicStroke(縁取りの太さ));
graphics2d.setColor(外側の色);
graphics2d.draw(shape);

graphics2d.setColor(中身の色);
graphics2d.fill(shape);

とかでも出来る。
10009972005/08/21(日) 02:41:23
う、リロードせずにレスしてしもた。今のなし。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。