Explicação de linhas de comando

Galerinha to cm duvida em algumas linhas desse programa
alguem poderia me explicar oq algumas linhas fazem?

Duvidas:
Para que serve cada pacote desses q ele importa?
Para que serve a linha 20?
Para que serve a linha 31?
Para que serve o metodo getSelectedIndex() encontrado na linha 34?
E para que serve o true dentro do setVisible(true);?

[code] import java.awt.;
import javax.swing.
;
import javax.swing.event.*;

public class Background extends JFrame {  
    private JList corLista;  
    private Container recepiente;  
      
    private String corNomes[] = {"Preto", "Azul", "Ciano", "Cinza Escuro", "Cinza", "Verde",  
       "Cinza Claro", "Magenta", "Laranja", "Rosa", "Vermelho", "Branco", "Amarelo"};  
     
   private Color cores[] = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY,  
       Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE, Color.PINK, Color.RED,  
       Color.WHITE, Color.YELLOW};  
     
   public Background(){  
       super("Background");  
         
       recepiente = getContentPane();  
       recepiente.setLayout(new FlowLayout());  
         
       corLista = new JList(corNomes);  
       corLista.setVisibleRowCount(5);  
         
       corLista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  
         
       recepiente.add(new JScrollPane(corLista));  
         
       corLista.addListSelectionListener(  
               new ListSelectionListener(){  
                   public void valueChanged(ListSelectionEvent event)  
                   {  
                       recepiente.setBackground(  
                               cores[corLista.getSelectedIndex()]);  
                   }  
           }  
       );  
         
       setSize(350,150);  
       setVisible(true);  
   }  
     
   public static void main (String args[]){  
         
       Background aplicacao = new Background();  
        
       aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                 
  }  

} [/code]

Obrigado pela ajuda…

Para que serve cada pacote desses q ele importa?

javax.swing.; - Swing stuffs aqui vc tem classe pra JFrame, JPanel, etc etc…
java.awt.
; - Tb pra contruir gui’s, o programa esta importando isso porque aqui vc encontra as definicoes para
por exemplo BorderLayout

javax.swing.event.*; - Usa para chamar os eventos que ocorrem no JFrame, botoes, etc.

Para que serve a linha 20?

Define o layout para “recepiente” como FlowLayout, tem diversos tipos de layout da uma olhada na pagina da sun ou entao acho que tem um tutorial aqui no gui mesmo que explica alguns tipos de layout .

Para que serve a linha 31?

Ta escrevendo o metodo valueChanged para o listener do JList. (corLista) isto significa que cada vez que o valor selecionado do JList for modificado ira chamar esse metodo e executar as instrucoes que esta la dentro.

Para que serve o metodo getSelectedIndex() encontrado na linha 34?

Obtem o indice do item selecionado na JList

E para que serve o true dentro do setVisible(true);?

Mostra o JFrame na tela.

O que você realmente esta precisando, é pegar uma apostila de swing :wink:

1 - Cada pacote que ele importa contem as Classes necessarias para executar o seu codigo.
2 - Configura o layout da tela ou como os componentes vão se comportar, neste caso, como FlowLayout.
3 - Metodo que é executado quando uma valor em uma lista é alterado.
4 - Pega o item selecionado na lista
5 - O true serve para a tela ser visivel. Se fosse false, o usuario não poderia ver a tela.

http://java.sun.com/j2se/1.5.0/docs/api/

desfrutai…