2

基本的に、私は Java の初心者で、JComboBox を含む単純な GUI を作成する必要があります。ウィンドウは次のようになります: http://i.imgur.com/Jg7j4XD.jpg

コードをコンパイルすると (以下を参照)、コンパイルは行われますが、jGRASP で次の警告が表示されます。

Note: Lab6.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

これは私のコードです。データ型に関連するものを指定する必要があることはわかっていますが (そうですか?)、十分に指定したと思いました。助けてくれる人に感謝します。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Lab6 extends JFrame
{
    private String[] choices = {"Hello", "Good-Bye"};

    public Lab6()
    {
        super("218 Lab 6");
        setSize(450,200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLayout(new BorderLayout());

        JPanel panelNorth = new JPanel();
            panelNorth.add(new JLabel("Welcome Class 218!"));

            JComboBox comboBox = new JComboBox(choices);
            panelNorth.add(comboBox);

            add(panelNorth,BorderLayout.NORTH);
    }

    public static void main(String[] args)
    {
        new Lab6();
    }
}
4

2 に答える 2

8

Java 7 以降、JComboBoxには、保持するデータを記述するジェネリックが必要です。

JComboBox<String> comboBox = new JComboBox<>(choices);

これらを指定しないと、示されているコンパイラ警告が生成されます。

于 2013-01-19T20:47:59.247 に答える
2

コードをコピーしてテキスト ファイルに直接貼り付け、標準の javac コンパイラでコンパイルしましたが、警告は表示されませんでした。しかし、実行してもウィンドウには何も表示されませんでした。

Java のどのバージョンを使用していますか? Java 7 の場合は、コンボ ボックスでジェネリックを使用してみてください。ArrayList の場合と同じように、

 JComboBox<String> comboBox = new JComboBox<>(choices);

Java 7 の時点では、それが正しい方法であると信じています。そして、警告はプログラムが実行されないという意味ではなく、エラーではなくコンパイラの警告であり、プログラムを実行できるはずです。

于 2013-01-19T21:01:25.470 に答える