Pra que usar javax.swing.*

estive pesquisando na sun, e vi que essa biblioteca traz recursos de GUI, mas quando uso o *, ele me traz todos os pacotes??? não entendi muito bem isso.

import java.sql.SQLException;

import javax.swing.table.DefaultTableModel; no meu projeto usei o swing.* e depois ele me pediu para usar essa biblioteca tb, por que se no caso do * ele me traz todas, estu certo???

import java.sql.SQLException; e depois este que tem a ver com exessão de banco, certo???, estou com duvida nessas coisas, não consegui entender bem o uso de bibliotecas, mas no tutorial da sun que tenho esta meio confuso, se alguem tiver um material legal e entendivel eu agradeceria

O “*” significa que ele fará referência a todas as classes que estiverem naquele path… por exemplo

import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Enumeration; import java.util.LinkedList; import java.util.List;

Poderia ser substituido por:

import java.util.*;

Embora eu não goste mto disso porque os principais IDEs (Eclipse e NetBeans) colocam os imports automaticamente…

ok?

Isso acho que é mais por facilidade mesmo.

Imagine você programando uma tela, 99% das vezes, você vai ter um JLabel, entao você vai usar o código:

import javax.swing.JLabel

Depois, provavelmente, você vai usar o JText:

import  javax.swing.JText

E assim vai, imagine quantos componentes você vai “arrastar” usando o NetBeans. Então, a propria IDE já imaginando que você vai fazer isso, ja cria o import “global”:

import  javax.swing.*

OK entendi, valew

Mas importar todas as classes não significa importar as classes nos “subpacotes”. Isso significa que se você fizer isso:

import java.awt.*;

Você importará todas as classes desse pacote mas nenhuma classe dos pacotes seguintes pacotes:

java.awt.color
java.awt.datatransfer
java.awt.dnd
java.awt.event
java.awt.font
java.awt.geom
java.awt.im
java.awt.im.spi
java.awt.image
java.awt.image.renderable
java.awt.print

Para tanto seria preciso fazer o import de cada um deles:

import java.awt.color.*;
import java.awt.image.*;
// e assim por diante...

Só um último detalhe. Para o Java não existem sub-pacotes. São pacotes diferentes. Portanto:

import javax.swing.*;

Não importará os arquivos do pacote javax.swing.table. Para isso, seriam necessários dois imports:

import javax.swing.;
import javax.swing.table.
;

Por isso, o java não importou o seu DefaultTableModel.

PS: Já que ele não importou, aproveite para não usar o DefaultTableModel. O ideal é que você crie o seu próprio, ou use o indicado na minha assinatura.

Heheheeh… deixei para clicar em enviar um pouco mais tarde, e seu post apareceu explicando o que o meu explicava.

Heheheeh… deixei para clicar em enviar um pouco mais tarde, e seu post apareceu explicando o que o meu explicava.[/quote]

Acontece… aqui no fórum todo mundo anda rápido no gatilho! :slight_smile: