ngsvx の回答履歴
- JTreeのドラッグアンドドロップ選択色について
お世話になっております。 JTreeのノードをドラッグアンドドロップする際に、 選択されているノードは色が付くのですが、ドロップ対象にも 色を付けたいと思っています。 ドラッグ対象とドロップ対象の両方に選択色を付けるには どうすれば宜しいでしょうか。 宜しくお願いいたします。
- Javaの課題がわかりません。教えてください
ジェネリックスでコレクションクラスの作成です //次のクラスを実装する。 //クラス: /** * オブジェクトの集合(セット)を管理するクラス。 */ public class MySet<E>{ } //フィールド: /** オブジェクトを格納する配列への参照 */ private E[] elements;{ } /** 格納されている要素数 */ private int size;{ } //コンストラクタ: /** * 8件の要素を格納できる配列を用意する。 */ public MySet(){ } /** * n件の要素を格納できる配列を用意する。 */ public MySet(int n){ } //メソッド: /** * elemをセットに追加する。成功でtrueを返す。 */ public boolean add(E elem){ } /** * セット内でelemと同値の要素を探索する。存在すればtrueを返す。 */ public boolean contains(E elem){ } /** * セットに含まれる要素数を返す。 */ public int size(){ } /*※mainメソッドを用意し,実装した全てのコンストラクタやメソッドが正常に 機能しているかどうかを検証する。*/ {}の中身以外は変更しないで作成します。
- 締切済み
- Java
- kurokurosk
- 回答数3
- eclipse if を判定しないのですが
こんにちは。趣味でプログラミングをしているものです。 さっそくですが、質問させていただきます。 文具店などで千円くらいで販売している電卓を再現しようとしているのですが、 コーディングが終わり、動作を確認しているのですが やはり、多くの不具合が出ていて、修正しようとしているのですが、 その中で、すこし奇妙に思えるようなものが発生してしまいました。 電卓で計算した結果の文字列を表示桁数に収めるようにする、 あるいは桁のあふれがあった場合、例外を投げる、というメソッド において、 単純な条件分岐を判定しない、というもののように思えるのですが、 以下にその抜粋したものを説明させていただきます。 seisu_length = len - 1; // test statement System.out.println( "seisu_length2 is " + String.valueOf( seisu_length )); System.out.println( seisu_length > 12 ); // if( (seisu_length > 12) ) //(ア) { gap = seisu_length - 12; overflag = true; retstring = retstring.substring( 0, 12 ); //test statement System.out.println( "(4)" ); // } len int 計算結果を表す文字列のlength()により、長さを格納 seisu_length int 整数部分の桁数、再現しようとしている電卓が 整数部分の桁数で表示桁のあふれを判定しているので gap int 再現しようとしている電卓が、あふれている桁数の情報を 答えの文字列の先頭から数えたインデックスにドットを 挿入するので overflag boolean 桁あふれの場合の処理に移るためのフラグ retstring String 表示桁数分の計算結果の文字列 このメソッドの戻り値 test statement は変数の値をみたり、このブロックに到達しているのか 確認しています。 上記の(ア)の部分の判定で ブロック内部に移らないのですが コードに誤りはないように思えるのですが eclipse に不具合が発生している、 ということでしょうか? eclipse をふたたびインストールというか 解凍して配置したほうがよいのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数3
- PopupMenu なのでしょうか?
こんにちは、趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 Windows には標準でペイントが付属していますが、 ペイントのツールバーにあるボタンにマウスがエンターすると x座標はそのボタンのx座標 、y座標はツールバーの真下のy座標に そのボタンの操作の説明文が表示されますが、 同様のことをJavaでやろうと思った場合、 ボタンのマウスイベントのリスナーとして、 ボタン自身か、親のコンポーネントを登録するものなのでしょうか? それと表示されるメッセージのクラスはJPopupMenuのインスタンスを show するものなのでしょうか? それと、関係ないかもしれませんが、 JButton について processMouseEvent のメソッドは どのようなときに使うのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数3
- Java JFileChooser
こんにちは。趣味でプログラミングをしているものです。 さっそくですが、質問させていただきます。 まず、以下のコードをみていただきたいのですが・・・ public class test03 extends JFrame { DrawPanel dp01; test03() { super("filedialog test"); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); dp01 = new DrawPanel(); add( dp01 ); setResizable( false ); setLocation( 170,300 ); pack(); setVisible( true ); } /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ new test03(); } } -------------------------------------------------------- class DrawPanel extends JPanel implements ActionListener { JButton btOpen; JButton btSave; DrawPanel() { super(); setLayout( null ); setPreferredSize( new Dimension( 200, 240 )); setBackground( new Color( 220,240, 230 )); btOpen = new JButton( "open"); btSave = new JButton( "save"); btOpen.addActionListener( this ); btSave.addActionListener( this ); add( btOpen ); add( btSave ); btOpen.setBounds( 0,0, 100,40 ); btSave.setBounds( 100,0, 100, 40 ); } public void actionPerformed( ActionEvent ae01 ) { if( ae01.getSource() == btOpen ) { JFileChooser jfc = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter( "jpg and gif files","jpg","gif"); jfc.setFileFilter( filter ); int retvalue = jfc.showOpenDialog( null ); if( retvalue == JFileChooser.APPROVE_OPTION ) { //System.out.println( "you choosed a file : "); System.out.println( jfc.getCurrentDirectory().getName() ); System.out.println( jfc.getSelectedFile().getName() ); System.out.println( jfc.getSelectedFile().getAbsolutePath()); } } } } DrawPanel クラスの中の FileNameExtensionFilter についてなのですが、 コンストラクタの引数をこのように指定すると、 jpg と gif のファイルが同時にフィルターされ抽出されるのですが、 Windows7 に標準で付属しているペイントだと、 拡張子一種類ずつのファイルがフィルターにより抽出されます。 JFileChooser を用いても、ペイントのようなファイルの フィルタリングはできるものでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数1
- PopupMenu なのでしょうか?
こんにちは、趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 Windows には標準でペイントが付属していますが、 ペイントのツールバーにあるボタンにマウスがエンターすると x座標はそのボタンのx座標 、y座標はツールバーの真下のy座標に そのボタンの操作の説明文が表示されますが、 同様のことをJavaでやろうと思った場合、 ボタンのマウスイベントのリスナーとして、 ボタン自身か、親のコンポーネントを登録するものなのでしょうか? それと表示されるメッセージのクラスはJPopupMenuのインスタンスを show するものなのでしょうか? それと、関係ないかもしれませんが、 JButton について processMouseEvent のメソッドは どのようなときに使うのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数3
- PopupMenu なのでしょうか?
こんにちは、趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 Windows には標準でペイントが付属していますが、 ペイントのツールバーにあるボタンにマウスがエンターすると x座標はそのボタンのx座標 、y座標はツールバーの真下のy座標に そのボタンの操作の説明文が表示されますが、 同様のことをJavaでやろうと思った場合、 ボタンのマウスイベントのリスナーとして、 ボタン自身か、親のコンポーネントを登録するものなのでしょうか? それと表示されるメッセージのクラスはJPopupMenuのインスタンスを show するものなのでしょうか? それと、関係ないかもしれませんが、 JButton について processMouseEvent のメソッドは どのようなときに使うのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数3
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。 ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。 ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。 ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。 "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、 「gを解決できません」というエラー表示は出ていません。 原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================
- 大容量のテキストファイルの内容を解析について
10000行1GBほどの大容量のテキストファイルの内容を解析しようとしています。 このテキストファイルは約20行で一塊のデータが入っており、次の20行からまた一塊のデータがはいっています。現在、全行を1行ごとにArrayListに格納してから 各行にキーワードが含まれていないかチェックし、含まれていたらそのデータの塊の中にある2行目を行を出力しようとしています。 しかし、10000行のArrayListを宣言しようとしたところ、途中でOutOfMemoryになり、メモリ不足になります。そこで、最初の20行を読み込み、処理をし、次の20行を読み込み処理をする・・・と考えているのですが、このようなことをJAVAのソースコードで実現することは可能でしょうか?? 皆さんは大容量ファイルを解析するときにどのような手法をとっていますか? ご教示いただければ幸いです。
- Java 15パズルを作ったのですが・・・
こんにちは。 趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 Javaで15パズルを、eclipseをしろうとなりに使って 作ってみたのですが、 以下のURLにソースコードの全文を 載せてありますので、 (判定、完成させたときの何らかのイベントは まだできたいない途中のものですが・・・) http://www.eonet.ne.jp/~mycabinet よろしければ、500*500のピース用、背景用の jpg画像を用意していただき、 imageという名前のフォルダに格納して 実行して動作を試していただきたいのですが・・・ その上で、いくつか質問させていただきたいのです。 (1) JPanelを継承したクラスにswing のTimerクラスを 持たせ、ピースの移動をアニメーションのように 描画させようとしたのですが、 動くことは動くのですが、 簡単に言えばダブルバッファリングが必要なように 描画されてしまいます。 (2) BlankPieceクラスの描画は スーパークラスの抽象メソッドを オーバーライドして何もしないように すれば、背景の画像が描画される、 と思ったのですが、 グレーの通常のパネルのようなものが 描画されてしまいます。 以上の点をどのように修正すれば よいのでしょうか? また、修正できたとして、 それをアプレットにするには、 どのようにすればよいのでしょうか? ご存知の方よろしければ、教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- noname#173931
- 回答数1
- 配列で指定した文字の表示の仕方。
JAVAアプレットで 配列にて private String[][] A = {"☆A", "☆B", null}; {"☆あ", "☆い", "☆う"}; {"☆1", null, null}; と指定したあとに 各配列をアプレット上に ☆A ☆B ↓ ☆あ ☆い ☆う ↓ ☆1 といった順番で表示させたいです。 そこでinitメソッドにて、パネルをGridLayout(3,1)と各パネルを作り 各パネルをaddで加えていきます。 ここて各パネルをP1,P2,P3とします。 表示の仕方は P1.setText(A[page][0]); if(A[page][1] == null){page++;} else{ P2.setText(A[page][1]); if(A[page][2] == null){page++;} else{ P3.setText(A[page][2]); page++; } } としました。 pageとは各配列Aを順に表示させる為の変数です。 しかしこの方法だと ☆A ☆B ↓ ☆あ ☆い ☆う ↓ ☆1 ☆い ☆う と表示されてしまいます。 目標としてる表示の仕方にしたいのですが、一体どこがいけないのでしょうか。
- ベストアンサー
- Java
- tale23kaga10wa
- 回答数1
- Javaでよくわからないエラーが出てしまいます。
こんにちは。 Javaでプログラムを作っている途中で ArrayIndexOutOfBoundsException というエラーが出てきました。 調べてみると"配列として確保された領域を 超えた場所アクセスした場合に発生"と書かれていました。 しかし、エラーの部分を見つけることができません。 以下に問題のプログラムを掲載します,問題点を指摘してもらいたいのです。 よろしくお願いします。 ちなみに開発環境はJava7です。 -------------以下プログラム------------- import java.io.*; public class Datain{ public static String[][] datain(){ String inputFileName; String indata_1; String[] indata_2 = new String[12]; String[][] mondata = new String[100][12]; int i = 0; //読み込むファイル名 inputFileName = "H:\\問題データ.txt"; //ファイルオブジェクトの生成 File inputFile = new File(inputFileName); try{ //入力ストリームの生成 FileInputStream fis = new FileInputStream(inputFile); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); //テキストファイルからの読み込み while((indata_1 = br.readLine()) != null){ indata_2 = indata_1.split(","); for(int z = 0;z < indata_2.length;z++){ mondata[i][z] = indata_2[z]; } i++; } br.close(); }catch(Exception e){ e.printStackTrace(); } return mondata; } public static void main(String[] args){ String[][] a; a = datain(); System.out.println(a[0][0]); } } -------------テキストファイル------------- あいう,えおか,きくけ こさし,すせそ,たちつ てとな,にぬね,のはひ ※カンマ区切りの「.txt」ファイル
- ベストアンサー
- Java
- hoshio1209
- 回答数4
- Javaでよくわからないエラーが出てしまいます。
こんにちは。 Javaでプログラムを作っている途中で ArrayIndexOutOfBoundsException というエラーが出てきました。 調べてみると"配列として確保された領域を 超えた場所アクセスした場合に発生"と書かれていました。 しかし、エラーの部分を見つけることができません。 以下に問題のプログラムを掲載します,問題点を指摘してもらいたいのです。 よろしくお願いします。 ちなみに開発環境はJava7です。 -------------以下プログラム------------- import java.io.*; public class Datain{ public static String[][] datain(){ String inputFileName; String indata_1; String[] indata_2 = new String[12]; String[][] mondata = new String[100][12]; int i = 0; //読み込むファイル名 inputFileName = "H:\\問題データ.txt"; //ファイルオブジェクトの生成 File inputFile = new File(inputFileName); try{ //入力ストリームの生成 FileInputStream fis = new FileInputStream(inputFile); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); //テキストファイルからの読み込み while((indata_1 = br.readLine()) != null){ indata_2 = indata_1.split(","); for(int z = 0;z < indata_2.length;z++){ mondata[i][z] = indata_2[z]; } i++; } br.close(); }catch(Exception e){ e.printStackTrace(); } return mondata; } public static void main(String[] args){ String[][] a; a = datain(); System.out.println(a[0][0]); } } -------------テキストファイル------------- あいう,えおか,きくけ こさし,すせそ,たちつ てとな,にぬね,のはひ ※カンマ区切りの「.txt」ファイル
- ベストアンサー
- Java
- hoshio1209
- 回答数4
- jtableの色付け
swing初心者です。 以下のような、3×4の表 | 1 | 2 | 3 | 6 | | 2 | 3 | 4 | 9 | | 3 | 4 | 5 | 12 | を考えていて、(i,4)は(i,1)~(i,3)の値の合計が表示されます。(もし、(i,1)から(i,3)の値を変更すると、それに応じて、(i,4)の値も変わります。) このとき、(i,4)の値が20を超えたら、(i,4)の文字色を赤くしたいと思っています。 この(i,4)セルへの色付けができなくて、困っています。 *tableChangedを使って、条件(20を超えたら)を満たしたら該当セルの文字色を変更させる、というのを考えているのですが、tableChangedの内で特定のセルだけを変更するやり方がわかりません。 *DefaultTableCellRendererのgetTableCellRendererについても調べたのですが、今考えている問題の場合、どう使ったらよいのかわかりません。 宜しくお願いします。