【初心者】Java質問・相談スレッド93【大歓迎】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2006/10/22(日) 13:42:10質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
前スレッド
【初心者】Java質問・相談スレッド92【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1159700963/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0809ぴゅあ
2006/11/17(金) 07:33:06サーブレットを使っていたりする環境ということなんでしょうか?
それともJavaScriptやSSI/CGIとかで済むものなんでしょうか
まずそのHPがどういうものかを確認してみるのと
まずはWeb関連の板(ある筈よね?)とかで聞いてみるのがいいんじゃないかと
0810ぴゅあ
2006/11/17(金) 07:51:32>所有している参考書にも詳しく載っていない
"何が"でしょうか
やろうとしていること、そのままズバリの答えだとすれば
それは参考書とかに書いてあるものではなくて
自分で考え出すことだと思いますけど…
>〜7654321といった感じで
>数字を出力
や
>またその中から一番大きな数と小さな数
とかいったようなところも、どうしたいのかよく解らなかったりしますけど。。。
提示されたコードを元にというところからすると
・まだ再帰処理がよく理解できていない
・ループ処理というものが理解できていない
とも推測されたりしてしまうのですけど
まずはそれらを理解する必要があるということを
意味しているのでしょうか
たぶんまずは
>int sum = i;
の後でiの値を表示してみる
或いはまた
>return sum;
の前でsumの値を表示してみる
とかをやってみるのがいいのかも知れませんね
0811ぴゅあ
2006/11/17(金) 07:56:23iBatisとやらもlog4jも使ってないので判らないですが
"iBatis log4j"とかでググッてやると出てきそうでもありますけど
0812デフォルトの名無しさん
2006/11/17(金) 08:11:59"java.sql.PreparedStatement"をカテゴリ名に使うのはかなり紛らわしいので
オススメしかねるとはいえ、設定はよさそうに見えるけど。
ログ出力する部分のコードはどうなってる?
>>811
わからないなら、あまりトンチンカンな答えをしない方がいい。
質問者は、iBatisとはあまり関係のない問題で詰まっているから。
「判らないですが」「出てきそうでもありますけど」と断言していないから・・・
と思うのかも知れんが、
聞く方は必死なので"iBatis log4j"で一生懸命ぐぐったりしてしまう。
混乱させてしまうよ。
0813808
2006/11/17(金) 08:18:18レスありがとうございます。分かりにくい文章で申し訳ありませんでした。
再帰を利用したプログラムの練習をしているのですが、
所有している参考書にこの部分が詳しく載っていない(アルゴリズム的なところはかじる程度しか載っていません。)ので、
再帰のプログラムを組む場合、どのようにして組めば良いのか掴めていません。
それはさておき、
このコードの場合、int sum = i; となっていて、if文にかかるのですが、if文の条件からそれるまで、
繰り返され、自分の組んだコードでは、最終的な数値結果しか出力されないようにしているのですが、
その数値に辿りつくまでの過程数値を、〜7654321といった風に出力されるようにしたいのです。
この場合、i-2なので5、3、1、3、4、9と表示されるのですが、sum + add(i-数値);、if (i > 数値)を変えても、
7654〜といった階段状には出力されず、困っています。
さらにこの場合、最小値は1、最大値は9なので、
出力結果としては、
The result of adding numbers from 1 to 5 is 9.
Recursion numbers are 5 3 1 3 4 9.
Max number is 9. Min number is 1.
といった感じで出力されるようにしたいです。
0814ぴゅあ
2006/11/17(金) 08:28:55>この場合、i-2なので5、3、1、3、4、9と表示される
というのは判っているのですよね
であれば
>Recursion numbers are 5 3 1 3 4 9.
を出すためにそれを何処かにしまっておく
>Max number is 9. Min number is 1.
も同様にしまっておく(前者@しまっておいたものから取り出すという手もありはするけど…)
そしてそれらを
>The result of adding numbers from 1 to 5 is 9.
を出すときに一緒に出力するように考えてみるとかすれば?
0815ぴゅあ
2006/11/17(金) 08:33:37追記
>Max number is 9. Min number is 1.
の1や9が意味するところは
やっている処理との繋がりはよく解らなかったりしますけどね
(それとは別に数の並びから最小値/最大値を求めたいということなのか…)
0816デフォルトの名無しさん
2006/11/17(金) 10:31:53今研究でjavaを勉強しているのですが
「スプライン関数、ベジェ曲線を使ってフォント生成」
をやろうとしているのですが、どうやれば良いのかよく分からない状態です。
何か参考になるようなソースなどはあるのでしょうか??
意味不明な質問して申し訳ないです・・・
0817デフォルトの名無しさん
2006/11/17(金) 11:52:09スプライン関数、ベジェ曲線から分からないのだとすると
恐らく研究レベルではないので宿題スレ行きですが・・・・
グリフの生成ではなくて、フォントを生成するということは
フォントの自動生成のような研究ってこと?
スプライン関数とかベジェ曲線の実装ソースはググればいくらでも出てくるから
わざわざ書かないけど、フォントの自動生成とかはどんな研究なのか気になる・・・
まあ研究骨格部分だとしたらロジックは転がってないだろうからその部分は真面目に
Java勉強して実装するしかないんだろうね・・・
0818デフォルトの名無しさん
2006/11/17(金) 12:14:06sunで公開してるATOMがうまく解析できません。
解析できない箇所は、「[コミュニティ] Sun&Users ...」のように、
ノード内に "]" がある箇所です。
これがあると、オーバーライドしたcharacters()メソッドには、
1. [コミュニティ
2. ]
3. Sun&Users ...
と、3回に分かれて入ってきます。
こうなる以上はこれに対応するしかないのですが、
XMLでは、"]" とか "[" に特別な意味があるのでしょうか?
他にも影響があるかもしれないので、
もし特別な意味があるのであれば教えて下さい。
sunのATOM
http://jp.sun.com/whatsnew/atom10.xml
0819デフォルトの名無しさん
2006/11/17(金) 12:41:54単独では意味を持たないけど、
XMLのCDATAセクション(<![CDATA[ 〜 ]]>)で"["と"]"を使ってる。
ただ、SAXの仕様上は、一連の文字列であっても
複数回のcharacters()呼び出しに分かれてContentHandlerに
通知されるんじゃなかったっけ。
javadocに
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/org/xml/sax/ContentHandler.html#characters(char[], int, int)
> SAX パーサは、連続する文字データを単一のチャンクとして、
> またはいくつかのチャンクに分割して返します。
ってあるし。
だから3回のチャンクに分かれて入ってくることを
想定していないプログラムは誤りだと思う。
そういえば、昔XercesでSAXプログラム書いたときに、同じところでハマったっけな。
0820デフォルトの名無しさん
2006/11/17(金) 12:42:24「]]>」に特別な意味があるので、そのチェックのために分割されてし
まうんだろう。characters()がどこで切れるかはパーザの裁量なので、
特別かどうか気にしてもまったく意味ない。
改行とか、実体参照とか、文字参照でも切れると思うよ。内部のバッファ
のサイズでも切れるかもしれない。
0821デフォルトの名無しさん
2006/11/17(金) 12:46:36レスありがとうございます。
当初はフォント自動生成のソフトを作成する目的だったのですが、
javaを全く知らない状態からだったので指向を変えて今は
スプライン関数、ベジェ曲線を使って、例えば「あ」とか「a」といった文字を
表現しようと取り組んでいます。
本当は1からプログラム作成したいと考えていたのですが、現段階では勉強足らずでできなさそう
なので817さんのおっしゃる通りソースをググるなりしてがんばっていきたいと思います。
2,3月までに自動生成ソフトをを作れるようにもっとjavaを勉強したいと思います。
無理かもしれませんが・・・^^;
0822デフォルトの名無しさん
2006/11/17(金) 12:52:20もっと根本的な部分の骨格なんかを定義して、そこから生成とかだと難しそう。
興味あるけど。
スプラインとかベジェなんかは、あまりにボリュームが大きすぎるから
頑張って勉強しるとしか言えない。
0823デフォルトの名無しさん
2006/11/17(金) 13:07:26String tmp = "";
BufferedReader input =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("内容を入れてください");
while(true) {
tmp = "";
tmp = input.readLine();
if(tmp != null) {
str = str + tmp;
continue;
}
break;
}
という構文は使えないのでしょうか?
どうしてもif判定でtrueの条件しか実行してくれません。
while(true) {
tmp = "";
if((tmp = input.readLine()) != null) {
str = str + tmp;
continue;
}
break;
}
としてもどうにも動きませんでした。
よろしければご教授くださいませ。
0824デフォルトの名無しさん
2006/11/17(金) 13:07:59イメージとしてはこのサイトの真中あたりの図のように作成していこうと考えています。
英語ばかりで何書いているかあまり分かりませんが・・・^^;
http://www.truetype-typography.com/ttoutln.htm
現段階ではこの図のように作成するにはどうプログラムを組んでいけば良いのかを
勉強しているところです。
0825デフォルトの名無しさん
2006/11/17(金) 13:10:56OSは何で、プログラムを実行したときにどうやって入力してる?
0827デフォルトの名無しさん
2006/11/17(金) 14:07:14"" は null ではない。
あとString の比較には .equlals()を使うべじ。
0828デフォルトの名無しさん
2006/11/17(金) 14:57:450829823
2006/11/17(金) 15:00:14>>825
OSはXPSP2です。
コンソール上に内容は?と表示されたらてきとうにaaaaのように入力します。
何行か入力したら何も入力せずにEnterを押しますが終了せずに
入力できる画面のままになってしまいます。
>>827
Stringはオブジェクトなんですか。
否定演算子をつける部分がわからずにこう入力してみました。
nullの扱いがいまいち…。
nullと代入してみましたがそれでもどうもうまくいきません。
while(true) {
tmp = null;
tmp = input.readLine();
if(tmp.equals(null)) {
break;
}
str = str + tmp;
continue;
}
0830デフォルトの名無しさん
2006/11/17(金) 16:23:49A. 何も入力しないでEnterしたら入力終りにしたい
B. 入力がEOFになったら入力終りにしたい
どっち? プログラムはBになってる。
Aにしたかったら、
while ((tmp = input.readLine()) != null) {
if (tmp.length() == 0) // Enterのみ入力の場合は
break;
str = str + tmp;
}
とする。
0831デフォルトの名無しさん
2006/11/17(金) 17:10:280832デフォルトの名無しさん
2006/11/17(金) 20:01:26と思ったのですが、なりませんでした。どうすればスクロールバーがついた
テキスト欄になるんですか?何をかえればいいんですか?
JPanel p1 = new JPanel();
JTextArea tx1 = new JTextArea();
JScrollPane scrollPane = new JScrollPane();
scrollPane = new JScrollPane(tx1);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(200, 100));
p1.add(scrollPane);
getContentPane().add(p1);
0833832
2006/11/17(金) 21:46:23引数にクラスの名前を取ってそのインスタンスを生成する方法てありますか?
例えばクラス TMがあって
java TM RU
っていう風に引数にRUっていうクラスの名前を取ると、RUのインスタンスを
生成するようにこれではダメなんですねよね。コンパイルが通りませんでした
arg[0] tt = new arg[0];
で引数にとったクラスのインスタンスが生成できるかな?っ手思ったんですが
できませんでした。
0834デフォルトの名無しさん
2006/11/17(金) 21:51:30Object tt = Class.forName(argv[0]).newInstance();
0835832
2006/11/17(金) 22:05:090836829
2006/11/17(金) 23:22:05レスありがとうございます。
Aの方でした。
EOFとは文章の最後につく奴ですよね?
あまりくわしくわかりませんが…。
おかげさまで無事に成功いたしました。
本当にありがとうございます。
0837デフォルトの名無しさん
2006/11/17(金) 23:24:100838ぴゅあ
2006/11/18(土) 00:05:00>EOFとは文章の最後につく奴ですよね?
必ずしも付くとは限らないけど
この場合は入力が終わることを示すために入力する(>>837の意)
(因みにAPIリファレンスでは「ストリームの終わりに達している」
という表現を使ってますよね)
たぶんもう解決できたのだろうと思うけど
敢えて付け加えておくなら
>>823や>>829のwhile(true)の行の次の
tmp = "";やtmp = null;は忘れていいから
その次の行で何やってる?
その上で続くtmpの扱いを考えればよかったと思う
0839デフォルトの名無しさん
2006/11/18(土) 00:56:34会社のイメージを高めたいなら、
ウェブデザイナを雇う物だが
0840デフォルトの名無しさん
2006/11/18(土) 00:57:28JFreeShart
0841デフォルトの名無しさん
2006/11/18(土) 00:58:40XMLエンティティでエスケープしたほうがいいぜ
0842デフォルトの名無しさん
2006/11/18(土) 00:59:330843デフォルトの名無しさん
2006/11/18(土) 01:00:05JFreeChartの間違いだった。>>840は。
あとはGNU PlotのJava版で作図
0844デフォルトの名無しさん
2006/11/18(土) 01:01:27なんだそれは?
最近流行?
非連続関数や非線形システムとかのことを言ってるのか?
積分できない関数とか
0845デフォルトの名無しさん
2006/11/18(土) 01:05:000846デフォルトの名無しさん
2006/11/18(土) 01:19:10ベジェ曲線とどう関係があるんだろう。
あの画像、やりようによっては、コンピュータにも
認識させることは不可能ではなかったりして。
瞬時に認識することができないだけで
長い時間をかけるとコンピュータに認識させることは可能だったり。
あああれか。ユーザ登録時には、セッションが切れると
また違う画像が現れるので長い時間をかけることは不可能か
0847デフォルトの名無しさん
2006/11/18(土) 05:40:03またこちらのクラスライブラリを使用して現在の月日、時刻を得る事は可能でしょうか?
0848デフォルトの名無しさん
2006/11/18(土) 07:12:15Date は時刻を保持する箱で
Clanedar は暦を表現する概念みたいな感じ。
Date d = new Date(); // 現在時刻取得
Calendar c = Calendar.getInstance();
c.setTime(d);
System.out.printnln(
c.get(Calendar.MONTH) + 1 + "/" + c.get(Calendar.DAY_OF_MONTH) + ", " +
c.get(Calendar.HOUR_OF_DAY + ":" + c.get(Calendar.MINUTE) + c.get(Calendar.SECOND)
);
日付・時刻を表示するだけなら Calendar よりも SimpleDateFormat を勧める。
SimpleDateFormat format = new SimpleDateFormat("MM/dd hh:mm:ss");
System.out.println(
format.format(new Date()
);
0849デフォルトの名無しさん
2006/11/18(土) 07:39:04Java の GUI クラスでインジケーターが無いか探してみたんですが分かりませんでした。
もし無かった場合、皆さんはどうやって実現しているんですか?
よろしくお願いします。<m(__)m>
0850デフォルトの名無しさん
2006/11/18(土) 07:51:43JLabelでIconを表示するとかでいいんじゃね?
状況に応じてsetIconで切り替えるなりして。
0851デフォルトの名無しさん
2006/11/18(土) 08:39:44それはインジケーターの各パーセントでの画像を用意して、処理の進行状況に応じてそれを切り替えるという事でしょうか?
なるほど。■い文字を追加するよりも見た目がずっと奇麗になりそうです。ありがとうございます。
ところで実際の Windows アプリなんかも同じ方法なんでしょうかね?
いろいろなやり方に興味があります。
0852デフォルトの名無しさん
2006/11/18(土) 08:53:21インジケータってそういうのを求めてたのね。
単純なLEDインジケータみたいなのを考えていた。
進行状況表示に使うならJProgressBarを使えばいいと思う。
0853デフォルトの名無しさん
2006/11/18(土) 10:48:36進捗バーというのがあったんですね!これがあったのなら他の方法を考える余地なんてありませんね。
しかしいろいろぐぐったりもしたのに分からなかったなんて・・・探し方も勉強しておきます。
本当にありがとうございました!<m(__)m>
0854ぴゅあ
2006/11/18(土) 10:53:20なんかおかしなところないですか?
0855デフォルトの名無しさん
2006/11/18(土) 11:05:57{は行の末尾に付けるべきでしょうか、
それとも一段下げた行頭に付けるべきでしょうか。
個人的には一段下げた行頭の方がインデントがはっきりして分かりやすいと思うのですが…。
でもコードが無闇に長くなると言われれば、そんな気もするのです
0856チャン
2006/11/18(土) 11:31:47class HashSet01 {
public static void main(String[] args) {
HashSet hs = new HashSet();
hs.add("aa");
hs.add("bb");
hs.add("cc");
for(Iterator it = hs.Iterator(); it.hasNext();){
System.out.println(it.hasNext());
}
}
}
コンパイルできません。
for文の中のIterator it = hs.Iterator();が問題みたいなんですけど、
どっかまちがってます?シンボルが解決できませんって出るんですよね。
後、Iterator it = hs.Iterator();って一体どういうことをしてるのですか?
よろしくお願いします。
0857デフォルトの名無しさん
2006/11/18(土) 11:41:19"{"と言われているので誰かに指導されてのこととかいうのではないのでしょうね
或いは書いたコードを検証されて指摘されたとか
まずは自分で見やすいと思う形を採るのがいいんじゃないかと思います
職場で上司からの指示とかで、それとは違う形で指示されたとかだとすれば
(そこにどういう意図があるかとかも考えることとして取り入れた上で)
自分としての思いは変わらないままなら自分の思うところは(自分の中で)維持しつつも
指示とかに従って進めるとかいうのがいいんじゃないでしょうか
コードの可読性という面では全く以って「仕様ないこと」ではなくて
書くコード全体できちんと統一されるべきことだし
単純に「コードが無闇に長くなると言われれば…」とかいうものでもないと思いますよ
どう書くかと決め、また統一するのは単純なミスを防ぐためにも重要なことでしょう
"{"について言えばC言語から始まった"教科書"と呼ばれた書籍から受け継がれているところから来ているのでしょうけど
(あちし少なくともJavaでは,仕事上でのCとかでは行末ですが、
プライベートな(Java以外の)コードではこれまで多数のコードの改修をしてきた経験から次行に書いてますけど)
"{","}"の漏れ/ミスひとつで全く動きが変わってしまうような
また気付き難いミスをしてしまいやすくなっりしてしまうとかありますから
きちんと考えて決めておく(統一して進めていくようにする)のがいいと思います
少なくともJavaで言えば"{"は行末に付けることに慣れておいた方が
無難だろうと思います
(慣れれば自然に他言語もそれについてくることになるでしょう)
0858ぴゅあ
2006/11/18(土) 11:50:38>コンパイルできません。
ではなく、エラーメッセージが出ている筈ですから
まずそれを示してください
>for文の中のIterator it = hs.Iterator();が問題みたいなんですけど、
>シンボルが解決できませんって出るんですよね。
加えて、勝手に自分の言葉で置き換えるのではなく
メッセージそのものが欲しいですね
>Iterator it = hs.Iterator();って一体どういうことをしてるのですか?
どういうことをやろうと考えてコードを書いたのではないのでしょうか
このコードがどういうことをしているのか?については解らないです
何故ってhs.Iterator()なんて存在しないものでは?
存在しないものが何かをすることができるわけもないし。。。
コンパイルができるできないかの前に
もう一度よく考えてコードを書いてみることでしょう
0859デフォルトの名無しさん
2006/11/18(土) 12:06:36iterator() メソッドは小文字。
あと
System.out.println(it.hasNext());
も本来やろうとしてることとは違うはず。
0860デフォルトの名無しさん
2006/11/18(土) 13:01:45職場のコーディング規約に従うべき。
特に決められてないなら、好きにしろ。
0861デフォルトの名無しさん
2006/11/18(土) 13:35:05Javaでは末尾に付けるのが多数派かな、現場かわっていくにつれ指摘されるかもしらんぞ
そういった意味では末尾に付けた方が無難だな
0862デフォルトの名無しさん
2006/11/18(土) 13:52:30凄く助かりましたありがとうございます。
まだ試していませんがとても丁寧にありがとうございます。
0863チャン
2006/11/18(土) 14:36:45コンパイルできました。
>System.out.println(it.hasNext());
も本来やろうとしてることとは違うはず。
とはどういうことでしょう??
0864デフォルトの名無しさん
2006/11/18(土) 15:15:32やりたかったのはコレ↓じゃねーかと。
System.out.println((String) it.next());
違うならそれで良いんだ。
0865デフォルトの名無しさん
2006/11/18(土) 15:43:59イマイチ、本読んでもイメージが沸かないというか・・・。
仕事で使って覚えていくしかないのかね〜。
0866デフォルトの名無しさん
2006/11/18(土) 16:02:41おすすめの本は何かありますか??
基本をおさえつつ、チョッとレベルアップなのを探しています
0868デフォルトの名無しさん
2006/11/18(土) 16:32:18字
。
0869デフォルトの名無しさん
2006/11/18(土) 16:35:22body部分の表のしたに隠れてしまってみえないのです。
どうすれば、表の上にポップアップが来るのか教えてください
0870デフォルトの名無しさん
2006/11/18(土) 16:41:40if文をコメントアウトしたい時
//if(a = 0)
{
a = -1;
・・・
}
ならコンパイル通るけど
//if(a = 0){
a = -1;
・・・
}
これだと通らない
だから俺は上を勧める
0871デフォルトの名無しさん
2006/11/18(土) 17:11:380872デフォルトの名無しさん
2006/11/18(土) 17:15:52文に意味は無いよ
0873816
2006/11/18(土) 17:27:49>>842さん
いえ、自分にはそんな難しいのはできません^^;
ただ研究?を通してjavaを学びたいと思っています。
>>843さん
JFreeChartですか?これはクラスか何かですか?
GNU PlotのJava版で作図というのは・・・?
すいません。。やはりまだ全然理解が足りていないようです。
勉強して出直してきます(T__T)
0874デフォルトの名無しさん
2006/11/18(土) 18:03:01values.addValue(new String("2"), new BigDecimal(400));
values.addValue(new String("3"), new BigDecimal(300));
values.addValue(new String("4"), new BigDecimal(500));
values.addValue(new String("5"), new BigDecimal(600));
values.addValue(new String("6"), new BigDecimal(300));
上の数値の部分に.csvファイルから値を当てはめたいのですがどうしたらいいか教えてください
csvファイルの中身
1,200
2,400
3,300
4,500
5,600
6,300
0875デフォルトの名無しさん
2006/11/18(土) 18:40:39Scanner scanner = new Scanner(new File("data.csv")).useDelimiter(",|\\s+");
while (scanner.hasNext()) {
String string = scanner.next();
BigDecimal d = scanner.nextBigDecimal();
values.addValue(string, d);
}
0876デフォルトの名無しさん
2006/11/18(土) 18:52:14>>1に書いてあるけど
JavaScriptの質問はWeb製作板へ
0877デフォルトの名無しさん
2006/11/18(土) 18:52:22JFreeChartもgnuplotもグラフを作図するためのものなので、
図を描きたいときには便利だが、
816のやりたいフォントの生成に直接には役に立たなさそう。
生成したベジェ曲線等のデータを簡単に描画したいという時には、
作図ソフトやライブラリやフレームワークを利用したほうが、
一から自分でプログラムを書くよりは楽かもしれないけれど。
0878デフォルトの名無しさん
2006/11/18(土) 19:23:32これって、GUI画面でポップアップって意味でなかったのか・・・
宿題スレから追い出した者です。迷惑かけてすみませんでした。
0879875
2006/11/18(土) 19:23:44scanner.close();
で閉じてね
0880816
2006/11/18(土) 19:32:57役に立つ情報を教えて頂きありがとうございます!
一から書くのは自分には無理だと思うので
ググってスプライン、ベジェでの描画のプログラムを参考にして
フォント生成のプログラム作成に挑戦してみます。
0881デフォルトの名無しさん
2006/11/18(土) 20:49:09多分隠れてしまっていると思うのですがどうすれば線が見えるようになるの?
import javax.swing.*;
import java.awt.*;
public class nishi extends JFrame{
private static JFrame frame;
private JPanel p1,p2;
JButton btn3;
public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawLine(300,300,300,709);
}
public nishi() {
p1 = new JPanel();
p1.setBounds(0,0,800,800);
p1.setLayout(null);
btn3 = new JButton();
btn3.setBounds(440,20,100,40);
p1.add(btn3);
Container cnt = getContentPane();
cnt.add(p1);
btn3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event){
si_ue=true;
repaint();
}
});
0882デフォルトの名無しさん
2006/11/18(土) 20:49:55public static void main(String[] args) {
// 自分自身のインスタンス化
frame = new nishi();
// フレームのセットアップ
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);// 終了時処理
frame.setSize(800,800);// サイズの自動セット
frame.setVisible(true);// 可視化(リアライズ)
}
}
0883デフォルトの名無しさん
2006/11/18(土) 20:50:510884デフォルトの名無しさん
2006/11/18(土) 21:12:06上に乗っかっているものを全部除ければ見えるようになるよきっと
0885ぴゅあ
2006/11/18(土) 21:34:34>ボタンをクリックすると線が引かれる
とはどういうコードで実現されているのでしょうか
また
>paintComponent(Graphics g)
はどのオブジェクトに対して処理しようとしている(するつもり)でしょうか
(>>881〜>>882の間に抜けているコードとかもあるのかな?)
0886デフォルトの名無しさん
2006/11/18(土) 22:03:15突っ込むなら勉強してからにしないと恥かくぞ。
0887デフォルトの名無しさん
2006/11/18(土) 22:42:53アイコンをクリックしても起動しません
http://ranobe.com/up/src/up150508.zip(excelファイル)
自分で色々調べてみたのですが原因が分かりません
問題を解決するためにみなさんのお力を貸してくださいどうかよろしく御願いします
0888881
2006/11/18(土) 22:43:09どのオブジェクト?
パネルp1上で線をひきたいです。ボタンとかあるそのパネル上で
線を引きたい
0889デフォルトの名無しさん
2006/11/18(土) 22:46:16参考となるソースやサンプルご存知ないですか?
0890デフォルトの名無しさん
2006/11/18(土) 22:57:56Thread クラスに setDaemon ちゅうメソッドがあるだろ
0891ぴゅあ
2006/11/18(土) 23:11:04>ボタンとかあるそのパネル上で
>線を引きたい
ならばまず
>public void paintComponent(Graphics g)
がどのオブジェクトに対して(どのクラスで)作用させようとしているか考えてみてください
また他にコードがあってpaintComponentメソッドを呼んでいるというのでなければ
paintComponentが呼ばれることはないんじゃないでしょうか
>そうたぶん乗っかっているから線が引かれないと思います。
は関係ないと思いますよ
(示されたコードから浮かぶキーワードとして)
"JFrame paintComponent"や"JPanel paintComponent"とかをキーにググッて
いくつかのサンプルコードとかを探して参考にしてみるのもいいかと思います
0892デフォルトの名無しさん
2006/11/18(土) 23:26:24難しいことからチャレンジしないで、やさしい事から解決してったほうがいいかも。
まずはボタンとか取り外して、JPanelの上に線だけを描くシンプルなプログラムを書いてみたらどうだろ。
今適当に検索してみたけれど、例えばここら辺を参考にして。
http://www.rsch.tuis.ac.jp/~k-yoshi/2005/java/java02.html
線を描くことが理解できたら、ボタンを押して線を書くことに挑戦してみては。
0893デフォルトの名無しさん
2006/11/18(土) 23:43:49デーモンの起動や管理はOS依存なので、Java側で特別気をつけるところはない。
ユーザインタフェース無しで、出力はログのみのプログラムにするくらい。
あとは、作ったプログラムを起動する方法だけど、Windowsならバッチファイル作ってタスクに登録か、
Linuxならcronか。
>>890
Thread#setDaemon()はデーモンスレッドを作成するために使うメソッドで、
デーモンプロセスを作るメソッドじゃない。よく知らないならレスしない方がいいよ。
0894デフォルトの名無しさん
2006/11/19(日) 00:49:48出来ました!ありがとうございます。
0895デフォルトの名無しさん
2006/11/19(日) 03:08:00l;:;:| ,,....、 __,;;;;;;;,,,,,ヾ;:;-、 |;;;;;;| |;;;;;|
ヾl,r"‐''''―、,-r'",..,、 i!`T")| {;;;;r' ,rww、 ,rww、 ',;;;}
l^ーi '"' ’'` ノ ヽ、,,,...-‐' j! | rゝll (●) l .l (●) ljヽ
i! :; `''ー'''';:',, ,,, ) : |ー'" l(),| ノ ヽ !ノ,!
ヽ-l ,,.;:;::;;;;:,,,,, | ゝ_l ゝ- ' ,jノ
ヽ i '"ー''''"~~`' / ,,.!、_ . l、. ___ /
`ヽ、 "" ''' ,,.:'"/' :ヽ lヽ ー‐' ,/ !
j^'ー--‐''".ィ'ン" `ー-、 /!、`ー─‐'" /ヽ
おまえら、人生は大胆に生きろ!Javaなんかやっても、何も始まらないぞ!
俺達のように夢を掴め!
0896デフォルトの名無しさん
2006/11/19(日) 03:23:590897デフォルトの名無しさん
2006/11/19(日) 10:44:07http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28722
とりあえずここまで組んでみました。
100までのランダムな数字を10個、小さな数字から大きな数字(ループ使用)、
大きな数字から小さな数字(再帰使用)で表示出来るようにしてみました。
その数字の中から小さな数字だけを出力されるようにしたいのですが、
この場合、どのようにすれば最小の数値を見つけることが出来るのでしょうか?
0898↑
2006/11/19(日) 11:03:03http://java.sun.com/j2se/1.5.0/docs/api/java/util/Arrays.html
0899デフォルトの名無しさん
2006/11/19(日) 12:39:36JAVAアプレットって何の役に立つのでしょう
DBにアクセスできないって書いてあるし
ゲーム専用ですか?
0900↑
2006/11/19(日) 13:11:340901881
2006/11/19(日) 13:19:22最初から作ったら思い通りになりました!!!
ありがとう!!
0902デフォルトの名無しさん
2006/11/19(日) 13:45:280903デフォルトの名無しさん
2006/11/19(日) 14:05:44アプレット使えませんね・・・・
0904デフォルトの名無しさん
2006/11/19(日) 14:09:52つ Jakarta POI
0905デフォルトの名無しさん
2006/11/19(日) 14:29:47そのクラスにはメソッドgetTXガ実装されているとします。でそのgetTXを
途中から呼び出したいとします。以下のような感じでいけると思ったのですが
いまいちうまくいきません。コンパイルが通りません。
int i=0
{
Object tt = Class.forName("prob" + i).newInstance();
}
tt.getTX()
どうすれば、プログラム中でインスタンスを生成してメソッドを
呼べますか?
0906デフォルトの名無しさん
2006/11/19(日) 14:41:020907デフォルトの名無しさん
2006/11/19(日) 14:46:28ありーー。
0908905
2006/11/19(日) 15:05:59int i=0;
Object tt = Class.forName("prob"+i).newInstance();
(Object)tt.get();
みたいにキャストするってこと?コンパイルが通らないです
レス数が900を超えています。1000を超えると表示できなくなるよ。