Domanda

I'm working on GUI and I'm an amateur programmer. I have a problem with this code. I can't see anything on the frame.

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1366, 768);
JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

Container midPanel = new JPanel();
midPanel.setLayout(null);
Dimension preferredSize = new Dimension(700, 700);
midPanel.setPreferredSize(preferredSize);

            .....

Container k1 = new JPanel();
k1.setSize(50, 700);
k1.setLocation(0, 0);
k1.setLayout(new GridLayout(rowNum, 1));

k1.setVisible(true);

midPanel.add(k1);

            .......

Dimension jspD = new Dimension(500,500); 
JScrollPane jsp = new JScrollPane(midPanel);
jsp.setPreferredSize(jspD);
jsp.setLocation(0, 0);
jsp.setVisible(true);

contentPane.add(jsp);

I would appreciate your help.

È stato utile?

Soluzione

midPanel.setLayout(null);

You should always use Layout Managers, never ever remove the layout for any reason, except if you had an assignment required to use absolute layout (null layout).

The problem is with absolute layout , you have to specify the location of components inside the panel by component.setBounds(x,y,width,height) every time adding a component, otherwise, it won't be visible.

See this tutorial on Using Layout Managers.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top