※ ChatGPTを利用し、要約された質問です(原文:javaのプログラムの通常起動について)
javaのプログラムの通常起動について
このQ&Aのポイント
javaのプログラムを通常起動する方法について解説します。
applet形式での起動時に発生する例外エラーについて対処法を教えます。
フォームがapplet形式でない場合に正常に起動させる方法を紹介します。
今日は
下記のコードは、フォームが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") ) とします
}
}
補足
毎度、お世話になります。 ご指摘の例外の記述がない件は、下記の如く変更しまして、お陰で正常に ランできる様になりました。 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") ) とします } } //======================================== 以上