2017-05-08 5 views
0

Ich habe Probleme mit dem Entfernen von JScrollPanels von jFrame.Wie entferne ich JscrollPane von JFrame?

Dies ist Code für das Hinzufügen von JScrollPanel nach Klick:

jButton2.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 

       if(count_games == 0) 
        { 
         Game game = new Game(); 
         game.setPreferredSize(new Dimension(1000,1000)); 
         game1 = new JScrollPane(game); 
         frame.add(game1); 

         game1.setBounds(0, 40, 1000, 960); 


         count_games ++; 
        }else if(count_games == 1)... 

und dies ist der Code für JScrollPanel entfernen:

jButton1.addActionListener(new java.awt.event.ActionListener() { 
       public void actionPerformed(java.awt.event.ActionEvent evt) { 
        if(count_games == 1) 
        { 


         game1.removeAll(); 
         game1.revalidate(); 
         game1.repaint(); 

         count_games --; 

        }else if(count_games == 2)... 

Nach Entfernen leeren Drahtgitter in JFrame bleibt. Beispiel: Before remove

After remove

+0

Es ist nicht wirklich klar, was Sie erreichen wollen. Sie haben JScrollPane nicht aus dem übergeordneten Container entfernt. Vielleicht wollten Sie 'frame.remove (game1)' aufrufen, um den Scroll-Bereich von Ihrem jframe zu entfernen? – skubski

+0

ja, das wird die Lösung sein, danke –

Antwort

1
game1.removeAll(); 

Dadurch werden alle Komponenten der JScrollPanel hinzugefügt. Wenn Sie das gesamte Panel entfernen möchten, müssen Sie es aus dem JFrame entfernen.

ersetzen also diese Aussage mit:

frame.remove(game1); 

Oder Wenn Sie Ihren Rahmen leer Anruf frame.removeAll(); Methode zu machen.