0

さて、GUI で問題が発生しました。まったく同じことをしているときに、これまでにないこのエラーが発生します。私も古いコードを使用しています。試験中なので、問題が分からなくてさらにストレスがたまります。

メイン: http://pastebin.com/Py9S6nd3

import javax.swing.JFrame;

public class Jonth_SwingTenta {

    private static void createAndShowGui() {
        //Skapar ett fönster där gui komponenter läggs.
        JFrame frame = new JFrame("ToDo");
        //Anger vad som ska hända om fönstret stängs, i detta fall avslutas fönstret när man trycker på X.
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //Skapar ett objekt av klassen FormularPanel (privat lyssnarklass)
        //GridBagPanel panel = new GridBagPanel(); 
        PanelGUI panel = new PanelGUI();
//        frame.setJMenuBar(panel2.getMenu());
        //Lägger på panelen på frame.
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGui();
            }
        });
    }
}

GUI: http://pastebin.com/TYFG1XdU

import java.awt.*;
import javax.swing.*;
import javax.xml.bind.Marshaller.Listener;

/**
 *
 * @author h12mjont
 */
public class PanelGUI extends JPanel {

    private JPanel panel;
    private GridBagConstraints c;
    private GridBagLayout gridBag;
    private JLabel variID, varuNamn, varuKat;
    private JTextField textField1, textField2;
    private JTextArea textArea1;
    private JButton laggTill, taBort, uppdatera, sokPaID, sokKat;
    private Listener listener;
    private DAOFactory daofactory;
    private DAOInterface dao;
    private JComboBox markeBox;
    String[] marken = {"Frukt", "Mejeri", "Kött"};

    public PanelGUI() {

        panel = new JPanel(); //Skapar en ny panel där alla komponeneter ska finnas.
        gridBag = new GridBagLayout(); //Skapar en gridbaglayout
        c = new GridBagConstraints(); //Skapar constraints.
        panel.setLayout(gridBag); //Sätter layouten.
        //----------------col 1-----------------------------------
        variID = new JLabel("Varu ID");
        laggTillGUIGridBag(variID, 0, 0, 1, 1);
        varuNamn = new JLabel("Varunamn");
        laggTillGUIGridBag(varuNamn, 1, 0, 1, 1);
        varuKat = new JLabel("Varukategori");
        laggTillGUIGridBag(varuKat, 2, 0, 1, 1);
        laggTill = new JButton("Lägg till");
        laggTillGUIGridBag(laggTill, 3, 0, 1, 1);
        uppdatera = new JButton("Uppdatera");
        laggTillGUIGridBag(uppdatera, 4, 0, 1, 1);
        sokKat = new JButton("Sök på Kategori");
        laggTillGUIGridBag(sokKat, 5, 0, 2, 1);
        //-----------------col 2--------------------------------
        textField1 = new JTextField();
        textField1.setPreferredSize(new Dimension(70, 20));
        laggTillGUIGridBag(textField1, 0, 1, 2, 1);
        textField2 = new JTextField();
        textField2.setPreferredSize(new Dimension(70, 20));
        laggTillGUIGridBag(textField2, 1, 1, 2, 1);
        markeBox = new JComboBox();
        markeBox.setModel(new DefaultComboBoxModel(marken));
        // markeBox.addItemListener(combolyssnare);
        markeBox.setPreferredSize(new Dimension(70, 20));
        laggTillGUIGridBag(markeBox, 2, 1, 1, 1);
        taBort = new JButton("Ta bort");
        laggTillGUIGridBag(taBort, 3, 1, 1, 1);
        sokPaID = new JButton("Sök på id");
        laggTillGUIGridBag(sokPaID, 4, 1, 1, 1);
        //-------------------col 3--------------------------------
        textArea1 = new JTextArea();
        textArea1.setPreferredSize(new Dimension(350, 100));
        textArea1.setMinimumSize(new Dimension(350, 100));
        laggTillGUIGridBag(textArea1, 0, 3, 2, 2);
        //----------------Slut på GUI ----------------------------
        add(panel);
    }

    private void laggTillGUIGridBag(Component guiKomponent, int rad, int kolumn, int bredd, int hojd) {
        c.fill = GridBagConstraints.BOTH; //Gör så komponenten fyller ut sig i storlek åt båda håll.
        c.gridx = kolumn;
        c.gridy = rad;
        c.gridwidth = bredd;
        c.gridheight = hojd;
        c.insets = new Insets(5, 5, 5, 5); //Sätter padding runt komponenten
        gridBag.setConstraints(guiKomponent, c);
        panel.add(guiKomponent, c);
    }
}

何が問題なのかわかりません。スウェーデン語で申し訳ありませんが、私が何をしているのか理解できます。

可能な限り助けてくれてありがとう!

4

1 に答える 1