Duvida Livro Fernando Anselmo

5 respostas
M

Gostaria de sabel o que significa a linha ,
encontrada no livro Tudo sobre JDBC
do Fernando Anselmo.

Segue a linha:

boolean altera; (cria um variabel boolean )

e neste caso pode ser true ou false;

aqui esta o que nao entendo:

edCodigo.setEnabled(((altera) ? false );

Eu sei que o edCodigo é um JTextField e que setEnabled serve para
habilitar ou desabiliar um objeto, porem só conheço
o mesmo passando um parametro false ou true

grato
Marcos

5 Respostas

S

ae…

rpz, se eu entendi direito o q vc ta perguntando,
a linha edCodigo.setEnabled(((altera) ? false ); vai verificarse altera eh true ou false…ai a partir dai ve se roda o setEnabled ou naum

flw

B

Ola,

sua duvida eh no ((altera) ? false), né?!?
pois eh, eu jah vi isso em algum lugar… Soh não me lembro onde, mas eh um tipo de condição q ele ta fazendo no “altera”…

xiii procurei aqui mas não achei… vou ficar te devendo a explicação exata… seu eu achar aqui eu posto…

flw

M

Ainda nao entendi, pois eu sei que o setEnabled, é para habilitar ou desabilitar, porem conecho da seguinte forma:

setEnabled(false), ou set Enabled(true)

mas na maneira que esta nao conheço
seEnabled((var boolean)) ? false)
var Boolean pode ser true ou false
nao consigo entender o significado do Interrogação ?

grato
Marcos

M

Isso é uma sitax java herdada do C que nada mais é do que uma forma de simplificar uma estrutura if a uma só linha. Vamos a um exemplo.

if(Alterar == true)

{

faco isso

}

else

{

faco aquilo

}

todo esse bloco pode ser escrito dessa forma tambem:

(Alterar == true) ? faco isso : faco aquilo

Ou mais simples ainda:

(Alterar) ? faco isso : faco aquilo

A condição do if vem entre os parenteses. O “?” e como um “então” e o “:” é como um senão.

No caso do :

(altera) ? false

e a mesma coisa de

if (Alterar == true)

{

false

}

else

{

false

}

vc pode observar que ele omitiu o “:” ou seja não tem o senão mas como o “então” só é executado se a condiçao for verdadeira o que sobrar é falso . logo não precisa do senão.

Resumindo:

Se alterar for True ele será modificado para false. Se Alterar for false ele continuara sendo false.

M

Só completando. Eu fiz uns testes aqui e o analizador sintatico do java não aceita a expressão (altera) ? false sem tem um senao. ou seja o jeito correto seria: (altera) ? false : altera ou (altera) ? false : true. Ou o autor cometeu um erro ou foi erro de edicao do livro mesmo. Mas o funcionamento é como eu falei

Criado 12 de julho de 2004
Ultima resposta 13 de jul. de 2004
Respostas 5
Participantes 4