A resposta é organizada por tópicos para facilitar a compreensão.
• Pacotes, Importações e Fundamentos da Linguagem
● package: Declara o pacote ao qual a classe pertence. Pacotes são usados para
agrupar classes relacionadas.
● import: Importa classes, interfaces ou membros estáticos de outros pacotes para
uso no código atual.
● class: Declara uma classe.
● extends: Indica que uma classe herda de outra.
● implements: Indica que uma classe implementa uma ou mais interfaces.
● new: Operador usado para criar uma nova instância de uma classe.
● this: Referência à instância atual do objeto. Usado para referenciar membros da
própria classe ou passar a instância atual como parâmetro.
● super: Usado para referenciar membros (construtores ou métodos) da superclasse.
● var: Palavra-chave (a partir do Java 10) para inferência de tipo local, reduzindo a
verbosidade. O compilador deduz o tipo da variável a partir do valor inicial.
● try...catch: Bloco usado para tratar exceções que podem ocorrer durante a
execução do código.
● try with resources: Variação do try que garante o fechamento automático de
recursos, mesmo com exceções.
● throw / throws:
○ throw: Lança explicitamente uma exceção.
○ throws: Declara, na assinatura do método, que ele pode lançar uma
exceção.
• Programação Orientada a Objetos
● private: Membro acessível apenas dentro da própria classe.
● public: Membro acessível de qualquer outra classe.
● protected: Membro acessível na própria classe, em subclasses e no mesmo pacote.
● static: Membro pertencente à classe, não à instância.
● final:
○ Variável: valor imutável após a inicialização.
○ Classe: não pode ser herdada.
○ Método: não pode ser sobrescrito.
● @Override: Anotação que indica sobrescrita de método da superclasse ou interface.
• Tipos de Dados Primitivos e Objetos Comuns
● int: Números inteiros.
● String: Sequência de caracteres (imutável).
● boolean: Valores verdadeiro ou falso.
● double: Números de ponto flutuante de precisão dupla.
● long: Números inteiros maiores.
● null: Indica ausência de referência a um objeto.
● LocalDate: Representa uma data (sem hora).
● Set<E>: Coleção de elementos únicos (ex.: HashSet, TreeSet).
● List<E>: Coleção ordenada (ex.: ArrayList).
● Dimension: Representa largura e altura de um componente.
● Color: Representa uma cor (possui constantes estáticas).
● Insets: Representa margens de um componente (usado com
GridBagConstraints).
• Classes e Métodos de Swing
Componentes Gráficos:
● JFrame: Janela principal da aplicação.
● JDialog: Janela secundária/modal.
● JInternalFrame: Janela interna (ex.: IDEs).
● JPanel: Container leve para agrupar componentes.
● JLabel: Exibe texto ou imagem (suporta HTML).
● JTextField: Entrada de texto de uma linha.
● JTextArea: Entrada de texto de múltiplas linhas.
● JPasswordField: Entrada de senha (oculta caracteres).
● JButton: Botão clicável.
● JTable: Exibe dados em tabela (utiliza TableModel).
● JScrollPane: Adiciona barras de rolagem a componentes.
● JMenuBar: Barra de menu de uma janela.
● JMenu: Menu dentro da JMenuBar.
● JMenuItem: Item de menu (dispara ActionEvent).
● JOptionPane: Caixas de diálogo padrão (JDialog modal).
● JFileChooser: Diálogo para selecionar arquivos.
Métodos Comuns:
● setSize(int width, int height): Define tamanho do componente.
● setDefaultCloseOperation(int operation): Define ação ao fechar janela
(EXIT_ON_CLOSE, DISPOSE_ON_CLOSE, etc.).
● setLocationRelativeTo(Component c): Centraliza janela (null = tela).
● setTitle(String title): Define título da janela.
● setLayout(LayoutManager manager): Define gerenciador de layout.
● add(Component c) / add(Component c, Object constraints): Adiciona
componente ao container.
● setBounds(int x, int y, int width, int height): Define posição/tamanho com layout
desabilitado.
● setIcon(Icon icon): Define ícone de componente.
● getText() / setText(String text): Obtém ou define texto de componentes.
● addActionListener(ActionListener listener): Associa ação a componentes.
● addWindowListener(WindowListener listener): Responde a eventos de janela.
● dispose(): Fecha e libera recursos da janela.
● setDocument(Document doc): Define conteúdo de componente de texto.
● setEditable(boolean editable): Define se campo é editável.
● setLineWrap(boolean wrap) / setWrapStyleWord(boolean word): Controlam
quebra de linha em JTextArea.
● setSelectionMode(int mode): Define modo de seleção (JTable, JList).
● setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer):
Define renderizador de coluna em JTable.
● getModel() / setModel(TableModel model): Acessa/define TableModel.
● getSelectedRow(): Retorna índice da linha selecionada.
● convertRowIndexToModel(int viewRowIndex): Converte índice da view para o
modelo.
● setRowSorter(RowSorter<?> sorter): Define ordenação/filtragem em JTable.
● setFileFilter(FileFilter filter): Define filtro de arquivos no JFileChooser.
● showSaveDialog(Component parent) / showOpenDialog(Component parent):
Exibem diálogos de salvar/abrir.
● getSelectedFile(): Obtém arquivo selecionado no JFileChooser.
• Gerenciadores de Layout e Constraints
● BorderLayout: Divide container em cinco áreas (PAGE_START, PAGE_END,
LINE_START, LINE_END, CENTER).
● FlowLayout: Layout padrão de JPanel. Posiciona em linha, com quebras.
● GridBagLayout: Layout flexível baseado em grade, com GridBagConstraints.
● GridBagConstraints: Controla posicionamento/redimensionamento no
GridBagLayout (propriedades: gridx, gridy, gridwidth, gridheight, fill,
weightx, weighty, ipadx, ipady, insets, anchor).
• Tratamento de Eventos e Listeners
● ActionListener: Interface para eventos de ação (ex.: clique de botão). Método:
actionPerformed(ActionEvent e).
● ActionEvent: Representa evento de ação.
● WindowListener: Interface para eventos de janela (abrir, fechar, etc.).
● WindowAdapter: Classe que implementa WindowListener com métodos vazios.
● WindowEvent: Representa evento de janela.
● DocumentListener: Interface para eventos em conteúdo de texto (Document).
Métodos: insertUpdate(), removeUpdate(), changedUpdate().
● DocumentEvent: Representa evento de documento.
• Coleções e Streams (Java 8+)
● ArrayList: Lista redimensionável (List).
● HashSet: Conjunto sem ordem garantida (Set).
● TreeSet: Conjunto ordenado naturalmente ou via Comparator.
● Arrays.asList(T... a): Converte array para lista de tamanho fixo.
● Collections.unmodifiableList(List<? extends T> list): Retorna lista imutável.
● Collections.unmodifiableSet(Set<? extends T> s): Retorna conjunto imutável.
● stream(): Cria fluxo de dados sequencial.
● filter(Predicate<? super T> predicate): Retorna novo stream com elementos que
passam no filtro.
● forEach(...): (conteúdo do método incompleto no texto original).