javaのプログラムの通常起動について

このQ&Aのポイント
  • javaのプログラムを通常起動する方法について解説します。
  • applet形式での起動時に発生する例外エラーについて対処法を教えます。
  • フォームがapplet形式でない場合に正常に起動させる方法を紹介します。
回答を見る
  • ベストアンサー

javaのプログラムの通常起動について

今日は 下記のコードは、フォームがapplet形式となります、また起動しますと例外エラーを発生します。 Q1)通常のForm(applet形式でない)で、正常に起動するための変更をお教えて、   頂けますと大変有難いです。 注)フォームがapplet形式のものは、差当たり考えていません。 お手数ですが、宜しくお願いします。 //================================= import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class ObjectTest extends JFrame implements ActionListener { JButton b1; JButton b2; ObjectTest() { // ボタン作成・追加 b1 = new JButton("One"); b2 = new JButton("Two"); add(b1); add(b2); // リスナ登録 b1.addActionListener(this); b2.addActionListener(this); } public void actionPerformed(ActionEvent e) { // getSource() でイベントソースのオブジェクトを獲得し // Button クラスにキャストする JButton b = (JButton)e.getSource(); // getActionCommand() でボタンのラベルを獲得する System.out.println("Label : "+e.getActionCommand()); // getSource() で獲得したオブジェクトとはじめに作った // ボタンのオブジェクトが一致するか調べる if (b==b1) { System.out.println("Oneのボタン"); } if (b==b2) { System.out.println("Twoのボタン"); } // ボタンのラベルで比較する場合には // String クラスの文字列比較用のメソッド equals() を使って // if ( e.getActionCommand().equals("One") ) とします } }

  • Java
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

せめて例外の内容をかいてくれないかな? スタックトレースだせば大体のエラーはすぐ直る

bakabon_X
質問者

補足

毎度、お世話になります。 ご指摘の例外の記述がない件は、下記の如く変更しまして、お陰で正常に ランできる様になりました。 Appletの意味がわからず、混乱して、質問してしまいました。 御免なさい。 //============================== import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class TestForm extends JFrame implements ActionListener{ JButton b1; JButton b2; //================================ TestForm() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); // ボタン作成・追加 b1 = new JButton("One"); b2 = new JButton("Two"); p.add(b2); p.add(b1); // リスナ登録 b1.addActionListener(this); b2.addActionListener(this); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); } public static void main(String[] args) { TestForm frame = new TestForm(); frame.setBounds(100, 100, 300, 250); frame.setVisible(true); } public void actionPerformed(ActionEvent e) { // getSource() でイベントソースのオブジェクトを獲得し // Button クラスにキャストする JButton b = (JButton)e.getSource(); // getActionCommand() でボタンのラベルを獲得する System.out.println("Label : "+e.getActionCommand()); // getSource() で獲得したオブジェクトとはじめに作った // ボタンのオブジェクトが一致するか調べる if (b==b1) { System.out.println("Oneのボタン"); } if (b==b2) { System.out.println("Twoのボタン"); } // ボタンのラベルで比較する場合には // String クラスの文字列比較用のメソッド equals() を使って // if ( e.getActionCommand().equals("One") ) とします } } //======================================== 以上

