I am trying to write a program with Java swing in IntelliJ. I have designed a GUI with IntelliJ's drag and drop user interface. However, my Jlist does not appear in my Jscrollpane. IntelliJ says that I don't have a GridManager for my frame, but I tried adding a GridManager and it messed up my GUI format. Can somebody help me? Thanks!
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.DefaultListModel;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
public class GUIF {
private JButton button5;
private JList list1;
private JButton button1;
private JButton button4;
private JButton button2;
private JButton button3;
private JTextField textField1;
private JPanel Panel;
private JScrollPane scrollpane1;
public GUIF() {
this.listOps();
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String data = "";
if (list1.getSelectedIndex() != -1) {
data = "Item selected: " + list1.getSelectedValue();
textField1.setText(data);
}
textField1.setText(data);
}
});
}
private void prepGUI() {
JFrame frame = new JFrame("Store");
frame.setContentPane(new GUIF().Panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
private void listOps(){
DefaultListModel<String> items = new DefaultListModel<>();
items.addElement("chocolate");
items.addElement("milk");
list1 = new JList(items);
list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list1.setSelectedIndex(0);
list1.setVisibleRowCount(10);
list1.setVisible(true);
scrollpane1.add(list1);
scrollpane1.setVisible(true);
}
public static void main(String[] args) {
GUIF guif = new GUIF();
guif.prepGUI();
}
}