ngsvx の回答履歴
- JTableからのデータの取得
列数の多いテーブル (JTableの派生クラス) から ユーザー定義クラス (各プロパティにはsetterとgetterは実装済み) に 効率的にデータを取得する方法を教えて下さい。 データの取り込みはTableModelクラスを使って行う予定ですが 列数が多いため、列番号でIF分岐してsetterを呼ぶのは あまりに非効率な気がします。 どのように処理するのが良いのでしょうか? お知恵をおかしください。宜しくお願い致します。
- スタックで成績表を作るプログラム。
成績表を作りたい。Studentのクラスを要素とするクラスStackを完成させてプログラムが動作するようにせよという問題なのですがprivateの物をどうやって要素にすればよいのでしょうか? class Student { private int id; private String name; private int eng; private int math; private int kokugo; Student(int i,String nm,int e,int m,int k) { id=i;name=nm;eng=e;math=m;kokugo=k; } void show(){ System.out.println("("+id+","+name+","+ eng+","+ math+","+ kokugo+")"); } } class Stack { } class Sample { public static void main(String[] args) { Stack ss=new Stack(3); ss.push(new Student(1,"A",10,10,10)); ss.push(new Student(2,"B",20,10,10)); ss.push(new Student(3,"C",30,10,10)); ss.push(new Student(4,"D",40,10,10)); ss.pop(); ss.pop(); ss.pop(); ss.pop(); } }
- 簡単電卓をjavaプログラムで作成しました。
テキストフィールドに入力し、四則演算ボタンを押すと答えた表示されるように作ったのですが、答えが表示されません。どなたかご教授ください。お願いいたします。 import java.applet.Applet; import java.awt.*; // java.awtパッケージのインポート import java.awt.event.*; public class EasyCulc extends Applet { Button plus, minus, multi, div; // ボタン TextField txta, txtb, ans; // 数値入力用テキストボックス public void init() { plus = new Button("+");// ボタンのインスタンスを作成 plus.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 + txtbに入力された値を計算 int answer = Integer.parseInt(txta.getText()) + Integer.parseInt(txtb.getText());ans.setText(Integer.toString(answer));// 答えをansに表示 } }); minus = new Button("-");// ボタンのインスタンスを作成 minus.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 - txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) - Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); multi = new Button("x");// ボタンのインスタンスを作成 multi.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 x txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) * Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); div = new Button("÷");// ボタンのインスタンスを作成 div.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 ÷ txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) / Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); // コンポーネントの初期化 txta = new TextField("", 5); txtb = new TextField("",5 ); plus = new Button("+"); minus = new Button("-"); multi = new Button("x"); div = new Button("÷"); ans = new TextField("", 5); // コンポーネントを追加 this.add(txta); this.add(txtb); this.add(plus); this.add(minus); this.add(multi); this.add(div); add(new Label("計算結果")); this.add(ans); } }
- 簡単電卓をjavaプログラムで作成しました。
テキストフィールドに入力し、四則演算ボタンを押すと答えた表示されるように作ったのですが、答えが表示されません。どなたかご教授ください。お願いいたします。 import java.applet.Applet; import java.awt.*; // java.awtパッケージのインポート import java.awt.event.*; public class EasyCulc extends Applet { Button plus, minus, multi, div; // ボタン TextField txta, txtb, ans; // 数値入力用テキストボックス public void init() { plus = new Button("+");// ボタンのインスタンスを作成 plus.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 + txtbに入力された値を計算 int answer = Integer.parseInt(txta.getText()) + Integer.parseInt(txtb.getText());ans.setText(Integer.toString(answer));// 答えをansに表示 } }); minus = new Button("-");// ボタンのインスタンスを作成 minus.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 - txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) - Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); multi = new Button("x");// ボタンのインスタンスを作成 multi.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 x txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) * Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); div = new Button("÷");// ボタンのインスタンスを作成 div.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // txtaに入力された値 ÷ txtbに入力された値を計算 int intAnswer = Integer.parseInt(txta.getText()) / Integer.parseInt(txtb.getText()); ans.setText(Integer.toString(intAnswer));// 答えをansに表示 } }); // コンポーネントの初期化 txta = new TextField("", 5); txtb = new TextField("",5 ); plus = new Button("+"); minus = new Button("-"); multi = new Button("x"); div = new Button("÷"); ans = new TextField("", 5); // コンポーネントを追加 this.add(txta); this.add(txtb); this.add(plus); this.add(minus); this.add(multi); this.add(div); add(new Label("計算結果")); this.add(ans); } }
- カバレッジ率の計算方法
いつもお世話になっております。 現在ソフトウェアテストについて勉強しているのですが、VC#で作成されたプログラムのホワイトボックステストをする必要があり、カバレッジ率を100%にする必要があります。 小規模なプログラムなので、各行にブレークポイントを設定し、一つずつ消していく方法で測定しようと思うのですが、実際にカバレッジ率とは、どのように算出すれば良いのでしょうか? カバレッジ率=(ブレークポイントを消した行数/すべてのステップ数(コメント、空白行を除く))*100 で良いのでしょうか?それとも分母はブレークポイントを設定できる行数にすればよいのでしょうか? 基礎の基礎のような質問だと思いますが、ご教授願えないでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- INDES
- 回答数1
- 未請求と請求済みの請求書データの扱いを簡略したい
個人でオートバイショップをしています。 修理や顧客からのパーツの依頼などを、エクセルで台帳ファイルに日々記録しています。 例えばセルをスペースで区切ると台帳ファイルの中身(項目名)は 日付 名前 修理内容 請求日 請求額 入金額 請求書 納車納品日 納車納品未 ・・・・・・ などになります。 各行の請求書という列のセルをクリックすると、案件別にエクセルで作った請求書ファイルにリンクしており、その請求書が開くという感じです。 その請求書ファイルは、お金の回収がまだなら未請求というフォルダにあり、請求を全て回収して納車または納品が終わったら、月別の完了フォルダに移行しています。 問題はその請求書ファイルを、月別のフォルダに移行する作業し、請求書のセルのリンクも変更する手間が発生する点です。 月別の完了フォルダに移行するのは、後々その顧客が違う注文が来た際に、以前の注文具合などを調べたりするなどに使うからです。 月別の完了フォルダでなく、その顧客別のフォルダにしたいのですが一見さんが多く、フォルダが無駄に多くなってしまうと思われたからです。 フォルダを移行せずに、台帳ファイル上で完了というフラグを立てれば良いとも思いましが、その場合1つのフォルダに請求書ファイルがどんどん溜まってしまいます。 こんな悩みは他の業種でもあると思いますが、みなさんどうしているのでしょうか。 なにか良い安や、ソフトなどあれば教えて頂ければ助かります。 よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- reimy1
- 回答数2
- Javaの多態性について質問です
Java初心者です。どなたかお力をお貸しください。 ------------------- class Animal { public void eat() { // 汎用的なコード } } class Dog extends Animal { public void eat() { // 特化したコード } public void bite() { // Dog特有のコード } } ------------------- 上記のクラスについて質問があります。 Animal obj = new Dog(); obj.bite(); このコードがコンパイルエラーになるのは何故でしょうか? コンパイラが参照型のみをチェックし、Animalクラスにbiteメソッドが 無いため、エラーを出すと参考書に書いてありました。 つまり、スーパークラス型の参照変数にサブクラスのインスタンスを格納し、 サブクラス特有のメソッドをコールできないとはどういう意図なんでしょうか? コンパイラのチェックで引っかかるのは分かったのですが、 オブジェクト指向としては、この使い方は推奨されないということでしょうか? (Animalの参照で、Dog特有のメソッドは使わない?) 実際にJavaでプログラムを組むときには、こんな使い方をしないのですか? 有知識者の方、教えて下さい。 私は、オブジェクト指向の多態性の理解が甘いため、こんな質問をしているのだと 思います。申し訳ございません。
- ベストアンサー
- Java
- noname#196688
- 回答数7
- Jlabel?の上に2つ画像を載せクリックを識別
JLabelを使えばいいのかよくわからないのですが掲示した 画面のように背景色に薄い赤を指定して2つの矢印画像を 表示します。その矢印の中央に年月を表示したいと思っています。 また、右の矢印をクリックしたら翌月の年月が表示され 左の矢印をクリックしたら前月の年月が表示したいです。 これをswingで完成したいと思っています。 また各コンポーネントは setBounds(int x,int y,int width,int height)で出来ると助かります。 ImageIcon leftIcon = new ImageIcon("./img/left.gif"); ImageIcon rightIcon = new ImageIcon("./img/right.gif"); JLabel label = new JLabel(); label.setText("2010年10月"); label.setIcon(leftIcon); label.setLocation(20,0); label.setSize(170, 20); label.setBackground(Color.white); label.setOpaque(true); ここから先がわかりません どうしても1つの画像と1つのテキストしか表示できません。
- 特定ファイルが別プロセスで利用されてるかを知りたい
CSVやPDFファイルを作成する処理があります。 このファイル作成処理は、同じパス、ファイル名で何度か上書きで書込む可能性があります。 また、手作業でファイルを開いたり操作する事があります。 ファイルを作成する時に、ファイルが手作業など別プロセスで使用されてた場合 FileNotFoundException の例外が発生してしまいます。 ファイル作成までにとても時間が掛かる事もあり、 ファイル作成処理の前に、あらかじめ別プロセスで利用されてるかどうかを 確認して、利用されてる場合は事前に例外にしたいのですが、 そのような事は可能でしょうか? (尚、先程一旦質問しておりましたが、内容に誤りがあった為書き直しています。)
- SwingでJtableのヘッダ行が表示されません
SwingでJtableのヘッダ行が表示されません 解決方法とどうして表示されなかったのか理由もできればお願いします。 import java.util.Vector; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; public class Table_Calendar extends JFrame{ Vector<String>[] data = new Vector[3]; public static void main(String args[]){ new Table_Calendar(); } public Table_Calendar(){ super(); // ウィンドウサイズ this.setSize(800, 600); // レイアウト this.setLayout(null); // ウィンドウクローズ時の処理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // セルのデータ作成 for (int i = 0; i < 3; i++) { data[i] = new Vector<String>(); } // data[0]に名前、data[1]に住所、data[2]に電話番号 data[0].addElement("鈴木一郎"); data[1].addElement("東京都"); data[2].addElement("xxxxxxxxxx"); // テーブル作成 TableModel tableModel = new AbstractTableModel() { // 行数 public int getRowCount() { return 1; } // 列数 public int getColumnCount() { return 3; } // row行column列の値をセット public Object getValueAt(int row, int column) { return data[column].elementAt(row); } // タイトル部の値をセット public String getColumnName(int column) { switch (column) { case 0: return "名前"; case 1: return "住所"; case 2: return "電話番号"; } return ""; } }; JTable table = new JTable(tableModel); table.setLocation(10, 20); table.setSize(600,500); JPanel panel2 = new JPanel(); panel2.setLayout(null); panel2.add(table); /*setBounds(int x,int y,int width,int height)*/ panel2.setBounds(10, 10, 700,700); this.add(panel2); this.setVisible(true); } }
- Javaです。
以下のSQLのcustomerのc_idの最大値を求め、表示させたいのですが、上手くいかず、エラーが返ります。 Customerはデータベースに格納されています。 以下ソースです。 ・・・・・・・・・ String sql="select max(c_id) as max_c from customer"; Connection con = null; Statement smt = null; try { con = DBManager.getConnection(); smt = con.createStatement(); ResultSet rs = smt.executeQuery(sql); out.println(rs.getInt("max_c")); }catch(SQLException e){ throw new ServletException(e); }finally{ if(smt != null){ try{smt.close();}catch(SQLException ignore){} } if(con != null){ try{con.close();}catch(SQLException ignore){} } } ・・・・・・・ //恐らく、out.println(rs.getInt("max_c")); の表示クエリに問題があると思うのですが、どうすればいいか分からず質問しました。 具体的なソース等、解決策を教えて下さい。 Java素人です。 よろしくお願いします。
- オブジェクトのフィールドのコピーについて
下記で作成したプログラムで、Humanクラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーするpublicメソッドのcopyDataで、「Humanクラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーする」するプログラムが分かりません。むしろ、知らなくて、もしよければどのようなプログラムになるのか教えてください。 class Human { private double height, weight; private String name; public Human() { height = 0; weight = 0; name = "noname"; } public void inputData(String na, double ht, double wt) { name = na; height = ht; weight = wt; } public void showValue() { System.out.println("名前: " + name + ", 身長: " + height + "cm, 体重:"+ weight + "kg"); } public void copyData(Human a) { } } class KNO1 { public static void main(String args[]) { Human member1,member2,member3; System.out.println("member1:"); member1 = new Human(); member1.inputData("Taro",165.0,55.0); menber1.showValue(); System.out.println("member2:"); menber2 = new Human(); member2 = member1; member2.showValue(); System.out.println("member3:"); member3 = new Human(); member3.copyData(menber1); member3.showValue(); member1.inputData("Hana",175.0,75.0); System.out.println("member1:"); member1.showValue(); System.out.println("member2:"); member2.showValue(); System.out.println("member3:"); member3.showValue(); } }
- Javaです。
以下のSQLのcustomerのc_idの最大値を求め、表示させたいのですが、上手くいかず、エラーが返ります。 Customerはデータベースに格納されています。 以下ソースです。 ・・・・・・・・・ String sql="select max(c_id) as max_c from customer"; Connection con = null; Statement smt = null; try { con = DBManager.getConnection(); smt = con.createStatement(); ResultSet rs = smt.executeQuery(sql); out.println(rs.getInt("max_c")); }catch(SQLException e){ throw new ServletException(e); }finally{ if(smt != null){ try{smt.close();}catch(SQLException ignore){} } if(con != null){ try{con.close();}catch(SQLException ignore){} } } ・・・・・・・ //恐らく、out.println(rs.getInt("max_c")); の表示クエリに問題があると思うのですが、どうすればいいか分からず質問しました。 具体的なソース等、解決策を教えて下さい。 Java素人です。 よろしくお願いします。
- 掲示した画像のような画面を作りたい
掲示した画像のような画面をjavaのswingで作りたいのですが どのようにすれば良いか全くわかりません。 ある程度複雑な画面はsetLayout(null);にしてピクセルを指定して 作成していけばいいとわかりましたが全然全体像がつかめません。 掲示した画面は大きく分けて3つか4つのコンポーネントになるのかな と思いましたがどうプログラミングすればよいのかわかりません 出来る個所、1つコンポーネントずつ作成すればよいのはわかるのですが・・・ 自分にはまだスキル不足なのでしょうがどうしても作ってみたいです。 ネットで情報を探しているのですが基本的なプログラミングしか載っておらず 掲示した画面の様な複雑な画面の作り方がネットでは見つかりませんでした。 どなたか大まかなプログラムコードのご回答をお願いできませんでしょうか ※自分で試行錯誤して回答を見つけましょうとかネットで資料を探しましょうとか 探し方があまいとかそういった回答は勘弁して下さい。 もう1年近くこの画面を作りたくてネットで資料を探しましたので。
- 配列を大きい順にソートしたいのですが・・・
次の配列のc.intValue()が回数表示されるのですが、 あまりにデータが多いため、見やすくするために数が大きい順に表示したいと思います。 for文でlengthを求め・・・って言うのは分かるのですが、 c.intValue()で表示にしているので、どう書けばいいか分かりません。 以下ソースです。 ・・・・・ HashMap<String,Integer> hsFlow = new HashMap<String,Integer>(); <中略> Iterator<String> ir = hsFlow.keySet().iterator(); while(ir.hasNext()){ String f = ir.next(); Integer c = hsFlow.get(f); if(c==null) c = new Integer(0); System.out.println("経路"+f+":"+c.intValue()+"回"); 具体的なソースコードを教えていただけると嬉しいです。 ご回答よろしくお願いします。
- javaのイベント処理についての質問
今、以下の課題に取り組んでいるのですが、「新しくクリックした座標点で円を描くだけでなく、 以前にクリックした座標点での円も全て表示するように」というところのプログラミング方法がわかりません。 現在のソースは実行してもクリックしたところに円が表示されるようにできたのですが、別の場所をクリックすると以前の円は消えてしまいます。 どなたか詳しい方教えていただけませんでしょうか。 問題文↓ 図のように、マウスクリックした位置に円を描くアプレットを作成せよ。円の数は最大10個までとする。なおマウスクリックした位置は、 public void mouseClicked(MouseEvent e) とすると e.getX(); e.getY(); というメソッドでint型のx,y座標点として得られる。 クリックした座標点を記憶しておくために、点の位置は、xp[i]、yp[i]のように配列を使用し、新しくクリックした座標点で円を描くだけでなく、 以前にクリックした座標点での円も全て表示するように、プログラムを作成すること。 なお、メソッドmouseClicked(MouseEvent e)とメソッドpaint(Graphics g)に共通して座標点を扱うために座標点はグローバル宣言を必要とする。 ソース import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Marble extends Applet { int xp; int yp; public void init(){ MsListener mouseListener=new MsListener(); setBackground(Color.white); addMouseListener(mouseListener); } class MsListener extends MouseAdapter{ public void mouseClicked(MouseEvent e){ xp=e.getX(); yp=e.getY(); repaint(); } } public void paint(Graphics g){ final int MAX=20,WIDTH=200,HEIGHT=200; g.draw3DRect(0,0,WIDTH-2,HEIGHT-2,false); g.setColor(Color.blue); g.fillOval(xp-5,yp-5,10,10); } } どうかよろしくお願いします。
- 締切済み
- Java
- discharge3104
- 回答数3
- 同じコンポーネントを複数の場所に配置したい
SWINGを使ってGUIを作っています。 ボタンやテキストエリアを張り付けたパネルを別のパネルに複数貼り付けようしていますが、うまくいきません。 症状としては、最後に張り付けたところだけ表示されます。 簡単なプログラムを書いておきます。 JPanel mainpanel = new JPanel();//panelを複数貼り付けるパネル JPanel panel1 = new JPanel();//複数表示するパネル JButton btn1 = new JButton("btn1");//panel1貼り付けるボタン panel1.add(btn1); mainpanel.add(panel1);//一度目の貼り付け mainpanel.add(panel1);//二度目の貼り付け とすると二度目の貼り付けだけ表示されます。 同じものを複数の個所に表示するのは本来できないものなのでしょうか? よろしくお願いします。
- javaのswingについて質問です。
1桁の演算をする簡単な電卓を書いてみたのですが。。。分からない所だけ少し抜粋しました。見て下さい。 class SampleKeyListener extends KeyAdapter { public void keyPressed(KeyEvent e) { if(flag==false){ //ここで演算子の処理を.....1 char key=e.getKeyChar(); switch(key){ case '-': lb1.setText("引き算をします。数字を入力して下さい。");lb2.setText(str);lb3.setText("-"); now="minus";break; case '+': lb1.setText("足し算をします。数字を入力して下さい。");lb2.setText(str);lb3.setText("+"); now="plus";break; case '*': lb1.setText("かけ算をします。数字を入力して下さい。");lb2.setText(str);lb3.setText("*"); now="kakeru";break; case '%': lb1.setText("割り算をします。数字を入力して下さい。");lb2.setText(str);lb3.setText("%"); now="waru";break; } } if(flag==true){ //ここから数字の処理を(1桁のみ)....2 int k=e.getKeyCode(); switch(k){ case KeyEvent.VK_0: str="0";if(now=="plus"){ sum=sum+0; } else if(now=="minus"){ sum=sum-0; } else if(now=="kakeru"){ sum=sum*0; } else if(now=="waru"){ sum=sum/0; } else{ sum=0; } flag=false;break; //以下9まで同じ処理をします。(数値だけ変更しますが) } b2.setText(str); lb3.setText(Integer.toString(sum)); } .... ここで数値と演算しを交互に入力させて、どちらかを続けて入力するとエラーをはくしくみにしたいのですが、最初の考えはint count=0;などをつくりメソッドが呼び出された回数を数え上のメモの1、2、を切り替えてswitch文の条件にないものを入力したときはエラーをという考えでした。しかしそうしてしまうと演算子のほうで乗算記号と8が自分のPCでは同じキー(乗算の演算子のときはshiftキーを押します)なのですが、乗算のときに乗算とともに8も反応してしまい結果がおかしくなるのと演算子と数字を交互に入力させる制限もうまくいきませんでした。そこで上の様にbooleanでフラグを作true,falseで分岐させると乗算演算子のときに8は反応しなくなったのですが(入力の制限もできています)みてお分かりになるように、数字の入力→演算子の入力でとまってしまいます。flagをfalseからtrueに変えるのをそれぞれの演算子の方のswitch文にいれるとこんどはまた8が反応してしまうのと入力制限ができないです。どこにflagの切り替えをまたはどのようにしたらうまくできるでしょうか
- javaサーバーとポートを入力してメッセージ
こんにちは、java初心者なのですが、やり方がいまいちわかってないので教えてください。 このプログラムでは、プロンプトからホストナンバーを入力して、フレームが表示されるようになってるんですが、実行するときに、フレーム(swing)を先に表示させて、サーバーとポートを入力してから 数字などを入力できるようにしたいのですが、どうしたらいいのかわからないので教えてください。 サーバーのクラス public class ThreadedEchoServer { public static void main(String[] args) { int i = 1; try { ServerSocket s = new ServerSocket(7776); for (;;) { Socket incoming = s.accept(); System.out.println("Spawning " + i); new ThreadedEchoHandler(incoming, i).start(); i++; } } catch (Exception e) { System.out.println(e); } } } class ThreadedEchoHandler extends Thread { private Socket incoming; private int counter; public ThreadedEchoHandler(Socket i, int c) { incoming = i; counter = c; } public void run() { try { BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream())); PrintWriter out = new PrintWriter(incoming.getOutputStream(), true); out.println("Hello! Please send me an number (0 to exit)."); boolean done = false; while (!done) { String str = in.readLine(); if (str == null) done = true; else { try { int i = Integer.parseInt(str); if (i == 0) { out.println("End !!!"); done = true; break; } String forClient = (i % 2) == 0 ? " You are wrong " : " You are write "; out.println(forClient); } catch (Exception e) { out.println("Please send a number!"); } } } incoming.close(); } catch (Exception e) { System.out.println(e); } } }
- ベストアンサー
- Java
- Zenkicchirin
- 回答数1
- paint( )メッソドをオーバーロードについて
paint( )メッソドをオーバーロードについて 今晩は、JAVA初心者です、宜しくお願いします。 paint( )メッソドをオーバーロードする時に、<< A >>のコードはそのまま、 g.drawStringを書いていますが、<< B >>のコードでは、 super.paint( )で親クラスを呼んでやらないと、エラーになります。 この両者の違いが全く理解出来ません、どこがどのように違うのでしょうか。 宜しくお願い致します。 ======================================== << A >> public class Sample extends Applet { public void paint(Graphics g) { g.drawString("Applet",50,50); } } ======================================= << B >> public class JFrame_Test extends JFrame { JFrame_Test() { setSize(400,300); setTitle("JFrame_Test"); } public void paint(Graphics g) { super.paint(g); g.drawString("Today",70,70); } public static void main(String[] args) { JFrame jf = new JFrame_Test(); jf.setVisible(true); } } ========================================