-3

3 つのチェックボックスと TextField を含む Java Swing アプレット。指定されたチェックボックスをクリックすると、指定された TextField の対応するチェックボックスに割り当てられたタイトルが表示されます。問題は、コンパイルとランタイムにエラーがなくても、空白のフレームが出力として表示されることです..!!

ここにJavaコードがあります:

SwingAll クラス :

package swingall;

import java.awt.Container;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class SwingAll extends JFrame implements ItemListener {

JTextField t1;
JCheckBox c1,c2,c3;

public void init()
{
    Container cp=getContentPane();
    t1=new JTextField(20);
    c1=new JCheckBox("Arts");
    c2=new JCheckBox("Commerce");
    c3=new JCheckBox("Science");
    add(c1);
    add(c2);
    add(c3);
    add(t1);
    c1.addItemListener(this);
    c2.addItemListener(this);
    c3.addItemListener(this);
}

public void itemStateChanged(ItemEvent e) {

    if (e.getSource()==c1)
    {
        t1.setText("Arts");
    }
    if (e.getSource()==c2)
    {
        t1.setText("Commerce");
    }
    if (e.getSource()==c3)
    {
        t1.setText("Science");
    }
}
}

メインクラスは次のとおりです。

package swingall;

public class Main {

public static void main(String[] args) {

    SwingAll sg=new swingAll();
    sg.setSize(500, 500);
    sg.setVisible(true);
}
}
4

4 に答える 4

2

init()メソッドを呼び出したことはありません。

したがって、フレームには何も入れません。

于 2013-09-03T14:28:48.643 に答える
1

クラスを init() にする必要があるコンストラクターを SwingAll にする必要があります 追加してみてprivate static final long serialVersionUID = 1L; ください ウィンドウのタイトルが表示されない 設定を試してみてください

super("window name"); 

 setDefaultCloseOperation(EXIT_ON_CLOSE);
于 2013-09-03T14:41:45.827 に答える