Probleme mit dem Windowbuilder und JComboBox

DrPils

Bekanntes Mitglied
Hi

Ich arbeite an einem Quiz. In der GUI möchte ich ein Dropdown Menü ertsellen um die verschiedene Quizze auszuwählen. Dazu habe ich eine Klasse Quizchooser erstellt welche die Methode String[] .getQuizzes() enthält. Diese Methode ist mein Parameter im Konstruktor von JComboBox(). Das funktioniert auch wenn ich den Code ausführe, aber wenn ich in das Design View wechsle bekomme ich die Meldung:
Invalid source. No constructor binding.
new JComboBox<>(qr.getQuizes()) is not valid source for component creation, it references not existing contructor.
Wenn ich für JCombobox einen nicht- generic Constructor verwende geht es aber dann meckert Eclipse, da JComBox ja eine generic Klasse ist.

Java:
JComboBox<String> comboBoxQuizChoose = new JComboBox<>(qr.getQuizes());

Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import com.thePhenomenalBanana.quiz.QuizChooser;

import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JComboBox;

public class QuizApplicaation extends JFrame {

    /**
     *
     */
    private static final long serialVersionUID = -6994779799638339495L;
    private JPanel contentPane;
    private QuizChooser qr = new QuizChooser("resources");

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
        try {
            QuizApplicaation frame = new QuizApplicaation();
            frame.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        }
    });
    }

    /**
     * Create the frame.
     */
    public QuizApplicaation() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);

    JComboBox<String> comboBoxQuizChoose = new JComboBox<>(qr.getQuizes());
    GroupLayout gl_contentPane = new GroupLayout(contentPane);
    gl_contentPane.setHorizontalGroup(gl_contentPane
        .createParallelGroup(Alignment.LEADING)
        .addGroup(gl_contentPane.createSequentialGroup().addGap(169)
            .addComponent(comboBoxQuizChoose,
                GroupLayout.PREFERRED_SIZE,
                GroupLayout.DEFAULT_SIZE,
                GroupLayout.PREFERRED_SIZE)
            .addContainerGap(225, Short.MAX_VALUE)));
    gl_contentPane.setVerticalGroup(gl_contentPane
        .createParallelGroup(Alignment.LEADING)
        .addGroup(gl_contentPane.createSequentialGroup().addGap(29)
            .addComponent(comboBoxQuizChoose,
                GroupLayout.PREFERRED_SIZE,
                GroupLayout.DEFAULT_SIZE,
                GroupLayout.PREFERRED_SIZE)
            .addContainerGap(200, Short.MAX_VALUE)));
    contentPane.setLayout(gl_contentPane);
    }

}
 
Ok
Ja ich habe es erstmal so gelöst, dass ich den JCombobox Konstruktor ohne <> Aufrufe. Wenn ich dann zum schluss mit dem Windowbuilder fertig bin, ändere ich das ab.
 

Zurück
Oben