関連するQ&A

  • javaのJTextFieldにマウスフォーカス

    お世話になります。 Q1)下記のコードに於きまして、JTextFieldにマウスフォーカス が当りますと、その旨、System.out.println("JTextField_tt")と表示する方法をお教えください。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.LineBorder; public class EObjectTest extends JFrame implements ActionListener { public static JButton b1; public static JButton b2; public static JTextField tt; static EObjectTest frame; public static void main(String args[]){ frame=new EObjectTest("AAAA"); frame.setVisible(true); } EObjectTest(String title) { setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); // ボタン作成・追加 b1 = new JButton("One"); b2 = new JButton("Two"); tt = new JTextField("aaa"); LineBorder border = new LineBorder(Color.RED, 2, true); tt.setBorder(border); tt.setColumns(15); p.add(b1); p.add(b2); p.add(tt); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); // リスナ登録 b1.addActionListener(this); b2.addActionListener(this); tt.addActionListener(this); } public void actionPerformed(ActionEvent e) { // getSource() でイベントソースのオブジェクトを獲得し // Button クラスにキャストする JButton b = (JButton)e.getSource(); // JTextField ttt = (JTextField)e.getSource(); if (b==b1) { System.out.println("Oneのボタン"); } if (b==b2) { System.out.println("Twoのボタン"); } /* if (ttt==tt) { System.out.println("JTextField_tt"); } */ } } 以上

    • ベストアンサー
    • Java
  • フレームを消したい

    こんにちは。 いつもお世話になっております。 また、どうしてもわからないことが出てきてしまいました。 質問よろしいでしょうか? 以下のプログラムを実行して 「次へ」と書かれたボタンをクリックし 次に現れるフレーム上の「このフレームだけ消す」 と書かれたボタンをクリックしたときに 「f2」(2つ目のフレーム)だけ閉じるようにしたいのです。 以下の場合は両方とも閉じてしまうのです。 何かよい方法ご存知ありませんか? よろしくお願いいたします。 ================================================== import java.awt.*; import javax.swing.*; import java.awt.event.*; class unload { public static void main(String[] args) { JFrame f=new JFrame("kiki"); Origin p=new Origin(); Container ct=f.getContentPane(); ct.add(p); f.pack(); f.setVisible(true); } } class Origin extends JPanel implements ActionListener { JButton b; Origin() { b=new JButton("次へ"); this.add(b); b.addActionListener(this); } public void actionPerformed(ActionEvent e) { if (e.getSource()==b) { JFrame f2=new JFrame(); Origin2 p2=new Origin2(); Container ct=f2.getContentPane(); ct.add(p2); f2.pack(); f2.setVisible(true); } } } class Origin2 extends JPanel implements ActionListener { JButton b2; Origin2() { b2=new JButton("このフレームだけ消す"); this.add(b2); b2.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==b2) { System.exit(0); } } }

    • ベストアンサー
    • Java
  • JavaのSwingで別のフォームを閉じる方法

    こんにちは。 JavaのSwingにおいて,以下のようなプログラムがあるとします。 その場合,A.javaでボタンを押すと,B.javaのフォームが閉じるようにしたいのですがどのようにしたらいいのでしょうか?よろしくお願いします。 ****A.java**** import ☆省略☆; public class A extends JFrame implements ActionListener{ //ボタン JButton end; public A(){ //フレームの設定 setVisible(true); setTitle("テスト"); //コンテナの設定 con = getContentPane(); //ボタン end = new JButton(" 終了 "); end.addActionListener(this); end.setActionCommand("end"); con.add(end); pack(); } public void actionPerformed(ActionEvent e){ String m = e.getActionCommand(); if(m == "end"){ ※ここに書くべき処理 } } } ****B.java**** import ☆省略☆; public class B extends JFrame{ //コンテナ Container con; public Answer(){ //フレームの設定 setVisible(true); setTitle("B"); //コンテナに関わる設定 con = getContentPane(); } }

  • Javaのメモリ・リークについて

    Javaのメモリ・リークについて 以下のコードはスレッド内で、無限ループをしています。 コンストラクタで呼び出し、ずっとこのままにしておいてもフリーズするか否かが知りたいです。 (jconsole.jarというツールがありますが、まだ理解に至っておりません。) ご存知の方がおられましたら教えてください。 よろしくお願いいたします。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class ActioneventRoopTest extends JFrame implements Runnable, ActionListener { JButton start = new JButton(); JButton change = new JButton("切り替え"); Boolean flag = true; public static void main(String[] args) { new ActioneventRoopTest(); } public ActioneventRoopTest() { change.addActionListener(this); start.addActionListener(this); this.add(change); this.pack(); this.setVisible(true); Thread thread = new Thread(this); thread.start(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == change) { if (flag) { flag = false; } else if (!flag) { flag = true; } } } public void run() { while (true) { while (flag) { System.out.println("リンゴ"); } while (!flag) { System.out.println("ミカン"); } } } }

    • ベストアンサー
    • Java
  • HTMLファイルを開きたい

    こんにちは、いつもお世話になっています。 質問があります。 アプレットでボタンを押すと、 HTMLファイル「c:/test_folder/test.html」 を開きたいのですが、 下記コードの(☆) のところに何を書いていいかわかりません。 どなたかご存知でしたら教えていただけないでしょうか? よろしくお願いします。 ============================================================= import javax.swing.*; import java.awt.*; import java.applet.Applet; import java.awt.event.*; import java.net.*; public class situmon extends Applet implements ActionListener { JPanel panel; JButton button; public void init() { panel=new JPanel(); button=new JButton("次へ"); button.addActionListener(this); panel.add(button); this.add(panel); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button) { (☆); } } }

    • ベストアンサー
    • Java
  • ActionListener について

    JFrame の上に JPanel があり、JPanel の上に JButton があるとします。 JButton が押されたことを JFrame に知らせるにはどうしたらいいでしょうか。 わかるところまで書いてみました。 class MyFrame extends JFrame implements ActionListener { MyPanel myPanel = new MyPanel(); MyFrame() { myPanel.addActionListener(this); add(myPanel); } public void actionPerformed(ActionEvent e) { System.out.println("The button on the MyPanel was pressed!"); } public static void main(String[] args) { new MyFrame(); } } class MyPanel extends JPanel implements ActionListener { JButton button1 = new JButton(); MyPanel() { button1.addActionListener(this); add(button1); } public void actionPerformed(ActionEvent e) { } }

    • ベストアンサー
    • Java
  • java(swing)で、登録ボタンを押すとファイルを読み込みDBに登

    java(swing)で、登録ボタンを押すとファイルを読み込みDBに登録する処理です。 その処理で、登録ボタンを押すと、ダイアログを起動して、処理中とメッセージ表示したいのですが、データが多く、画面が固まった状態になり、メッセージが表示されないのです。何かいい方法ありますでしょうか? ******************************************************************* import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class topMain { public static void main(String[] args) { //メニュー画面を起動する topMain frame = new topMain(); frame.topFrame(); } private void topFrame() { JFrame jf = new JFrame(); //フレームのサイズ設定 jf.setSize(1000, 600); jf.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); jf.getContentPane().setLayout(null); JButton b1 = new JButton("登録ボタン"); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //ダイアログボックスを開く     //ダイアログボックスは起動するが、 //メッセージが表示されない、 //おそらく大きいデータを読むとき画面が固まるため //重いファイルを読み込む //DB登録処理 //ダイアログを閉じる } }); jf.getContentPane().add(b1); b1.setBounds(40, 400, 240, 100); jf.setVisible(true); } } *******************************************************************

  • javaのmainの中のループに割込を掛ける

    毎度、お世話になります。 javaのmainの中のループに割込を掛ける方法をお教えください。 添付コードの『Thread.currentThread().interrup()』は、旨く機能しません。 以上、宜しくお願いします。 =========== import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class T_try_loop extends JFrame{ JFrame frame=new JFrame(); T_try_loop(){ System.out.println("aaaa"); JPanel p1=new JPanel(); JButton button1=new JButton("button1"); button1.addActionListener(new TimButton1()); p1.add(button1); getContentPane().add(p1, BorderLayout.CENTER); } public static void main(String args[]){ T_try_loop frame=new T_try_loop(); frame.setTitle("TTTT"); frame.setBounds(10,10,400,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); for(int j = 0;j < 80; j++){ try{ Thread.sleep(80); System.out.print("*"); } catch(InterruptedException e){ System.out.println(": main_loopに、今割り込まれました"); } } }//public static void main public class TimButton1 implements ActionListener{ @Override public void actionPerformed(ActionEvent ae){ String cmd =ae.getActionCommand(); if(cmd.equals("button1")){ Thread.currentThread().interrupt(); System.out.println("Button clicked"); } } }//public class TimButton1 }

    • ベストアンサー
    • Java
  • JAVAのプログラミングについて

    色変更というボタンを押すたびに、正方形の中の色が緑から青、青から緑というように繰り返し色が変わるプログラムを作りたいのですが、途中までは、完成できたのですが、ここからどうすればいいかわかりません。教えてください。 import java.awt.*; import java.applet.*; import java.awt.event.*; public class kadai3Applet extends Applet implements ActionListener { int i = 1; Button collor; public void init(){ collor = new Button("色変更"); collor.addActionListener(this); add(collor); } public void paint(Graphics g){ g.setColor(Color.green); g.fillRect(50,50,50,50); } public void actionPerformed(ActionEvent e){ if(e.getSource() == collor){ } repaint(); } }

  • JAVAのプロフラミングについて

    □、○、△のボタンがあり、それぞれのボタンについて 一回押すと、その押したボタンの図形を2個描き、 押すたびに永久的に増えていくというようなプログラム を作りたいのですが、ここからどのようにすればいいのか教えてください。 import java.awt.*; import java.applet.*; import java.awt.event.*; public class kadaiApplet232 extends Applet implements ActionListener { int square = 0; int circle = 0; int triangle = 0; Button squareButton, circleButton,triangleButton; public void init(){ squareButton = new Button("□"); squareButton.addActionListener(this); add(squareButton); circleButton = new Button("○"); circleButton.addActionListener(this); add(circleButton); triangleButton = new Button("△"); triangleButton.addActionListener(this); add(triangleButton); } public void paint(Graphics g){ if(){ g.drawRect(30, 30, square, square); } if(){ g.drawOval(60,30,circle,circle); } if(){ g.drawLine(90+(int)(triangle/2),30,90,30+triangle); g.drawLine(90,30+triangle,90+triangle,30+triangle); g.drawLine(90+triangle,30+triangle,90+(int)(triangle/2),30); } } public void actionPerformed(ActionEvent e){ if ( e.getSource() == squareButton){ square = 30; } else if ( e.getSource() == circleButton){ circle = 30; } else if (e.getSource() == triangleButton){ triangle = 30; } repaint(); } }

    • ベストアンサー
    • Java

専門家に質問してみよう