tag:blogger.com,1999:blog-5557609078994546202024-03-29T00:29:33.380-03:00Java ProgressivoCurso completo de Java, online e grátis. Com apostila para downloadUnknownnoreply@blogger.comBlogger163125tag:blogger.com,1999:blog-555760907899454620.post-27665903750556405382024-01-02T11:59:00.001-03:002024-01-02T15:51:43.386-03:00Livro e Apostila Java Progressivo<h1 style="text-align: left;"><span style="color: #38761d;">Livro Java Progressivo:
</span></h1><div><br /></div><div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://clubedeautores.com.br/livro/java-progressivo" rel="nofollow"><img border="0" data-original-height="641" data-original-width="453" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitGYtPd-UzHwDQT8nYIYDFw_T3_qmTWR1ugzgr_DGUBsJ1CH2kteXlVPrM4J6HwMoxROUEM1kILYj5h91n3KAJJuIlrMv0ByUXwhm13i7Pkpb21h2jBiHarcb6vnQFj6Eq-HjIlmZ2ICEK/s640/livro-impresso-java-progressivo.jpg" width="451" /></a></div>
<a href="https://clubedeautores.com.br/livro/java-progressivo"> </a></div>
<div style="text-align: center;"><a href="https://clubedeautores.com.br/livro/java-progressivo" rel="nofollow">Obter livro impresso</a></div><div><br /></div>
É com muito orgulho que apresentamos nosso material Java Progressivo, agora impresso!<br />Para quem, como eu, ama um livro físico, pegar nas folhas e sentir o cheiro, agora é possível comprar o mais elogiado e completo material da linguagem Java, do país.<div><br /></div><div>Além de obter o material, escrito com todo cuidado, dedicação e com muita conversa entre nós e vocês (via e-mail, instagram, comentários no site etc), você também contribui para o ensino da programação em nosso país, pois o valor é revertido para que possamos dar continuidade ao nosso trabalho, de fornecer conteúdo gratuito, completo e de qualidade, através de nossos sites.</div><div><br /></div><div><h2><span style="color: #38761d; font-size: x-large;">Apostila Java Progressivo</span></h2>Nosso site continua sendo, ano após ano, uma das principais fontes de estudo, pesquisa e consulta <i>hackers</i>, professores, programadores etc) e agora oferecemos um arquivo em PDF, para baixar e estudar.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVDWSC539rqgJoYfBiIzph8E8M7LMfAqf8izSiLetrqmgoUn6X3p-_cfTuh453Doc7c3l2PSLoJ7oh8XOqHJ8G_R__DJ553XQA1CNMbr-Btn94j3THYSmFH8EqFIcWxVc_rcQhCjgzvLCQ/s1600/apostila-baixar-download-java.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Baixar apostila de Java grátis" border="0" data-original-height="438" data-original-width="383" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVDWSC539rqgJoYfBiIzph8E8M7LMfAqf8izSiLetrqmgoUn6X3p-_cfTuh453Doc7c3l2PSLoJ7oh8XOqHJ8G_R__DJ553XQA1CNMbr-Btn94j3THYSmFH8EqFIcWxVc_rcQhCjgzvLCQ/s320/apostila-baixar-download-java.png" title="Apostila de Java completa para download" width="279" /></a></div>para quem se interessar por Java (estudantes,<br /><br />Veja algumas vantagens de nosso material:<br /><br /><ol><li>Todo conteúdo do site</li><li>Um único arquivo PDF (pequeno)</li><li>Abre no computador, celular, tablet...</li><li>Sem propagandas e links chatos</li><li>Não precisa de internet pra estudar</li><li>Pode ler no ônibus, numa viagem, no intervalo entre uma aula e outra</li><li>Apostila para leigos, completo e autosuficiente</li><li>Apostila para revisar e estudar para provas e concurso</li><li>Apostila para consultas, para programadores já profissionais</li></ol><br /><br />E o mais bacana:<br />Você nos incentiva e contribui para que possamos continuar a produzir cada vez mais material de ensino de programação.<br /><br /><h2><span style="font-size: x-large;">Download da Apostila Java Progressivo</span></h2>Frisamos novamente: nosso objetivo é ter o maior, melhor e mais completo material.<br />Para isso, adquirimos cursos, apostilas, DVD's, cursos, assistimos vídeo-aulas e por ai vai.<br /><br />Tudo isso tem um custo (além do tempo gasto e outras despesas), por isso, pedimos a simbólica e singela contribuição de <b>RS 28,99</b>:<div><br /><!--INICIO DO BOTAO PAGSEGURO--><a href="https://pag.ae/7YX9YXdpu/button" target="_blank" title="Pagar com PagSeguro"><img alt="Pague com PagSeguro - é rápido, grátis e seguro!" src="https://assets.pagseguro.com.br/ps-integration-assets/botoes/pagamentos/205x30-pagar.gif" /></a><!--FIM DO BOTAO PAGSEGURO--><br /> </div><div>Ou via PayPal:<div><div id="smart-button-container"><div style="text-align: center;"><div id="paypal-button-container"></div></div></div><script data-sdk-integration-source="button-factory" src="https://www.paypal.com/sdk/js?client-id=sb&enable-funding=venmo&currency=BRL"></script><script>
function initPayPalButton() {
paypal.Buttons({
style: {
shape: 'pill',
color: 'gold',
layout: 'vertical',
label: 'buynow',
},
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{"description":"Apostila Java Progressivo","amount":{"currency_code":"BRL","value":28.99}}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(orderData) {
// Full available details
console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
// Show a success message within this page, e.g.
const element = document.getElementById('paypal-button-container');
element.innerHTML = '';
element.innerHTML = '<h3>Thank you for your payment!</h3>';
// Or go to another URL: actions.redirect('thank_you.html');
});
},
onError: function(err) {
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script><br /><div id="smart-button-container"><div style="text-align: center;"><div id="paypal-button-container"></div></div></div><script data-sdk-integration-source="button-factory" src="https://www.paypal.com/sdk/js?client-id=sb&enable-funding=venmo&currency=BRL"></script><script>
function initPayPalButton() {
paypal.Buttons({
style: {
shape: 'pill',
color: 'gold',
layout: 'vertical',
label: 'checkout',
},
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{"description":"Apostila Java Progressivo","amount":{"currency_code":"BRL","value":28.99}}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(orderData) {
// Full available details
console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
// Show a success message within this page, e.g.
const element = document.getElementById('paypal-button-container');
element.innerHTML = '';
element.innerHTML = '<h3>Thank you for your payment!</h3>';
// Or go to another URL: actions.redirect('thank_you.html');
});
},
onError: function(err) {
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script><div><br /></div>E também com PIX: programacao.progressiva@gmail.com<div>Depois envie um e-mail para: programacao.progressiva@gmail.com<br /><br />Lembrando que um bom livro de Java custa R$ 200,00 ... um bom curso online, por volta de R$ 2.000 e uma faculdade...ah amigo, ai custa muito mais, fora seus anos para concluir.<br /><br />Detalhe: nossa apostila tem <b>MAIS DE 550 PÁGINAS</b>.<br /><br />Frisando também: ao baixar nossa apostila, você contribui para fazermos cada vez mais sites e fortalecer a programação no Brasil.<br /><br />Não se esqueça: ela vai servir pra você aprender, do 0, TUDO SOBRE JAVA, vai usar para estudar para provas e concursos, para trabalhar e sempre que precisar revisar.<br /><br />É uma verdadeira <b>bíblia</b> de Java, falamos isso com toda humildade e baseado nos comentários que recebemos no site.<br /><br />Se não gostar, devolvemos seu dinheiro, sem problemas.<br /><div class="separator" style="clear: both; text-align: center;"><img alt="Apostila Java Progressivo" border="0" data-original-height="351" data-original-width="563" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinsLZnIN5eUyx6jiO32wFVJq8-BDH3OwWvZHuSufnzTF1QvpdOadWCXWgFOr9RL5ZZR0z4o-vEXe0dmJznLwMF3Z_krIzzV6Bv9CcsURIUPQ7zja7gvJQ0LVhmhwofX5FNyUkzKP_pugY3/s320/apostila-java-celular.png" title="Apostila de Java completa" width="320" /></div><br /><div class="separator" style="clear: both; text-align: center;"><img alt="Como programar em Java Apostila PDF" border="0" data-original-height="353" data-original-width="563" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPWlVOimQWKx4G049OnUBEZFR_iPwAhmw81dtUnkio4JnNWqexfiET0z7ZKw5yfoej0u3isIKDNph9zf9boWMAhIBlyyZcHKFMffIDuLNWuM28QPAJgIb23Hvx2O-Lqb_82gD7mgbPUi0j/s320/apostila-java-tablet.png" title="Java Progressivo download" width="320" /></div><br /><h2 style="text-align: center;"><span style="font-size: x-large;"><span style="color: red;">MEGA PACK:</span> Todas Apostilas</span></h2>Já imaginou ter em um pendrive ou na memória de seu celular <b>TUDO</b> que você precisa para aprender computação, em todas as áreas, da melhor maneira, mais completa e voltada para iniciantes?<br /><br />Estudar Java, a linguagem mais importante do mercado de trabalho, que vai te permitir criar aplicativos para Android.<br /><br />Linguagem C, a linguagem que 'Deus' usou para criar o Universo? Aprender a língua que são feitos sistemas operacionais e entrar mais a fundo nas entranhas dos bits de seu computador?<br /><br />E HTML + CSS, para aprender criar sites ?<br />Una isso ao JavaScript, linguagem para executar scripts e programas no navegador dos clientes?<br /><br />De quebra, aprender Python, a linguagem mais simples e fácil de aprender, que com pouco código você criar coisas <i>fantásticas</i> e extremamente poderosas?<br /><br />É nosso <b>mega pack</b>, todas apostilas:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html"><img alt="Apostila Java Progressivo" border="0" data-original-height="475" data-original-width="362" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSGcOslwevSiDvY91ypbg-YQsOED_GfGeJn6xmcJk4Z83UhAX-m5OVDdP49FcYMxHS5XVMArSteM2eC4tN9V4n-xGOITTt_RWhMLwzK65_J9KKTNY6tcb-bgNSp0mN9HFqYd9NP0S0jDGz/s320/apostila-java-download-gratis.png" title="Apostila de Java para download" width="243" /></a><a href="https://www.cprogressivo.net/p/apostila-c-progressivo.html" target="_blank"><img alt="Apostila C Progressivo" border="0" data-original-height="491" data-original-width="393" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlP9Q35z9c3m8kVAtp1f6bzaebt7NswWWXlSGw1O2Mb3nlnAU7Zk_PBlr9WMe17MqVDcU7C828y6pEuAKAlEFayi2Tq4W34VqhEwWZtLdPb9rb91j2dYvg5ND9c_eIs3w4wyZxweceF0i/s320/linguagem-c-apostila.png" title="Apostila de C para download" width="256" /></a></div><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.javascriptprogressivo.net/p/apostila-javascript-progressivo.html" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img alt="Apostila JavaScript Progressivo" border="0" data-original-height="439" data-original-width="356" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNvZP876v5yv7Ts2ZJmY4fE6sYCTTlwoVsYce7OArHH4AsbeXtopOWoI6oyYqmvesYc4IkW-PRnujpz7p8VfHS40kNdjAE91sZdQnpjoUmlQoGXBaaja6Tlxxp9D7uNL0ZRIUyNbBYy-JF/s320/javascript-apostila.png" title="Apostila de JavaScript completa grátis para download" width="259" /></a><a href="https://www.htmlprogressivo.net/p/apostila-html-css-progressivo-download.html" target="_blank"><img alt="Apostila HTML + CSS Progressivo" border="0" data-original-height="414" data-original-width="276" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih7QyyqtRcywi2tP1lvc0LNUcUDlacP7RPeIM-3U1zTJT7Eh8P3QY0RlCaSvGkZLG7wqAZTZANAkef3QJ17xxW338t9rdzxgE5HJbnuH_RN_ztsSoim7Clc6pohiLlp_V4cmcYOSTkCgmT/s320/apostila-html-progressivo.png" title="Apostila de HTML + CSS para download grátis" width="213" /></a></div><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.pythonprogressivo.net/p/e-book-python-progressivo.html" target="_blank"><img alt="Apostila Python Progressivo" border="0" data-original-height="425" data-original-width="332" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1JgJLw-B6Vxds7hM5iR_VyWpAVXPeK_Y3RxZpIAfWVYeZewjRmS7ViqIVOVvsHgd6_AWycfKX4Q3TWHvpC1bq96Jkvb9ovUCnFTuyyItVEtWURPmOiaXnELbrP41T5E4m7BSmsHOg2bz_/s320/cover-ebook.png" title="Apostila de Python grátis para download baixar PDF" width="249" /></a></div><div class="separator" style="clear: both; text-align: center;"><img alt="Curso de PHP Completo online grátis para download" border="0" data-original-height="1148" data-original-width="806" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ7PZNcjnF0lYuDtqyW2v6mxVsw54HkmorXxH3ptGujE8rHJKwBT4jeM7c8XubJTsd0hAn8JZ2Jg5AYMRpSGWf7SyjqNWDGMnPXsAtJ9BV64WZedivrxh4sNvX5INQGv59nKs6u3_u58BP/s320/apostila-php-progressivo.png" title="Apostila PHP Progressivo" width="224" /></div><div class="separator" style="clear: both; text-align: center;"><br class="Apple-interchange-newline" /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://www.cmmprogressivo.net/p/apostila-de-c-online-gratis-download-pdf.html" style="margin-left: auto; margin-right: auto;"><img alt="Apostila grátis de C++" border="0" data-original-height="473" data-original-width="339" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8-wkL0Qah8ZuzK1nHjxxtTcR1pqooIo6GzijWqA8sWxbXuq8mdZa3v27_mtDQovBZ1SBCVuxWni_LavMD6XvXdxFJtbepLtL8TnJQ167KwXrUMgwe0ilUv8gPTGXMG5Q11Q-E8oGMaSL7/s320/apostila-c%252B%252B-progressivo.png" title="Apostila de C++ para download" width="228" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;"><br /><div><br /></div></td></tr></tbody></table><br /><br />Preço: R$ 69,99<br /><br /><!--INICIO FORMULARIO BOTAO PAGSEGURO--><h3><form action="https://pagseguro.uol.com.br/checkout/v2/payment.html" method="post"><ul><li><a href="https://www.programacaoprogressiva.net/2022/12/Mega-Paga-Todas-Apostilas-Projeto-Progressivo.html">Quero meu Mega Pack Projeto Progressivo</a></li></ul></form></h3><div><br /></div>Sim, dá <b>APENAS</b> de 10 reais por apostila.<br /><br />Garanto que será o melhor e mais barato investimento da sua vida.<br />Duvida? Estude pelas apostilas, se elas não te tornarem um(a) programador profissional, só avisar que estornamos seu dinheiro.<div><br /></div><div><h2><span style="font-size: x-large;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><br /></td></tr></tbody></table></span></h2><h2><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"><img alt="Curso Java Progressivo" border="0" data-original-height="250" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnU9xRP4yO83R7tpCFCAf1Z_9aEX3soI29RndWuZTLm5kovW8tcCMqb4mYF1l-vCvxZ8zs2DJvP28wf24wCmOEN8FYn15tLw5FybDyDUSRQD17uDrGB7k_wXTZHcs7hlnMCe6ygiu8h8ht/s16000/certificado-java-progressivo-retangular.jpg" title="Curso com certificado" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" rel="nofollow" target="_blank">Obter meu certificado!</a></td></tr></tbody></table></h2></div></div></div></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-5465032623297892012024-01-01T15:48:00.004-03:002024-01-04T16:08:09.235-03:00Exibindo mensagens de textos na tela: print, println e printf em Java<p> Agora que já aprendemos <a href="https://www.javaprogressivo.net/2023/01/Baixar-instalar-Como-Comecar-Programar-Java.html">como configurar nosso ambiente de desenvolvimento para programar</a> bem como <a href="https://www.javaprogressivo.net/2023/01/Como-fazer-primeiro-programa-Java-Ola-mundo.html">criar e executar nosso primeiro programa em Java</a>, vamos modificar este primeiro programa que fizemos, para entender melhor como exibir mensagens de texto na tela.</p><p>Vamos aprender o que é, como funciona e como usar os comandos <b>print</b>, <b>println</b> e <b>printf</b>.</p><p><br /></p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Imprimir mensagens na tela, em Java</span></h2><p><i>print</i>, em inglês, significa imprimir. A primeira coisa que vem em nossa mente, quando falamos em imprimir, é lembrar de uma impressora, não é verdade?</p><p>Mas imprimir tem um significado mais amplo. O que fizemos no nosso primeiro programa, o <i>Olá, mundo</i>! também foi uma impressão. No caso, imprimimos uma frase na tela de nosso computador (especificamente, no terminal de comando do Netbeans).</p><p>Mas também é possível imprimir um texto para um arquivo, por exemplo. Ou seja, você roda o programa, e o Java envia um texto para um arquivo, como um .txt e salva ele no seu computador. Aprenderemos isso mais a frente, em nosso curso, na seção de <i>Files</i>.</p><p>Nesse tutorial, vamos aprender como usar três comandos para imprimir mensagens de texto na tela:</p><p></p><ul style="text-align: left;"><li>print</li><li>println</li><li>printf</li></ul><p></p><p>Esses comandos, que são chamados de métodos, fazem parte do objeto <i>System.out</i><br />Não se assuste com os termos, bem em breve você vai entender o que são objetos, métodos, classes e toda essa sopa de nomes esquisitos.</p><p><br /></p><h2 style="text-align: left;"><span style="font-size: x-large;"><span style="color: #38761d;">O método System.out.</span><span style="color: red;"><span>prin</span><span>t</span></span><span style="color: #38761d;"> do Java</span></span></h2><p>Vamos começar por um código que já fizemos, usando o método <i>print</i>. Como vocês perceberam no tutorial anterior, eles simplesmente imprimiu uma mensagem na tela. </p><p>Em programação, chamamos um pedaço de texto de <i>string</i>, ok? Vamos mudar a string passada "Olá, mundo!", para "Curso Programação Progressiva", nosso código fica assim:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Teste e rode novamente.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3z9HpEZIOpxysPU84ckmnrxmgk8MaEPdKlVwJ3TRWy4w37ne1uCdKTf38rc0AOOh5ki-2ozFtyXAxn5WO4jbRkELanSiAaloKl44uSshkKfc51r3b8mHL3o0Urb-FHd6_gxUMqIaX7HwBR1QZdX_JIZNShuT97Ami5s6XkbgiEGqYareqjy8FVW77dUgf/s322/print-java-como-imprimir-texto.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como exibir imagens de texto em Java" border="0" data-original-height="156" data-original-width="322" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3z9HpEZIOpxysPU84ckmnrxmgk8MaEPdKlVwJ3TRWy4w37ne1uCdKTf38rc0AOOh5ki-2ozFtyXAxn5WO4jbRkELanSiAaloKl44uSshkKfc51r3b8mHL3o0Urb-FHd6_gxUMqIaX7HwBR1QZdX_JIZNShuT97Ami5s6XkbgiEGqYareqjy8FVW77dUgf/w320-h155/print-java-como-imprimir-texto.png" title="Como usar o método print em Java" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><h2 style="text-align: left;"><span style="font-size: x-large;"><span style="color: #38761d;">O caractere de quebra de linha em Java: </span><span style="color: red;">\n</span></span></h2><p>E se quisermos exibir a mensagem:<br />"Curso Java Progressivo"<br />"Aluno: [seu nome]"</p><p>Como fazer? Simples, use o comando duas vezes.<br />Veja como fica o código:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Aluno: Bill Gates"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Agora teste e veja o resultado:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2z_XkJp1uCavaHR0RWQR2rjXWuaqapuWWRGYscWpMZv6KYgzG4k3rJjtOFlD-x6gG9deGbXNSkuIJp5qHZWlSc8zzwbnPoT5drKd5JS_SEEMuaWneV6_i3RJyYaZk7BDHehTlswJ-uMgmnV-CPkQzSf352lqr5UOZwXvTl1yXe-e10i6mLhRp632Yy-mT/s413/comando-print-java-como-imprimir-texto.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como exibir texto no Java" border="0" data-original-height="148" data-original-width="413" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2z_XkJp1uCavaHR0RWQR2rjXWuaqapuWWRGYscWpMZv6KYgzG4k3rJjtOFlD-x6gG9deGbXNSkuIJp5qHZWlSc8zzwbnPoT5drKd5JS_SEEMuaWneV6_i3RJyYaZk7BDHehTlswJ-uMgmnV-CPkQzSf352lqr5UOZwXvTl1yXe-e10i6mLhRp632Yy-mT/w320-h115/comando-print-java-como-imprimir-texto.png" title="Como escrever um texto em Java" width="320" /></a></div>Opa...calma aí. Eu queria:<br />"Curso Java Progressivo"<br />"Aluno: Bill Gates"<div><br /></div><div>E não "Curso Java ProgressivoAluno: Bill Gates"</div><div>Deu erro! O que houve?</div><div><br /></div><div>Simples, o método <b>print</b> enviou a primeira string ("Curso Java Progressivo") e logo em seguida enviou para a tela a segunda string ("Aluno: Bill Gates"). E o que tem entre uma string e outra?<br />Nada. Por isso ele não exibiu nada entre as strings, o que fez ela saírem coladas.</div><div><br /></div><div>Aqui vai o grande segredo: entre um texto e outro, queríamos dar uma quebra de linha (famoso Enter, do teclado). E a quebra de linha também é um caractere!</div><div><br /></div><div>Esse caractere é representado por: \n</div><div>Sempre que o Java se deparar com este código (uma barra e a letra <b>n</b>), ele vai inserir uma quebra de linha na tela. Teste o seguinte código, com o caractere de <i>new line</i> no final da primeira string:</div><div><br /></div><div><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo <span style="box-sizing: border-box; color: #000099; font-weight: bold;">\n</span>"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Aluno: Bill Gates"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li></ol></div><div>E o resultado vai sair perfeito! Outra maneira seria usar da seguinte forma, no começo da segunda string:</div><div><br /></div><div><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"<span style="box-sizing: border-box; color: #000099; font-weight: bold;">\n</span>Aluno: Bill Gates"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li></ol></div><div><b>Desafio de Java:</b></div><div>Crie um programa, em Java, usando o método <b>print</b>, apenas uma vez de modo a imprimir o texto na tela:</div><div>"Curso</div><div> Java</div><div> Progressivo"</div><div><br /></div><div>Ou seja, uma palavra em cada linha. Mas repetindo: usando o comando <i>System.out.print</i> apenas uma vez! A resposta você pode conferir em nossa <a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html" target="_blank">Apostila Java Progressivo</a>.</div><div><br /></div><div><h2><span style="font-size: x-large;"><span style="color: #38761d;">O método System.out.</span><span style="color: red;"><span>prin</span><span>tln</span></span><span style="color: #38761d;"> do Java</span></span></h2><p>O 'ln', no comando <i style="font-weight: bold;">println</i> vem de...<i>line</i>, ou linha em inglês.</p><p>Esse comando faz a mesma coisa que o <b>print</b>, porém ele pula de linha automaticamente, ao final da string. </p><p>Faça o teste com o código abaixo:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">println</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Aluno: Bill Gates"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>E o resultado:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibG8ormTgRDEQSD3oL-SzP7pFDoZndikB8wQcCxxYrm9eIxYatfWqX3HletgImELEHOmsXkQFRx2NYXhBYDMgFjr1vOBeRWGZUNSWQKTEX8RnnSPqrBUUe9m0bY8zaKl0EoBp58x9bYv5FOTQzMI4gVVoAp7ZweDvQ8MuZduobpYVe-jT-vok15z56okZo/s463/comando-println-java-como-imprimir-mensagem.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como exibir uma frase na tela em Java" border="0" data-original-height="170" data-original-width="463" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibG8ormTgRDEQSD3oL-SzP7pFDoZndikB8wQcCxxYrm9eIxYatfWqX3HletgImELEHOmsXkQFRx2NYXhBYDMgFjr1vOBeRWGZUNSWQKTEX8RnnSPqrBUUe9m0bY8zaKl0EoBp58x9bYv5FOTQzMI4gVVoAp7ZweDvQ8MuZduobpYVe-jT-vok15z56okZo/w320-h117/comando-println-java-como-imprimir-mensagem.png" title="O comando println quebra de linha em Java" width="320" /></a></div><br /><p>Veja que usamos os dois comandos. Primeiro o <i>println</i>, que exibiu a primeira frase e em seguida deu a quebra de linha automaticamente, colocando o cursos no início da linha debaixo, no terminal de comando. Depois, o <i>print </i>normal, pois não necessitamos de mais uma quebra de linha.</p><p><br /></p><h2><span style="font-size: x-large;"><span style="color: #38761d;">O método System.out.</span><span style="color: red;"><span>prin</span><span>tf</span></span><span style="color: #38761d;"> do Java</span></span></h2><p>E, por fim, o método <i style="font-weight: bold;">printf</i>, que serve para exibir mensagens formatadas. Com esse recurso, você tem uma gama bem maior e melhor de possibilidades para imprimir mensagens de texto. Por exemplo, teste o seguinte código:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">printf</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Minha idade é: %d anos"</span>, <span style="box-sizing: border-box; color: #cc66cc;">2112</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>O resultado vai ser:<br />"Minha idade é: 2112 anos"</p><p>Agora vamos entender o que aconteceu. Dentro da string tem um código especial, o <b>%d</b>, ele serve para representar números inteiros. Ele é um tipo de <i>especificador de formato</i>, no caso o formato de dados é o número 2112, que é um inteiro, que foi colocado dentro do comando <b>printf</b>, depois da string.</p><p>Dizemos que "Minha idade é: %d anos" e 2112 são argumentos (informações), que demos para o método <b>printf</b>. O especificados %d vai pegar a informação do próximo argumento, que é o número inteiro 2112.</p><p>Uma string, por exemplo, é representada pelo especificador <b>%s</b>. Teste o código:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 1em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">printf</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"%s: %d anos"</span>, <span style="box-sizing: border-box; color: blue;">"Minha idade é: "</span>, <span style="box-sizing: border-box; color: #cc66cc;">2112</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li></ol><p>Temos aí três argumentos:</p><p></p><ol style="text-align: left;"><li>string: "%s: %d anos"</li><li>string: "Minha idade é: "</li><li>número inteiro: 2112</li></ol><div>O especificador de formato <b>%s</b> foi no próximo argumento e pegou a string 'Minha idade é: ' e colocou no lugar do código <b>%s</b>. Em seguida, foi próximo no argumento (inteiro 2112) e colocou no lugar do especificador <b>%d</b>, para exibir a mensagem final no terminal de comando:<br /><ul style="text-align: left;"><li>"Minha idade é: 2112 anos"</li></ul></div><div><br /></div><div>Ao longo de nosso curso, vamos aprender a usar melhor o <b>printf</b>, quando aprendermos mais sobre os tipos de dados (números inteiros, números decimais, números binários, caracteres, booleanos etc).</div><p></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-1257075998841305382023-01-08T15:21:00.006-03:002023-01-28T18:55:03.279-03:00Sumário do Curso Java Progressivo, completo, online e grátis<p> Bem vindos ao curso <b>Java Progressivo!</b> Estamos em constante esforço para fornecer um material completo, gratuito e totalmente voltado para o iniciante.</p><p>Sugerimos que siga a seguinte ordem de tópicos, estudando sem pressa, tentando replicar os códigos, fazer os exercícios e tentando aprender o máximo possível.</p><p>Bons estudos !</p><h2><b><span style="font-size: x-large;">O básico da linguagem Java</span></b></h2><ul></ul><div><ol style="text-align: left;"><li><span style="font-family: inherit;"><a href="https://www.javaprogressivo.net/2023/01/O-que-e-Computacao-Programaca--Linguagem-de-Programacao.html">O que é Computação, Programação e Linguagem de Programação</a></span></li><li><a href="https://www.javaprogressivo.net/2023/01/Java-O-que-e-Para-que-serve-Onde-se-usa.html">O que é o Java? Para que serve? Onde se usa essa linguagem?</a></li><li><span style="font-family: inherit;"><a href="https://www.javaprogressivo.net/2023/01/Baixar-instalar-Como-Comecar-Programar-Java.html">O que precisa baixar e instalar para começar a programar em Java</a></span></li><li><a href="https://www.javaprogressivo.net/2023/01/Como-fazer-primeiro-programa-Java-Ola-mundo.html">Como criar o primeiro programa em Java</a></li><li> <a href="http://www.javaprogressivo.net/2012/08/java-saidas-simples-usando-print.html" target="_blank">Saídas Simples usando print, println e printf</a><br />4.1 <a href="http://www.javaprogressivo.net/2012/08/java-exercicios-de-saida-simples.html" target="_blank">10 exercícios sobre saídas simples</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-comentarios-e-delimitadores.html" target="_blank">Comentando e usando Delimitadores de comentários</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-tipos-numericos-int-inteiro-float.html" target="_blank">Tipos numéricos: byte, short, int, long, float e double</a></li><li><span style="font-family: inherit;"><a href="http://www.javaprogressivo.net/2012/08/java-recebendo-dados-do-usuario-classe.html" target="_blank">Recebendo dados do usuário: a classe Scanner</a></span></li><li><a href="http://www.javaprogressivo.net/2012/08/java-operacoes-matematicas-adicao.html" target="_blank">Operações Matemática: Adição, Subtração, Multiplicação, Divisão, Resto da Divisão (módulo) e Precedência dos operadores matemáticos</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-fazendo-comparacoes-os-operadores.html" target="_blank">Comparações: os operadores maior (>), menor (<), maior igual (>=), menor igual (<=), igual (==) e diferente (!=)</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-o-tipo-char-armazenando-e.html" target="_blank">O tipo char: armazenando e representando caracteres</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-o-tipo-boolean-base-da-logica_5695.html" target="_blank">O tipo boolean: a base da lógica na computação</a></li><li><a href="http://www.javaprogressivo.net/2012/08/java-operadores-logicos-e-de-negacao-e.html" target="_blank">Operadores lógicos e de negação: && (E ou AND), || (OU ou OR) e o ! (negação)<br /></a></li></ol></div><p><br /><br /></p><h2><span style="font-size: x-large;">Estruturas de Controle/Controle de Fluxo e Laços</span></h2><ul></ul><div>01. <a href="http://www.javaprogressivo.net/2012/08/java-como-usar-if-e-else-testando-e.html" target="_blank">if else : Testando e Escolhendo o que vai ser Executado</a></div><div> 1.1 <a href="http://www.javaprogressivo.net/2012/08/java-programa-2-diz-se-voce-passou.html" target="_blank">Programa: Diz se você passou direto, ficou de recuperação ou foi reprovado</a><br /> 1.2 <a href="http://www.javaprogressivo.net/2012/08/aplicativo-determina-as-raizes-de-uma.html" target="_blank">Programa: determina as raízes de uma equação do segundo grau, até as complexas</a><br />02. <a href="http://www.javaprogressivo.net/2012/08/java-questoes-com-if-else-e-testes.html" target="_blank">Questões sobre if else</a><br />03. <a href="http://www.javaprogressivo.net/2012/08/java-operadores-matematicos-de.html" target="_blank">Operadores de Incremento (++) e Decremento (--)</a><br /></div><p>04. <a href="http://www.javaprogressivo.net/2012/08/java-operadores-de-atribuicao-e.html" target="_blank">Operadores de Atribuição: +=, -=, *=, /= e %=</a><br />05. <a href="http://www.javaprogressivo.net/2012/08/operadores-de-atribuicao-e-de.html" target="_blank">Operadores de atribuição e de incremento e decremento - diferenças entre a=++b e a=b++</a><br />06. <a href="http://www.javaprogressivo.net/2012/08/o-laco-while-o-que-e-como-usar-e.html" target="_blank">O laço while: o que é, como usar e calculando PA e PG com while</a><br /> 6.1 <a href="http://www.javaprogressivo.net/2012/08/questoes-usando-o-laco-while-java.html" target="_blank">Questões usando o laço while</a><br />07. <a href="http://www.javaprogressivo.net/2012/08/loop-infinito-e-controlando-lacos-e.html" target="_blank">Loop infinito, controlando laços e loopings com o while</a><br />08. <a href="http://www.javaprogressivo.net/2012/08/laco-for-tendo-um-maior-controle-sobre.html" target="_blank">Laço for: tendo um maior controle sobre as repetições</a><br /> 8.1 <a href="http://www.javaprogressivo.net/2012/08/questoes-usando-o-laco-for-java.html" target="_blank">Questões usando o laço for</a><br />09. <a href="http://www.javaprogressivo.net/2012/09/o-laco-do-while-o-laco-que-sempre.html" target="_blank">O laço do ... while: O laço que sempre acontece...pelo menos uma vez</a><br />10. <a href="http://www.javaprogressivo.net/2012/09/break-e-continue-interrompendo-e.html" target="_blank">Os comandos break e continue: interrompendo e alterando fluxos e loopings</a><br />11. <a href="http://www.javaprogressivo.net/2012/09/o-comando-switch-fazendo-escolhas-em_6667.html" target="_blank">O comando switch: fazendo escolhas em Java</a><br />12. <a href="http://www.javaprogressivo.net/2012/09/problemas-envolvendo-lacos-java.html" target="_blank">Exercícios envolvendo laços</a><br /><span style="color: red;"><b>Apostila Caelum resolvida:</b></span> <a href="http://www.javaprogressivo.net/2012/12/Apostila-Caelum-resolvida-Capitulo-03-Variaveis-primitivas-e-Controle-de-fluxo-Tipos-primitivos-e-valores.html" target="_blank">Capítulo 3, Variáveis, Tipos Primitivos e Controle de Fluxo</a><br /><br /><br /></p><h2><span style="font-size: x-large;">Orientação a Objetos, parte I: Criando e declarando classes - Construtores</span></h2><p>00. <a href="http://www.javaprogressivo.net/2012/09/O-que-sao-Classes-e-Objetos-e-Para-que-Servem-em-Java.html" target="_blank">Introdução: o que são, para que servem, como e onde usar as Classes e Objetos em Java</a><br />01. <a href="http://www.javaprogressivo.net/2012/09/Como-Criar-e-Declarar-Classes-e-Objetos-em-Java.html" target="_blank">Como criar uma Classe e declarar Objetos</a><br />02. <a href="http://www.javaprogressivo.net/2012/09/Acessando-e-modifica-do-variaveis-de-Classes-e-Objetos.html" target="_blank">Acessando e modificando variáveis de Classes e Objetos</a><br />03. <a href="http://www.javaprogressivo.net/2012/09/O-que-sao-Construtores-em-Java-Como-Criar-e-Usar.html" target="_blank">Construtores: o que são, para que servem e como usar</a><br /><br /><br /><br /></p><h2><span style="font-size: x-large;">Métodos</span></h2><div>00. <a href="http://www.javaprogressivo.net/2012/09/metodos-introducao-o-que-sao-para-que.html" target="_blank">Introdução: o que são, para que servem, como e quando usar os methods</a><br /> 0.1 <a href="http://www.javaprogressivo.net/2012/09/aplicativo-menu-simples-usando-metodos.html" target="_blank">Aplicativo: menu simples usando métodos, laços e o comando switch</a><br />01. <a href="http://www.javaprogressivo.net/2012/09/o-comando-return-obtendo-informacoes.html" target="_blank">O comando return: obtendo informações dos métodos</a></div><div>02. <a href="http://www.javaprogressivo.net/2012/09/parametros-e-argumentos-passando.html" target="_blank">Parâmetros e Argumentos: passando informações para os métodos</a><br />03. <a href="http://www.javaprogressivo.net/2012/09/classe-math-constantes-principais.html" target="_blank">A Classe Math: constantes, principais métodos e chamando métodos de outras classes</a><br />04. <a href="http://www.javaprogressivo.net/2012/09/sobrecarga-de-metodos-method.html" target="_blank">Sobrecarga de métodos (method overloading): declarando métodos com o mesmo nome</a><br />05. <a href="http://www.javaprogressivo.net/2012/09/metodo-numeros-argumentos-tamanho.html" target="_blank">Passando uma lista de argumentos, de tamanho qualquer, para um método</a><br />06. <a href="http://www.javaprogressivo.net/2012/09/questoes-envolvendo-metodos-java.html" target="_blank">Exercícios: treine com questões envolvendo métodos e tudo o que aprendeu até aqui</a><br /><b style="color: red;">Jogo: </b><a href="http://www.javaprogressivo.net/2012/09/jogo-adivinhe-o-numero-sorteado-pelo.html" target="_blank">Adivinhe o número que o computador sorteou</a> [modo texto]<br /><br /><br /><h2><span style="font-size: x-large;">Orientação a Objetos, parte II: Os métodos <i>set</i> e <i>get</i> - Composição - Enum</span></h2>00. <a href="http://www.javaprogressivo.net/2012/10/Auto-referencia-com-o-this-Invocando-metodos-de-Classes-e-Objetos.html" target="_blank">Auto-referência com o this: Invocando métodos de Classes e Objetos</a><br />01. <a href="http://www.javaprogressivo.net/2012/10/set-e-get-o-que-sao-e-como-usar-esses-metodos-de-forma-correta.html" target="_blank">set e get: o que são e como usar esses métodos de forma correta</a><br /> 1.1 <a href="http://www.javaprogressivo.net/2012/10/Aplicativo-Simulacao-simples-de-conta-bancaria-caixa-eletronico-em-Java.html" target="_blank">Aplicativo: Conta bancária/ Caixa eletrônico em Java</a><br />02. <a href="http://www.javaprogressivo.net/2012/10/Composicao-em-Java-trocando-informacoes-entre-objetos.html" target="_blank">Composição: trocando informações entre Objetos</a><br />03. <a href="http://www.javaprogressivo.net/2012/10/use-constantes-e-nao-numeros-declarando.html" target="_blank">Use constantes, e não números - declarando variáveis com o <i>final</i></a><br />04. <a href="http://www.javaprogressivo.net/2012/10/Como-usar-enumA-melhor-maneira-para-manusear-constantes-em-Java.html" target="_blank">enum: A melhor maneira para manusear constantes</a><br />05. <a href="http://www.javaprogressivo.net/2012/10/static-Usando-membros-estaticos-em-Java.html" target="_blank">static: Usando membros estáticos</a><br /><b><span style="color: red;">Apostila Caelum Resolvida:</span></b> <a href="http://www.javaprogressivo.net/2012/12/Apostila-Caelum-resolvida-capitulo-4-Orientacao-a-objetos-basica.html" target="_blank">Capítulo 4 - Orientação a objetos básica</a><br /><b><span style="color: red;">Apostila Caelum Resolvida:</span></b> <a href="http://www.javaprogressivo.net/2013/10/Apostila-de-Java-capitulo-6-Modificadores-de-acesso-e-atributos-de-classe.html" target="_blank">Capítulo 6 - Modificadores de acesso e atributos de classe</a><br /><b style="color: red;">Jogo: </b><a href="http://www.javaprogressivo.net/2012/10/Aprenda-a-fazer-o-Jogo-Campo-Minado-em-Java.html" target="_blank">Campo Minado em Java</a><br /> <a href="http://www.javaprogressivo.net/2012/10/Codigo-comentado-sobre-como-criar-o-jogo-campo-minado-em-Java.html" target="_blank">Código comentado sobre como fazer o jogo Campo Minado em Java</a><br /><br /><br /><h2><span style="font-size: x-large;">Programação Gráfica em Java, parte I: Caixas de Diálogo</span></h2><div>00. <a href="http://www.javaprogressivo.net/2012/09/programacao-grafica-em-java-gui-e-2d.html" target="_blank">Introdução à programação gráfica em Java, GUI e 2D</a></div><div>01. <a href="http://www.javaprogressivo.net/2012/09/exibindo-mensagens-atraves-das-caixas.html" target="_blank">Exibindo mensagens através das caixas de diálogo (dialog box)</a></div><div>02. <a href="http://www.javaprogressivo.net/2012/09/recebendo-dados-do-usuario-atraves-das.html" target="_blank">Recebendo dados do usuário através das caixas de diálogo (dialog boxes)</a></div>03. <a href="http://www.javaprogressivo.net/2012/09/como-passar-variaveis-do-tipo-string.html" target="_blank">Como passar variáveis do tipo String para int, float e double</a><br /> 3.1 <a href="http://www.javaprogressivo.net/2012/09/aplicativo-grafico-mostra-as-raizes-de.html" target="_blank">Aplicativo: calcula as raízes de uma equação do segundo grau</a><br />04. <a href="http://www.javaprogressivo.net/2012/09/construindo-build-seu-projeto-java-no.html" target="_blank">Construindo (build) seu projeto Java no NetBeans</a><br /><br /><br /><h2><span style="font-size: x-large;">Estrutura de Dados, parte I: Array e ArrayList</span></h2>00. <a href="http://www.javaprogressivo.net/2012/09/introducao-aos-tipos-de-estrutura-de.html" target="_blank">Introdução ao estudo de estrutura de dados em Java: Array, ArrayList, Listas, Filas e Pilhas</a><br />01. <a href="http://www.javaprogressivo.net/2012/09/arrays-como-declarar-usar-e-acessar-os.html" target="_blank">Arrays (ou vetores): como declarar, usar e acessar seus elementos</a><br />02. <a href="http://www.javaprogressivo.net/2012/09/o-laco-for-para-arrays.html" target="_blank">Foreach: O laço for para Arrays</a><br />03. <a href="http://www.javaprogressivo.net/2012/09/array-multidimensional-ou-matriz-array_6673.html" target="_blank">Array multidimensional ou Matriz: um Array de arrays</a><br />04. <a href="http://www.javaprogressivo.net/2012/09/arrays-em-metodos-passagem-por-valor-e_16.html" target="_blank">Arrays em métodos: passagem por valor e passagem por referência</a><br />05. <a href="http://www.javaprogressivo.net/2012/09/como-usar-classe-arrays-java.html" target="_blank">Classe Arrays (Arrays Class): aprenda a manusear (copiar, ordenar, buscar e manipular) Arrays</a><br />06. <a href="http://www.javaprogressivo.net/2012/09/como-usar-arraylist-em-java.html" target="_blank">ArrayList: para que serve e como usar os principais métodos da ArrayList em Java</a><br /><span style="color: red;"><b>Apostila Caelum resolvida:</b></span> <a href="http://www.javaprogressivo.net/2013/01/apostila-caelum-resolvida-capitulo-5-um.html" target="_blank">Capítulo 5 - Um pouco de Arrays</a><br /><br />Jogo usando if else, métodos, arrays, arrays multidimensionais e laços.<br /><b style="color: red;">Jogo: </b><a href="http://www.javaprogressivo.net/2012/09/jogo-batalha-naval-em-java.html" target="_blank">Batalha Naval em Java [modo texto - humano x computador]</a><br /><br /><br /><h2><span style="font-size: x-large;">Orientação a Objetos, parte III: Herança e Polimorfismo</span></h2>00. <a href="http://www.javaprogressivo.net/2012/10/Heranca-em-Javao-que-e--para-que-serve-exemplos--quando-usar.html" target="_blank">Herança: o que é, para que serve, exemplos de uso e quando usar</a><br />01. <a href="http://www.javaprogressivo.net/2012/10/heranca-de-construtores-e-override.html" target="_blank">Herança de Construtores e <i>@Override</i></a><br /> 1.1 <a href="http://www.javaprogressivo.net/2012/10/Heranca-Composicao-Qual-o-melhor.html" target="_blank">Herança ou Composição: qual usar? qual é o melhor? onde se usa cada um deles?</a><br /> 1.2 <a href="http://www.javaprogressivo.net/2012/10/Interface-em-Java-implements-O-que-e-para-que-serve-como-funciona.html" target="_blank"><i>Interface</i> em Java - O que é, para que serve, como funciona e como usar</a><br /> 1.3 <a href="http://www.javaprogressivo.net/2012/11/Comparando-objetos-Classe-abstrata-Comparable-metodo-compareTo.html" target="_blank">Como comparar objetos - A classe abstrata <i>Comparable</i> e o método <i>compareTo()</i></a><br />02. <a href="http://www.javaprogressivo.net/2012/10/private-public-e-protected--Protegendo-suas-informacoes-em-Java.html" target="_blank">public, private e protected: Protegendo suas informações em Java</a><br />03. <a href="http://www.javaprogressivo.net/2012/10/A-classe-Object--o-que-e-uso-e-principais-metodos.html" target="_blank">A classe Object: o que é, uso e principais métodos</a><br />04. <a href="http://www.javaprogressivo.net/2012/10/Polimorfismo-em-Java--o-que-e-pra-que-serve-como-e-onde-usar.html" target="_blank">Polimorfismo: o que é, pra que serve, como e onde usar</a><br />05. <a href="http://www.javaprogressivo.net/2012/10/Polimorfismo--Classes-abstratas-e-Metodos-abstratos.html" target="_blank">Polimorfismo: Classes abstratas e Métodos abstratos em Java</a><br /> <b style="color: red;">Exemplos: </b><a href="http://www.javaprogressivo.net/2012/10/Importancia-do-Polimorfismo-e-Abstracao-em-softwares.html" target="_blank">Importância do Polimorfismo e Abstração em softwares</a><br />06. <a href="http://www.javaprogressivo.net/2012/10/manipulando-polimorficamente-subclasses.html" target="_blank">Manipulando polimorficamente subclasses</a><br /> <b style="color: red;">Dica: </b><a href="http://www.javaprogressivo.net/2012/10/descobrindo-classe-de-um-objeto.html" target="_blank">Descobrindo a classe de um Objeto</a><br /><span style="color: red;"><b>Apostila Caelum resolvida:</b></span> <a href="http://www.javaprogressivo.net/2013/10/Apostila-de-Java-capitulo-7-Heranca-reescrita-override-polimorfismo.html" target="_blank">Capítulo 7 - Herança, reescrita (override) e Polimorfismo</a><br /><br /><b style="color: red;">Jogo: </b><a href="http://www.javaprogressivo.net/2012/10/Como-fazer-um-Jogo-da-Velha-em-Java.html" target="_blank">Jogo da Velha em Java</a> (Humano x Humano)<br /> <a href="http://www.javaprogressivo.net/2012/10/Codigo-comentado-sobre-como-criar-um-Jogo-da-Velha-em-Java.html" target="_blank">Código comentando sobre como fazer um Jogo da Velha em Java</a><br /><br /><br /><br /></div><div><h2><b style="font-family: inherit;"><span style="font-size: x-large;">Strings e Caracteres: Escrevendo em Java</span></b></h2><ul></ul><span style="font-family: inherit;">01. <a href="http://www.programacaoprogressiva.net/2012/07/java-classe-string.html" target="_blank">A Classe String</a></span><br /><span style="font-family: inherit;">02. <a href="http://www.programacaoprogressiva.net/2012/07/java-classe-stringbuilder.html" target="_blank">A Classe StringBuilder</a> </span><br /><span style="font-family: inherit;">03. <a href="http://www.programacaoprogressiva.net/2012/07/java-classe-character.html" target="_blank">A Classe Character</a></span><br /><span style="font-family: inherit;">04. <a href="http://www.programacaoprogressiva.net/2012/08/java-expressoes-regulares-regex-em-java_2423.html" target="_blank">Regex: Usando as Expressões Regulares em Java</a></span><br /><br /><span style="font-family: inherit;"></span><br /><ul><span style="font-family: inherit;"></span></ul><h2><span style="font-family: inherit; font-size: x-large;">Programação Gráfica em Java, pt II: desenhos, fontes e figuras geométricas em 2D</span></h2><div><span style="font-family: inherit;">00. <a href="http://www.javaprogressivo.net/2012/11/JFrame-e-JPanel-Introducao-ao-estudo-de-GUI-em-Java.html" target="_blank">JFrame e JPanel: Introdução ao estudo de GUI</a></span><br /><span style="font-family: inherit;">01. <a href="http://www.javaprogressivo.net/2012/11/JFrame-e-JPanelDesenhando-em-Java.html" target="_blank">JFrame e JPanel: como criar uma aplicação gráfica em Java</a></span><br /> <b><span style="color: red;">Vídeo-aula: </span></b><a href="http://www.javaprogressivo.net/2012/12/video-aula-sobre-gui-e-jframe.html" target="_blank">GUI e JFrame</a></div><div>02. <a href="http://www.javaprogressivo.net/2012/11/Como-desenhar-linhas-em-Java.html" target="_blank">Desenhando Linhas</a><br />03. <a href="http://www.javaprogressivo.net/2012/11/O-que-sao-e-como-usar-os-metodos-getWidth-e-getHeight.html" target="_blank">O que são e como usar os métodos getWidth() e getHeight()</a><br /> 2.2 <a href="http://www.javaprogressivo.net/2012/11/Criando-alguns-desenhos-interessantes-apenas-com-Linhas-em-Java.html" target="_blank">Exemplos de desenhos interessantes apenas usando Linhas</a><br />04. <a href="http://www.javaprogressivo.net/2012/11/Como-desenhar-retangulos-e-quadrados-em-Java.html" target="_blank">Como desenhar retângulos e quadrados - Desenhando um Cubo em Java</a></div><div><span style="font-family: inherit;">05. </span><a href="http://www.javaprogressivo.net/2012/08/java-graficos-e-2d-parte-1-usando-o.html" style="font-family: inherit;" target="_blank">Usando o JColorChooser</a></div></div><div>06. <a href="http://www.javaprogressivo.net/2012/08/java-graficos-e-2d-usando-as-fontes_7902.html" style="font-family: inherit;" target="_blank">Usando as fontes</a><br /><span style="font-family: inherit;">07. <a href="http://www.javaprogressivo.net/2012/08/java-graficos-e-2d-poligonos-e.html" target="_blank">Polígonos e Polilinhas</a></span><br /><span style="font-family: inherit;">08. <a href="http://www.javaprogressivo.net/2012/08/java-graficos-e-2d-incrivel-api-java-2d.html" target="_blank">A incrível API Java 2D</a></span><br /><br /><h2><span style="font-size: x-large;">GUI - Graphic User Interface</span></h2><h2><div style="font-size: medium; font-weight: normal;">09. <a href="http://www.javaprogressivo.net/2013/11/JLabel-Como-criar-rotulos-com-textos-e-imagens-em-frames.html" target="_blank">JLabel - Inserindo rótulos com textos e imagens em um JFrame</a><br />10. <a href="http://www.javaprogressivo.net/2013/11/JButton-como-usar-botoes-em-programas-java_7.html" target="_blank">JButton - Como criar botões em aplicativos Java GUI</a><br />11. <a href="http://www.javaprogressivo.net/2013/11/Tratando-eventos-acoes-GUI-Event-Handling-ActionListener-ActionEvent-actionPerformed.html" target="_blank">Tratando evento e ações em GUI - Event Handling, ActionListener, ActionEvent e actionPerformed</a><br />12. <a href="http://www.javaprogressivo.net/2013/11/Tratamento-de-eventos-extends-implements-classe-interna-objeto-anonimo-mudar-background-jframe.html" target="_blank">Tratamento de Eventos - Extends, Implements, Classe Interna e Objeto Anônimo</a><br />13. <a href="http://www.javaprogressivo.net/2013/11/JTextField-JPassword-Caixas-de-texto-e-senha-em-GUI.html" target="_blank">JTextField e JPasswordField - Campos de Login e Senha</a><br />14. <a href="http://www.javaprogressivo.net/2014/04/Tutorial-JCheckBox-Java-Como-Usar-Botoes-Checagem-CheckBox.html" target="_blank">JCheckBox - Caixas de Checagem (CheckBox ou Caixa de Seleção)</a><br />15. <a href="http://www.javaprogressivo.net/2014/05/JRadioButton-Botao-Radio-Opcao-Tutorial-de-Java-GUI.html" target="_blank">JRadioButton - Botões de Rádio ou de Opção</a></div></h2><br /><br /></div><div><span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">Adivinhe o que número que o computador sorteou, modo gráfico.</span><br /><span style="color: red;"><b>Jogo: </b></span><a href="http://www.javaprogressivo.net/2012/08/java-gui-events-listeners-handlers-e_5699.html" target="_blank">Fazendo um jogo para aprender GUI, Handlers, Events e Listeners</a><br /><span style="font-family: inherit;"><br /></span><span style="font-family: inherit;"><br /></span><br /><h2><span style="font-family: inherit; font-size: x-large;">Arquivos (Files): Escrevendo (writing) , lendo (reading) , anexando (appending) e manipulando</span></h2><br /><span style="font-family: inherit;">01. <a href="http://www.javaprogressivo.net/2014/01/Arquivos-Files-em-Java.html" target="_blank">Arquivos (Files) - O que são, para que servem e o que é possível fazer</a></span><br />02. <a href="http://www.javaprogressivo.net/2014/01/Entrada-Saida-Tipos-de-dados-Fluxo-stream-Java-io.html" target="_blank">Entrada, Saída e Tipos de Dados - Fluxo (<i>stream</i>) e o Pacote Java.io</a><br />03. <a href="http://www.javaprogressivo.net/2014/01/Como-ler-caracteres-Strings-Bytes-de-arquivos.html" target="_blank">Como ler caracteres, Strings e Bytes de um arquivo</a><br /><span style="font-family: inherit;">04. <a href="http://www.programacaoprogressiva.net/2012/08/java-class-file-classe-file.html" target="_blank">Class File ( a classe File ) - Obtendo informações de arquivos e diretórios</a></span><br /><span style="font-family: inherit;">05. <a href="http://www.programacaoprogressiva.net/2012/08/java-class-formatter-classe-formatter_3495.html" target="_blank">Class Formatter ( a classe Formatter ) - Escrevendo em arquivos</a></span><br /><span style="font-family: inherit;">06. <a href="http://www.programacaoprogressiva.net/2012/08/java-class-scanner-classe-scanner-lendo.html" target="_blank">Class Scanner ( a classe Scanner) - Lendo e Recebendo dados de arquivos</a></span><br /><br /><br /><ul><li><a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank"><b>Clique aqui se desejar obter seu certificado do Curso de Java</b></a></li></ul></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-37710978607989342612023-01-05T11:28:00.004-03:002023-01-05T11:28:50.285-03:00Computação, Programação e Linguagens de Programação<p> E aí, animado para entrar no fantástico mundo da programação?</p><p>Mas, calma! Não vamos sair te enchendo de códigos, explicações complexas e genéricas que gostam de fazer por aí. Vamos bem calma, voltar bem pro básico...ok?</p><h2 style="text-align: left;"><span style="color: #38761d;">O que é Computação ?</span></h2><p>Quando falamos em computação, a primeira coisa que nos vem a mente é: computador.<br />"Meu sobrinho, Vandergleisson, é muito bom nessas coisa de computação" - certamente você já ouviu de alguma tia.</p><p>Mas aí, as pessoas costumam cair em um erro comum: confundir computação com informática. E não falo só de leigos, até nas universidades mesmo, as pessoas entram em cursos como Computação, Análise e Desenvolvimento de Sistemas, Engenharia de Computação ou Software, pois se acham bom com 'computadores'.</p><p>Mas se acham bons porque...são bons com informática. São usar bem o Windows, configurar as coisas, mexer aqui e acolá no Office, formatar PC, instalar um sistema operacional e até usar o Linux.<br />Não que isso seja ruim ou errado, ok? Muito pelo contrário, a melhor característica de um bom programador é ser auto-didata, aprender as coisas por conta própria, ter curiosidade de fuçar e descobrir as coisas.</p><p>E aqui vem o primeiro choque de realidade: computação tem a ver com Matemática, mais especificamente, com lógica. É raciocínio e criatividade pura. Se tem facilidade e/ou gosta de exatas, já tem boas chances de se dar bem na área.</p><p>Computação, vem de computar...que é contar, calcular. E é basicamente isso que os computadores fazem: cálculos! Milhões, bilhões ou até trilhões de cálculos por segundo (em caso de supercomputadores).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLLjmdg9RIC0le4M47_Zw4OGTakPCNU3lq0IBL4E5OToocipQS-SGYHQVVXRNlIiVThrxn79LMt7dv8178DUf5nquNN2ymdxJQD6OdhIPZWSiYgQpYUd8klZsNjKfxOtD7Ftez26xJV3xU4hzMF4Nf4_nSPlXuwr7Pzv_VXb3U-tB4QZrnjfsdXcOIjQ/s1200/computacao-programacao-linguagem-de-programacao.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="O que é computação ?" border="0" data-original-height="800" data-original-width="1200" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLLjmdg9RIC0le4M47_Zw4OGTakPCNU3lq0IBL4E5OToocipQS-SGYHQVVXRNlIiVThrxn79LMt7dv8178DUf5nquNN2ymdxJQD6OdhIPZWSiYgQpYUd8klZsNjKfxOtD7Ftez26xJV3xU4hzMF4Nf4_nSPlXuwr7Pzv_VXb3U-tB4QZrnjfsdXcOIjQ/w320-h213/computacao-programacao-linguagem-de-programacao.jpg" title="Computação, Programação e Linguagens de Programação" width="320" /></a></div><p><br /></p><p>Mas eles não fazem isso do nada, por conta própria...alguém precisa dizer pra eles o que fazer e como fazer...e essa pessoa, é você, meu caro estudante Java Progressivo.</p><p>E como vai fazer isso? Se comunicando com sua máquina, ué...e toda comunicação, é feita por meio de alguma linguagem.</p><h2 style="text-align: left;"><span style="color: #38761d;">O que é uma Linguagem de Programação ?</span></h2><p>Esqueça a parte do 'programação', por enquanto.<br />O que é uma linguagem?</p><p>Eu estou me comunicando agora, com você, por meio de uma linguagem: a língua portuguesa escrita.<br />Uma pessoa que não enxerga, também se comunica com língua portuguesa, mas por meio de som (falando).<br />Uma pessoa que não escuta nem fala, pode se comunicar por meio de outra linguagem, a de libras.</p><p>Muitos se comunicam com inglês, espanhol, mandarim...</p><p>Desse mesmíssimo jeito, precisamos nos comunicar com o computador também:<br />"Ei, computador, cria uma rede social!"<br />"Celular, faça um game de sucesso, quero ficar rico"</p><p>Não vai dar em nada (quem dera, né?). As máquinas entendem outros tipos de linguagem (mais especificamente, código de máquina, binário).</p><p>E é aí que entram as linguagens de programação, é uma maneira de nós, seres humanos, usarmos uma linguagem que entendemos, para nos comunicarmos com os computadores.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu5sQ1ee3o1pEC7zkhP7nK9lOaeMDDBI_QkYIja7AxyuvM19MRs7_cKmof-Bd0-T0ygO2ZY8UJ6nskpU0SGPXt3yndqzYJcUEVu9QvrQR2sdWbzY31rbSeB4vAzHRQ97s4r64QQf2MYrgKoGV-kDfHAuu7O4mMb9IK4Ruqf-eQxNAryVYJO0CH0LQP2g/s620/linguagens-de-programacao.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Linguagens de Programação" border="0" data-original-height="258" data-original-width="620" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu5sQ1ee3o1pEC7zkhP7nK9lOaeMDDBI_QkYIja7AxyuvM19MRs7_cKmof-Bd0-T0ygO2ZY8UJ6nskpU0SGPXt3yndqzYJcUEVu9QvrQR2sdWbzY31rbSeB4vAzHRQ97s4r64QQf2MYrgKoGV-kDfHAuu7O4mMb9IK4Ruqf-eQxNAryVYJO0CH0LQP2g/w320-h133/linguagens-de-programacao.png" title="O que é uma linguagem de programação" width="320" /></a></div><br /><h2 style="text-align: left;"><span style="color: #38761d;">O que é Programação ?</span></h2><p>Se eu falar pra você:<br />"Só tome cuidado com o cabo da vassoura, é pior do que cenoura, você pode se dar mal"<br />O que você entende? Está usando a língua portuguesa, sem erros ortográficos...mas, eu particularmente, não entendo nada (quem souber, escreve nos comentários).</p><p>E se eu te disser:<br />"Freeze this moment<br />A little bit longer<br />Make each sensation<br />A little bit stronger<br />Experience slips away<br />Time stand still<br />I'm not looking back<br />But I want to look around me now<br />See more of the people<br />And the places that surround me Now"</p><p>Bonito, não é? A letra diz pra congelar um pouco mais aquele momento especial que a gente viveu...intensificar aquela sensação...não estou só olhando pro passado, mas queria olhar um pouco mais ao meu redor também, apreciar as pessoas, lugares e experiências. É uma letra de minha banda favorita, Rush.</p><p>Ou seja...não basta saber a linguagem, as palavras...elas tem que fazer sentido!</p><p>E aí que entra a programação! Vamos aprender um conjunto de regras, de procedimentos, de padrões, para podermos nos comunicar de uma maneira boa com as máquinas, usando corretamente as linguagens de programação.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-_v3-496591qZCQwOSNEbPiEc7SKdSejEMrl7FEkR5ChsPDoq0sPaAhX-3tHuZzJJ-qed4-mOvMgitKS3MHp5oBzK-Ugv79z2-MpB-Lrfm0_qqh-KNhlEHZInqhU4wvXcufSn3o5g8dhj5MG1bqDcCLKxnBaBHkpZwjS3Nxv6DhsHkZSRqLQOWgTyDw/s800/o-que-e-programacao.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Programação em Java" border="0" data-original-height="470" data-original-width="800" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-_v3-496591qZCQwOSNEbPiEc7SKdSejEMrl7FEkR5ChsPDoq0sPaAhX-3tHuZzJJ-qed4-mOvMgitKS3MHp5oBzK-Ugv79z2-MpB-Lrfm0_qqh-KNhlEHZInqhU4wvXcufSn3o5g8dhj5MG1bqDcCLKxnBaBHkpZwjS3Nxv6DhsHkZSRqLQOWgTyDw/w320-h188/o-que-e-programacao.png" title="O que é programação" width="320" /></a></div><p><br /></p><p>Temos que passar instruções claras, diretas, concisas e, de preferência, que sejam bem eficientes, rápidas para executar.</p><p>E aí, partiu aprender essas regras, da programação, para criarmos ótimas instruções para as máquinas fazerem todo tipo de cálculos?</p><p>Pois fique sabendo que vai aprender uma das linguagens mais importantes, fantásticas, poderosas e usadas no universo, o Java!</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-30215715785491055342023-01-04T18:54:00.000-03:002023-02-24T15:36:28.134-03:00Olá, Mundo! - Como fazer o primeiro programa em Java<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhALoS2ldmNyKcBNSULQh3y1zyA36Ms1DuXeiOp0l_0--NrlewgKFHCsDaDC98HYqAwKDhTlMgMbzd0vE8sxV-w2H-ZMmKso9KzKuETI_MamTt-8Y30YenldtcKi80zHsJ_9ytYSPsOXKQKk1p6iO180CBK8FvMXO6BsPAOAbjcU5XX4zOsPV4j8nOdEw/s72/ola-mundo-primeiro-programa-java.png" style="clear: left; display: inline; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img alt="Hello, world em Java" border="0" data-original-height="72" data-original-width="72" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhALoS2ldmNyKcBNSULQh3y1zyA36Ms1DuXeiOp0l_0--NrlewgKFHCsDaDC98HYqAwKDhTlMgMbzd0vE8sxV-w2H-ZMmKso9KzKuETI_MamTt-8Y30YenldtcKi80zHsJ_9ytYSPsOXKQKk1p6iO180CBK8FvMXO6BsPAOAbjcU5XX4zOsPV4j8nOdEw/s16000/ola-mundo-primeiro-programa-java.png" title="Olá, mundo em java" /></a> Agora que você já sabe <a href="https://www.javaprogressivo.net/2023/01/Baixar-instalar-Como-Comecar-Programar-Java.html">o que baixar e instalar para programar em Java</a>, vamos de fato, e finalmente, colocar a mão na massa e criar nosso primeiro programa nessa tão amada e famosa linguagem.</p><p></p><p>Vamos aprender como usar a linguagem Java para exibir uma mensagem na tela:</p><p>Até que enfim, né? Já tava na hora...que demora...</p><h2><span style="color: #38761d; font-size: x-large;">Abrindo e configurando o NetBeans</span></h2><p>A gente te indicou o NetBeans por um motivo bem simples: ele é absurdamente fácil e simples de baixar, instalar, configurar e começar a usar. Não vai ter que fazer praticamente nada, na verdade.</p><p>Após baixar, vai lá fazendo o básico de "Next", "Next", "Ok", "Li e aceito os termos de condição" (o que é mentira, eu sei que você nunca lê)...e abra.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCv_LZ2a_8K-ZuiYaesJj5Tb2BLnqdSbzFsZTwqWma2kEhra_3W9lwpRg00gimv7s7ntZdLtvGCcHEA7N5F2Djh2k1AT3oULM-gi2DVreOicPekbQduS2pCTL2A4ek3bVjQJfVv7N8n1yfqqOORyduw371m3Pdv5aE_Dz0mGkHVRQi8kdKC-wWAlV0Bg/s1222/netbeans-ide-como-programar-java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como usar o NetBeans" border="0" data-original-height="640" data-original-width="1222" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCv_LZ2a_8K-ZuiYaesJj5Tb2BLnqdSbzFsZTwqWma2kEhra_3W9lwpRg00gimv7s7ntZdLtvGCcHEA7N5F2Djh2k1AT3oULM-gi2DVreOicPekbQduS2pCTL2A4ek3bVjQJfVv7N8n1yfqqOORyduw371m3Pdv5aE_Dz0mGkHVRQi8kdKC-wWAlV0Bg/w640-h336/netbeans-ide-como-programar-java.png" title="Como criar o primeiro programa em Java" width="640" /></a></div><br /><p>Em comparação com outras IDEs, como Eclipse, eu acho até bem simples e limpo.</p><p>O próximo passo, é criar um novo projeto. Por isso, vá em File -> New Project:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71c9nifPUlNqK4BcHPEwRWuLcCBefbpoATpdWKQuGZ_Q6xc6piViOQfRd6ZGeNfs7tDOai-9pXIDr-ibX96Sc9v8g_h21ZbDrAVTbK4n56BziThm_HnEsZ2aN9tFiFHo7gOmInu8zYN-Kso4pj2lAd1Ir7tN5htH_DNci048o-zX839S2hTj5QSF7Vw/s248/como-criar-programa-java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como fazer o primeiro programa em Java" border="0" data-original-height="88" data-original-width="248" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71c9nifPUlNqK4BcHPEwRWuLcCBefbpoATpdWKQuGZ_Q6xc6piViOQfRd6ZGeNfs7tDOai-9pXIDr-ibX96Sc9v8g_h21ZbDrAVTbK4n56BziThm_HnEsZ2aN9tFiFHo7gOmInu8zYN-Kso4pj2lAd1Ir7tN5htH_DNci048o-zX839S2hTj5QSF7Vw/w400-h142/como-criar-programa-java.png" title="Como criar um projeto em Java no NetBeans" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div>Como podem ver na tela seguinte, existe uma enorme possibilidade de projetos que você pode fazer usando o NetBeans, como programas empresariais ou até aplicações web. Selecione "Java Application" e clique em Next:<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiXGCr7rzZAPhpeSrN3Rq_GNjVT_XfqvZul7zGaAJS1U3rmR_Gwy1PdDpv26o8Gcrif-zUVrcyt9YGubzF7CuzhbA7dZ4z03Fe15vpyB18rBgv5Qq_-cacbZfen5wpIQH-ZHHFxP5CUeNcnc-EmJfag27yOrgsxWMmW4-W3Zbub5nVdJ8IeWToZ6LHMA/s521/java-application-netbeans.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Criar projeto em Java no NetBeans" border="0" data-original-height="470" data-original-width="521" height="361" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiXGCr7rzZAPhpeSrN3Rq_GNjVT_XfqvZul7zGaAJS1U3rmR_Gwy1PdDpv26o8Gcrif-zUVrcyt9YGubzF7CuzhbA7dZ4z03Fe15vpyB18rBgv5Qq_-cacbZfen5wpIQH-ZHHFxP5CUeNcnc-EmJfag27yOrgsxWMmW4-W3Zbub5nVdJ8IeWToZ6LHMA/w400-h361/java-application-netbeans.png" title="Como fazer um programa em Java no NetBeans" width="400" /></a></div><br /><p>Em seguida, você precisa criar o nome de seu projeto, digite "MeuPrimeiroPrograma":</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfUpnBkBMZ1LY7HaoBpGYW-kkFa7rW2BXl0q3clOKqxcv-IolW5_h3Ry2UyjM38qMJBifE-YS2HIAoYLsWQ32h7g-Y2H5xtVEJ6lhpNI2Oljlp6v-aTFJAdX-dcAjPsgd9ck22qOne74324HmSXVieG_FtawZJiaca3JbhObQCcCGbFNqnyObHESTZAw/s749/MeuPrimeiroPrograma.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como fazer um projeto em Java" border="0" data-original-height="507" data-original-width="749" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfUpnBkBMZ1LY7HaoBpGYW-kkFa7rW2BXl0q3clOKqxcv-IolW5_h3Ry2UyjM38qMJBifE-YS2HIAoYLsWQ32h7g-Y2H5xtVEJ6lhpNI2Oljlp6v-aTFJAdX-dcAjPsgd9ck22qOne74324HmSXVieG_FtawZJiaca3JbhObQCcCGbFNqnyObHESTZAw/w400-h271/MeuPrimeiroPrograma.png" title="Como fazer um programa em Java" width="400" /></a></div><br /><p>Clique em Finish e aguarde o NetBeans criar seu projeto. </p><p><br /></p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Como rodar um programa Java no NetBeans</span></h2><p>Vai aparecer uma tela com o seguinte código:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #666666; font-style: italic;">/*</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #666666; font-style: italic;"> * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #666666; font-style: italic;"> */</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: green; font-style: italic; font-weight: bold;">/**</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: green; font-style: italic; font-weight: bold;"> *</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: green; font-style: italic; font-weight: bold;"> * @author user</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: green; font-style: italic; font-weight: bold;"> */</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Hello, World!"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Dê uma "limpada" nele e substitua por:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Olá, Mundo!"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Agora, vamos rodar ele! Procure uma setinha verde lá em cima, tipo um símbolo de Play.<br />Se pousar o mouse em cima desse símbolo, vai aparecer "Run project":</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfm2o8zEz1qjmuZbLPhPgWBLxKOjriXHTNusHZZwfgKIyqEq09w04cAUjZvRysqYgviW7Rwc2ex3pvsCL7wC59bx94tTqT7O2wlqtEg8gUIXuemTf2xlJ24KZyRD4h-vNaU97Ow_gJ-2fQ0e_gLiOTGz9mKooeBDphGIlwChvsLW7pkiY-1pWSdfvs1A/s428/rodar-projeto-run-java-netbeans.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como rodar um projeto em Java no Netbeans" border="0" data-original-height="103" data-original-width="428" height="96" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfm2o8zEz1qjmuZbLPhPgWBLxKOjriXHTNusHZZwfgKIyqEq09w04cAUjZvRysqYgviW7Rwc2ex3pvsCL7wC59bx94tTqT7O2wlqtEg8gUIXuemTf2xlJ24KZyRD4h-vNaU97Ow_gJ-2fQ0e_gLiOTGz9mKooeBDphGIlwChvsLW7pkiY-1pWSdfvs1A/w400-h96/rodar-projeto-run-java-netbeans.png" title="Como fazer um programa funcionar no Netbeans" width="400" /></a></div><p>Clique lá (ou aperte F6) e veja o resultado, lá em baixo:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0u1PIBwiLGacpNXeAwAaMJIui7kyfn3pOjhlEmnwbeUlRgvJkAm0U16YPnuPEPpBESpTgFfvi8Afm7xDS0ckRbtA7L-Xi8NlQnCa-bl1Qw5FBpR-mR-ShRPvxgL4rse99WcDlGbSW89u0c7PD02WDTMmqlZOwRoYq7-0hi4ytPd0eVH0ky0q_rabTw/s471/resultado-primeiro-programa-java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Resultado do Olá mundo em Java" border="0" data-original-height="236" data-original-width="471" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0u1PIBwiLGacpNXeAwAaMJIui7kyfn3pOjhlEmnwbeUlRgvJkAm0U16YPnuPEPpBESpTgFfvi8Afm7xDS0ckRbtA7L-Xi8NlQnCa-bl1Qw5FBpR-mR-ShRPvxgL4rse99WcDlGbSW89u0c7PD02WDTMmqlZOwRoYq7-0hi4ytPd0eVH0ky0q_rabTw/w400-h200/resultado-primeiro-programa-java.png" title="Como fazer o Olá mundo em Java" width="400" /></a></div>Essa é a tela de "output" (saída), é o resultado final do seu programa, onde as coisas vão aparecer, inicialmente. É como se fosse o terminal de comando, mas dentro do NetBeans.<br /><p>E prontinho! Está ali o resultado: "Olá, Mundo!"<br />No seu primeiro programa, em Java, você fez aparecer um mensagem na tela.</p><p><br /></p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Explicando o código do primeiro programa em Java</span></h2><p>Antes de tudo, respira e tenha calma! Provavelmente a única coisa que você entendeu dessa sopa de letrinhas foi o "Olá, mundo!". Comigo também foi assim! E com todo mundo!</p><p>Mas não precisa ter pressa, com o passar do nosso <b>curso de Java</b>, você vai entender tudo e vai terminar é dando aula, ok?</p><p>Primeiro, a gente criou um pacote (<i>package</i>), que como o próprio nome sugere, é uma espécie de pacote, que serve para armazenarmos nossas classes de código Java. Veja onde você configurou para salvar seus projetos do NetBeans, e vai ver que foi criado uma pasta chamada MeuPrimeiroPrograma.</p><p>As classes nada mais são que essas 'páginas', ou 'folhas' de código. Certamente você já deve ter ouvido falar de classes e objetos, em Java. No decorrer do curso vamos explicar melhor isso.</p><p>Em seguida, foi criada nossa classe, de nome MeuPrimeiroPrograma. Ela é do tipo <i style="font-weight: bold;">public</i>, pois pode ser acessada por outras classes (podemos deixar ela privada, por exemplo).</p><p>Dentro dela, tem um tipo especial de código, chamado <b>método</b>, que é método<i> main</i>, que é o principal do código. Ele é especial, pois o Java vai procurar sempre esse método (bloco de código), para iniciar o programa a partir dele.</p><p>Por fim, dentro desse método tem um comando, o <b>print</b> , que serve para imprimir uma mensagem na tela.</p><p>Veja como cada classe começa e termina com chave: { }<br />Assim como cada método tem seu próprio par de chaves { }</p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Exercícios de Java</span></h2><p>Sem dúvidas, uma das características mais importantes de um programador, é sua curiosidade. Vamos fazer uns testes?</p><p>Tire uma aspa, de dentro do comando <b>print</b>, e rode o programa. O que aconteceu na saída?<br />Agora tira uma das chaves da classe <b>MeuPrimeiroPrograma</b> e depois do método <b>main</b>. O que aconteceu?</p><p>Escreva nos comentários saída do código.</p></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-555760907899454620.post-61792159497016492062023-01-03T15:53:00.000-03:002023-02-24T15:36:16.009-03:00O que é o Java? Para que serve? Onde é usado?<p> Agora que já temos uma boa noção sobre <a href="https://www.javaprogressivo.net/2023/01/O-que-e-Computacao-Programaca--Linguagem-de-Programacao.html" target="_blank">o que é computação, programação e uma linguagem de programação</a>, vamos nos aprofundar mais especificamente na linguagem Java.</p><p>Afinal, o que é o Java? Para que serve? Onde se usa? Qual o diferencial desta linguagem para outras? Vale a pena aprender Java? Não seria melhor estudar outra? O que é possível fazer com essa linguagem? Posso criar um jogo em 10 min e ficar bilionário ou usá-la para invadir o FBI?</p><h2 style="text-align: left;"><span style="color: #6aa84f;">O que é Java ?</span></h2><p>Bom, como você já deve ter suspeitado, Java é uma linguagem de programação. Sendo mais formal e técnico, é uma linguagem de programação orientada a objetos.</p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg07_3FPlnqFjg_j2wACCHTrjSFxHy5_yvg-l6xVhgRNxIHTkXVrMOiIPxFkM9vD4vlkNsQIJCXw18PDw-3Rt7DIDSRFR5gYcAT_OHjwvn81Jh0xgEMlxpS2nDJeqFAIeIuBJ65S2rPiN9jS0StCuhNDb-23V86_5hpXzFg22wBRbIgOIza4QK6L6BsMw/s428/java-logotipo.png" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="O que é a linguagem de programação Java" border="0" data-original-height="428" data-original-width="234" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg07_3FPlnqFjg_j2wACCHTrjSFxHy5_yvg-l6xVhgRNxIHTkXVrMOiIPxFkM9vD4vlkNsQIJCXw18PDw-3Rt7DIDSRFR5gYcAT_OHjwvn81Jh0xgEMlxpS2nDJeqFAIeIuBJ65S2rPiN9jS0StCuhNDb-23V86_5hpXzFg22wBRbIgOIza4QK6L6BsMw/w109-h200/java-logotipo.png" title="Logotipo da linguagem de programação Java" width="109" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Logotipo oficial do Java</td></tr></tbody></table><br /><p></p><p>Orientação a objetos, é um modelo, uma maneira de se programar. Esse método, mais comumente chamado de paradigma, tenta ver e interpretar o mundo, na programação, através da interação de 'objetos', através da abstração de 'classes'.</p><p>Tenha calma. Não precisa entender agora. Nem eu entendi, ninguém entendeu de primeira. Mas vá guardando essas palavras na sua mente: orientação a objetos (OOP ou POO), classes, objetos e mais os quatro pilares desse tipo de paradigma de programação: abstração digital, encapsulamento, herança e, polimorfismo.</p><p>Prometo para você, que ao longo do curso, nos momentos certos, você vai entender tudo perfeitamente bem, com muitos exemplos do mundo real, de exemplos de programa, códigos comentados, exercícios, jogos e vários projetos.</p><p><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f;">Como funciona o Java ?</span></h2><p>Temos site sobre C, C++, JavaScript, PHP, Python...com tantas linguagens, o que faz o Java ser diferente das outras?</p><p>Uma característica bem interessante, é que muitas outras linguagens, como C e C++, transformam o código que você escreve em código de máquina. Sabe aqueles binários, 00111101010101 ? Pois é, é isso que sua máquina entende.</p><p>O Java não transforma diretamente o código que você vai escrever em código de máquina, que vai rodar no seu hardware. Ele é transformado em outro tipo de código, chamado <b>bytecode</b>. E o que tem de especial nisso?</p><p>É que esse código vai ser interpretado por máquina virtual, chamada Java Virtual Machine, a JVM. E mais uma vez, qual a vantagem disso?</p><p>Quando você escreve um código C, por exemplo, no Windows, pode ter sérios problemas se tentar rodar no Linux. Dificilmente vai rodar num celular, e talvez tenha até problemas em outro PC, com mesmo sistema operacional. Isso porque o código C vai direto na máquina.</p><p>A beleza do Java é que tanto faz você escrever ele no Windows, Linux, celular, microondas...ele transforma o código em bytecode, e quando você vai rodar o código, a JVM vai interpretar ele em qualquer máquina!</p><p>De fato, um dos lemas do Java é: escreva uma vez, rode em qualquer lugar.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6J_z5_AqWH4y9Ztp96OHwshAZeo-tqpUl-2AURxcI_3NWZepvC4ZYVZOuntop-VvU7DbPLiQHUyMmj3MyI-65K2mJIpgerex-n-6BMUZdSxFGXujASCzX_xlOSmxEGW_UKga1X1UTHH_VmQ3uwvujexJUKdfDzFFP3NmD62uHENDEqBjXLzY0_9Xyg/s820/java-virtual-machine-jvm-como-funciona.png" style="margin-left: auto; margin-right: auto;"><img alt="Como funciona a Java Virtual Machine" border="0" data-original-height="431" data-original-width="820" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6J_z5_AqWH4y9Ztp96OHwshAZeo-tqpUl-2AURxcI_3NWZepvC4ZYVZOuntop-VvU7DbPLiQHUyMmj3MyI-65K2mJIpgerex-n-6BMUZdSxFGXujASCzX_xlOSmxEGW_UKga1X1UTHH_VmQ3uwvujexJUKdfDzFFP3NmD62uHENDEqBjXLzY0_9Xyg/w640-h336/java-virtual-machine-jvm-como-funciona.png" title="Java Virtual Machine JVM" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Arquitetura da Java Virtual Machine</td></tr></tbody></table><p><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f;">Qual o diferencial do Java ?</span></h2><p>Na verdade, a linguagem Java é apenas uma parte de um projeto maior, a Plataforma Java.</p><p>Certamente, bem antes de se interessar em programar nesta linguagem, você já deve ter 'baixado o Java', para rodar alguns programas e jogos.</p><p>Essa característica, de ser multi-plataforma, começou a surgir quando passamos a usar cada vez mais dispositivos computacionais diferentes. Hoje temos um PC no quarto, levamos um notebook pra faculdade, usamos um celular no ônibus, ouvimos uma música no aplicativo do carro...até as geladeiras tem computadores embutidos!</p><p>Tudo isso tem arquiteturas computacionais diferentes, memórias, velocidades de processamento, tamanho de telas...tudo diferente! Imagina ter que programar um código diferente, para cada tipo de dispositivo diferente?</p><p>Conseguem ver o potencial que esta linguagem tem?</p><p><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f;">Onde o Java é usado ?</span></h2><p>A utilidade e aplicação da linguagem Java é tão grande, mas tão grande, que é difícil saber por onde começar. Simplesmente, é uma das linguagens mais usadas no mundo, há décadas. E olha que é uma linguagem jovem, de menos de 30 anos.</p><p>Mas, vamos lá...muito provavelmente você está com o celular na mão ou bem próximo de você. Se usar Android, é Java do começo ao fim. Na sala, tem uma TV que talvez use Java.</p><p>Java é muito utilizada em servidores web também. Ah, e é muito famosa e respeita para criação de programas corporativos, esses de empresa mesmo, farmácias, supermercados etc.</p><p>Aliás, falando em mundo...foi a primeira linguagem a ser utilizada em outro planeta. A linguagem foi usada para controlar um rover em Marte!</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhozU9YqeXpT0dLlAuALQHWeMUYz723WjHkbSbv6yq6JECy4NhgzjTsNaAcTck72Mkmelt0menP9YoYkJ5hE7YmJ3plip5ZQ4KwlpAHlv2ip-zVKYHCNWI6ywR1yVvM0j1wCDAtNFzT3tFlwK07Q8VBVOx6xhwBidF2PD2Qq_j9boVpfKhyMfYPBYS04A/s700/rover-marte-onde-java-e-usado.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Java usado em um rover em Marte" border="0" data-original-height="492" data-original-width="700" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhozU9YqeXpT0dLlAuALQHWeMUYz723WjHkbSbv6yq6JECy4NhgzjTsNaAcTck72Mkmelt0menP9YoYkJ5hE7YmJ3plip5ZQ4KwlpAHlv2ip-zVKYHCNWI6ywR1yVvM0j1wCDAtNFzT3tFlwK07Q8VBVOx6xhwBidF2PD2Qq_j9boVpfKhyMfYPBYS04A/w400-h281/rover-marte-onde-java-e-usado.png" title="Onde a linguagem Java é usada" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Sistema que controlou esse robozinho em Marte, feito em Java</td></tr></tbody></table><p>A busca da WikiPedia, é em Java.<br />Minecraft, um dos jogos mais famosos no mundo, é Java.</p><p>E já te introduzindo no fantástico mundo da programação: grandes sistemas raramente são feitos usando apenas uma linguagem, é comum usarem diversas linguagens.</p><p>Já navegou na internet? Tem um tal de Chrome, que usa Java.<br />Lembra de um tal MSN Messenger? Tem Java (estamos ficando velhos, né?)<br />Skype? Já ouviu falar num tal Microsoft Office? Tem MUITO Java lá.</p><p>Santander? Itaú? Bradesco? Muito Java, em todo canto.</p><p>Algo mais recente? Netflix, Spotify, LinkedIn, Uber, Amazon...</p><p>Pessoal, aprendendo Java, o mundo está aberto para você. Pode fazer coisas para Web, programas para empresas, aplicativos, jogos, usar no meio acadêmico...é bem comum, mas bem comum mesmo, a busca de profissionais que dominem o Java.</p><p>É, amplamente, reconhecida como uma linguagem voltada para o mercado de trabalho. Então, se busca um emprego, ganhar dinheiro sendo programador, está no caminho e site certo para isso, vamos te dar todo o suporte, ajuda e informações necessárias para ser o melhor e mais completo profissional Java.</p><p>Só não esqueça da gente quando virar milionário, tá? 😁</p>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-555760907899454620.post-70230108433633598412023-01-02T15:11:00.000-03:002023-02-24T15:36:06.064-03:00Como exibir linhas de texto em Java<p> Agora que você já aprender <a href="https://www.javaprogressivo.net/2023/01/Como-fazer-primeiro-programa-Java-Ola-mundo.html">como criar o primeiro programa em Java</a>, e exibiu uma mensagem de "Olá, mundo" na tela, vamos nos aprofundar um pouco mais nesse assunto.</p><p><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f; font-size: x-large;">O comando print em Java</span></h2><p>Em nosso primeiro programa em Java, fizemos o seguinte código:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Olá, Mundo!"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; margin: 0px 0px 0.25em; padding: 0px; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Agora me diz, você teve curiosidade de alterar ele? Exibir outros textos?<br />Faça aí agora: um programa em Java que exiba a mensagem "O melhor curso de Java, é o Java Progressivo", e poste nos comentários.</p><p>Espero que sim, hein. Um bom programador, por natureza, é curioso e fuça tudo.</p><p>Nós conseguimos essa magistral proeza através do comando <b>print</b>, que printa na tela um texto, que chamamos de <i>string</i>, no mundo da programação (string é um conjunto de caracteres, em breve vamos ter uma sessão do curso só para falar disso).</p><p>Quando falamos em printar, a primeira coisa que nos vem a mente é impressora, não é verdade?</p><p>Mas essa palavrinha em inglês, <b>print</b>, tem um significado bem mais abrangente. Printar é como se fosse 'jogar uma informação', em algum lugar.</p><p>No caso do nosso primeiro programa, jogamos na tela, no terminal de comando.<br />Mas também podemos printar em um arquivo, printar numa página de um site e, sim, podemos printar direto na impressora também (existem comandos para enviar informações direto para a impressora, sabia?).</p><p><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f; font-size: x-large;">Imprimir várias linhas de texto em Java</span></h2><p>Uma coisa interessante, é que você pode usar os comandos, em programação Java, quantas vezes você quiser e forem necessárias. Então, vamos adicionar outro comando de print? Queremos exibir na tela, a mensagem:</p><p>O melhor curso de Java é:<br />Java Progressivo</p><p>Veja que tem duas linhas de texto, então vamos usar o comando <b>print</b> duas vezes, ok? Veja como fica:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>Alguns pontos importantes:</p><p></p><ol style="text-align: left;"><li>Ao final de todo e qualquer comando, devemos usar o ponto e vírgula: ;<br /></li><li>O comando print tem que estar dentro do método main()</li><li>Isso não é obrigatório, mas é uma boa prática de programação: veja como os comandos System.out.print() estão alinhados, um abaixo do outro, tabulação correta, bem bonitinha, não é?</li></ol><div>Teste os códigos abaixo:<br />Primeiro:<br /><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol>Segundo:</div><div><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol></div><div>Terceiro:</div><div><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="font-size: 1em;"> <span style="box-sizing: border-box; color: #009900;">}</span></span></div></li><li style="box-sizing: border-box; font-size: 12.6px; vertical-align: top;"></li></ol></div><div>Escreva nos comentários, qual o erro de cada um?<br />O terceiro, está errado? Se sim, o quê? Se não, por que não é bacana fazer assim?</div><div><br /></div><h2 style="text-align: left;"><span style="color: #6aa84f; font-size: x-large;">Quebra de linha, como dar o enter: </span><span style="color: red; font-size: x-large;">\n</span></h2><div>O resultado do nosso programa é o seguinte:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBxGka9mKYAbjsIKczAENmdSE0qk9yv6n1N8brjo8bpLFMA_zgQ7oQZ0r99uZneDd7Gm3oUdkmSM_1cqS0vID1Fmoq1vb3dPu1V-LuiE1S7CXpUxADxulmazVKZkxuOI0UAKiunw_s4J8z7EEtMe66PZLsTyHLFD8Wjiy2JF_N2v0l8TdThsmdbFzA7Q/s656/Como-imprimir-linhas-texto-java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como usar o comando print em Java" border="0" data-original-height="78" data-original-width="656" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBxGka9mKYAbjsIKczAENmdSE0qk9yv6n1N8brjo8bpLFMA_zgQ7oQZ0r99uZneDd7Gm3oUdkmSM_1cqS0vID1Fmoq1vb3dPu1V-LuiE1S7CXpUxADxulmazVKZkxuOI0UAKiunw_s4J8z7EEtMe66PZLsTyHLFD8Wjiy2JF_N2v0l8TdThsmdbFzA7Q/w640-h76/Como-imprimir-linhas-texto-java.png" title="Como imprimir linhas de texto em Java" width="640" /></a> </div>Ué! Que coisa xoxa, capenga, manda, frágil e inconsistente é essa?<br />Saiu "O melhor curso de Java é:Curso Java Progressivo" ???<div><div><p></p></div></div><div>Além de ter saído tudo na mesma linha, ainda saiu grudado. O Java é burro? Eu hein!</div><div>Calma, vorazes mestres da arte mágica da programação, o Java fez isso porque você orientou ele a fazer isso: mostrar duas strings na tela!</div><p style="text-align: left;">O que você queria, e não avisou a ele é: fazer uma quebra de linha, o famoso dar o enter!</p><p style="text-align: left;">E no mundo da programação, para dar um enter, se usa o código '\n', que ele vai entender pra dar um pulo na linha. No caso, queremos dar o enter após o primeiro texto, teste aí:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:<span style="box-sizing: border-box; color: #000099; font-weight: bold;">\n</span>"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p style="text-align: left;">Viu só, agora saiu certinho, não foi?</p><p style="text-align: left;">Aliás, olha só que legal: é possível exibir duas linhas de texto, uma abaixo da outra, usando apenas um comando print! Veja:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">print</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:<span style="box-sizing: border-box; color: #000099; font-weight: bold;">\n</span>Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p style="text-align: left;">Parece feio pra gente, né? Mas a máquina entende direitinho, apareceu o \n, ela vai dar um pulo na hora de imprimir, simples assim.</p><p style="text-align: left;"><br /></p><h2 style="text-align: left;"><span style="color: #6aa84f; font-size: x-large;">O comando println: inserindo uma linha automaticamente</span></h2><p style="text-align: left;">Existem vários motivos pela qual a linguagem Java é fantástica. Um deles, é a quantidade de coisa pronta, de comandos existentes e prontos para usar, que facilitam muito a vida do programador, desde coisas complexas até coisas simples, como imprimir uma linha com quebra de linha automática.</p><p style="text-align: left;">Para fazer isso, ao invés de <b>print</b>, use <b>println</b> ('ln' no final, de <i>line</i>), teste aí:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">package</span> <span style="box-sizing: border-box; color: #006699;">enten.meuprimeiroprograma</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span></div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">println</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"O melhor curso de Java é:"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">println</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Curso Java Progressivo"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span></div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p style="text-align: left;">Bacana, não é?</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-11404650493237251372023-01-01T16:45:00.000-03:002023-02-24T15:35:55.646-03:00Como começar a programar em Java - O que precisa baixar e instalar<p> Bom, agora que você já sabe <a href="https://www.javaprogressivo.net/2023/01/Java-O-que-e-Para-que-serve-Onde-se-usa.html" target="_blank">o que é o Java, para que ele serve e onde é usado</a>, vamos parar de conversar e, finalmente, botar a mão na massa.</p><p>Neste <b>tutorial de Java</b>, vamos te mostrar os primeiros passos para começar a programar em Java. Preparados?</p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">O que é preciso para programar em Java ?</span></h2><p>Primeiro, você precisa de um editor de textos. Pode ser qualquer um, de verdade.<br />Os mais famosos, são os Bloco de Notas (NotePad), NotePad++, dentre outros quaisquer. Aqui no Linux, eu uso o gedit.</p><p>Em seguida, você vai digitar o código Java neste, escrever mesmo e em seguida salvar com a extensão .java</p><p>Por exemplo, você cria o primeiro código no editor de texto, escreve o código e salva como MeuPrimeiroPrograma.java</p><p>Veja aqui o código do nosso primeiro programa em Java:</p><ol style="background-color: white; box-sizing: border-box; color: #212529; font-family: monospace; font-size: 12.6px; margin-bottom: 1rem; margin-top: 0px; padding-left: 2rem; white-space: pre;"><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">class</span> MeuPrimeiroPrograma <span style="box-sizing: border-box; color: #009900;">{</span> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: black; font-weight: bold;">public</span> <span style="box-sizing: border-box; color: black; font-weight: bold;">static</span> <span style="box-sizing: border-box; color: #000066; font-weight: bold;">void</span> main<span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: #003399;">String</span><span style="box-sizing: border-box; color: #009900;">[</span><span style="box-sizing: border-box; color: #009900;">]</span> args<span style="box-sizing: border-box; color: #009900;">)</span> <span style="box-sizing: border-box; color: #009900;">{</span> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #003399;">System</span>.<span style="box-sizing: border-box; color: #006633;">out</span>.<span style="box-sizing: border-box; color: #006633;">println</span><span style="box-sizing: border-box; color: #009900;">(</span><span style="box-sizing: border-box; color: blue;">"Hello, world!"</span><span style="box-sizing: border-box; color: #009900;">)</span><span style="box-sizing: border-box; color: #339933;">;</span> </div></li><li style="box-sizing: border-box; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"> <span style="box-sizing: border-box; color: #009900;">}</span> </div></li><li style="box-sizing: border-box; font-weight: bold; vertical-align: top;"><div style="background: none; box-sizing: border-box; font-size: 1em; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1.2em; margin: 0px; padding: 0px; vertical-align: top;"><span style="box-sizing: border-box; color: #009900;">}</span></div></li></ol><p>O próximo passo, é compilar este arquivo .java<br />Compilar é quando você usa um programa externo que vai transformar esse arquivo .java em um código bytecode, onde só a JVM (Java Virtual Machine) vai entender. A gente pode compilar isso através do terminal de comando, com o comando:</p><p><b>javac MeuPrimeiroPrograma.java</b></p><p>No caso, na minha máquina já tem o compilador, o javac.<br />Ele vai criar o arquivo MeuPrimeiroPrograma.class</p><p>Em seguida, basta fazer o Java rodar esse arquivo, com o comando:</p><p><b>java MeuPrimeiroPrograma</b></p><p>Veja como ficou tudo (código no Bloco de notas, arquivos salvo e criado no meu computador, comandos e resultado no terminal):</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIuaFCDztwYq9NDsCEic1_9_LRPH1vh2QO7qp9laqFhYF10bJFC8ZL-05VsrZPQn6BHpUG2a3InNeC0YBHJxkEyr37ZjT1sfE4CltKYsyjJIvwF3_hJHAZUzYcwbUNhE92g31U5WYx68RArB_ne95nQwX4jF5k0DbLf109AnRfvtvm-JuH1I57Jk1_g/s509/Como-programar-em-Java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Como programar em Java" border="0" data-original-height="358" data-original-width="509" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIuaFCDztwYq9NDsCEic1_9_LRPH1vh2QO7qp9laqFhYF10bJFC8ZL-05VsrZPQn6BHpUG2a3InNeC0YBHJxkEyr37ZjT1sfE4CltKYsyjJIvwF3_hJHAZUzYcwbUNhE92g31U5WYx68RArB_ne95nQwX4jF5k0DbLf109AnRfvtvm-JuH1I57Jk1_g/w400-h281/Como-programar-em-Java.png" title="Meu primeiro programa em Java" width="400" /></a></div><p>Posso ser honesto com você?<br />Eu acho isso bem complicado e chato! Muito chato! Imagina toda essa trabalheira, toda vez que for criar um programa em Java!</p><p>Tenho uma boa notícia: vou te mostrar uma maneira beeeeeeem mais fácil de fazer tudo isso!<br />Acompanha.</p><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Como instalar e usar o NetBeans - Tudo fácil, prático e rápido</span></h2><p>Existe um negócio, no mundo da programação, chamado <b>IDE</b> (Integrated Development Environment) ou ambiente de desenvolvimento integrado, que basicamente é um programa com tudo integrado, tudo pronto pra você programar.</p><p>Existem vários, como o <span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">IntelliJ e o Eclipse. Aqui, em nosso curso, vamos começar com o NetBeans, por um motivo bem simples: ele é muito fácil de baixar, instalar e começar a usar.</span></p><p><span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">Não é o mais leve, profissionalmente falando, costumam usar outros como o Eclipse, porém sem dúvida alguma, é o melhor para quem está começando a aprender a programar em Java.</span></p><p><span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">Então vamos lá, baixar ele. Acesse:</span></p><p><span style="background-color: white;"><span face="arial, sans-serif" style="color: #202124;"><a href="https://netbeans.apache.org/" rel="nofollow" target="_blank">https://netbeans.apache.org/</a></span></span></p><p><span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">E faça o download da versão mais recente. Aqui, no momento, aparece a versão Apache NetBeans 16.</span></p><p><span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">Windows: </span><span face="arial, sans-serif" style="color: #202124;"><a href="https://downloads.apache.org/netbeans/netbeans-installers/16/Apache-NetBeans-16-bin-windows-x64.exe">https://downloads.apache.org/netbeans/netbeans-installers/16/Apache-NetBeans-16-bin-windows-x64.exe</a><br />Mac: <a href="https://downloads.apache.org/netbeans/netbeans-installers/16/Apache-NetBeans-16-bin-macosx.dmg">https://downloads.apache.org/netbeans/netbeans-installers/16/Apache-NetBeans-16-bin-macosx.dmg</a><br />Linux (distribuições derivadas do Debian, como Ubuntu): <a href="https://downloads.apache.org/netbeans/netbeans-installers/16/apache-netbeans_16-1_all.deb">https://downloads.apache.org/netbeans/netbeans-installers/16/apache-netbeans_16-1_all.deb</a><br />Arquivo binário, zipado, funciona em todas plataforma, não precisa instalar): <a href="https://downloads.apache.org/netbeans/netbeans/16/netbeans-16-bin.zip">https://downloads.apache.org/netbeans/netbeans/16/netbeans-16-bin.zip</a></span></p><p>Após baixar e instalar tudo, vai ver a seguinte tela:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH4KVfVzvt0wr1PTH3HpajYiDWT58YnquC6JbNPA9WnsAV46EqnUv1C3NZnobs0znneHm_mkTBk0Uy6kwTjcW-STMmrm6U4pWhAPH4TyTU7QdxXwsM3UyM9AhFV1y8L4dCCXNmVZRm6PeZ9qNNj7NxbuA7TQ7sa6DuyXk10CI2HNDh3_pEI_WQCGVO6w/s1222/netbeans-ide-como-programar-java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="O que instalar para programar em Java" border="0" data-original-height="640" data-original-width="1222" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH4KVfVzvt0wr1PTH3HpajYiDWT58YnquC6JbNPA9WnsAV46EqnUv1C3NZnobs0znneHm_mkTBk0Uy6kwTjcW-STMmrm6U4pWhAPH4TyTU7QdxXwsM3UyM9AhFV1y8L4dCCXNmVZRm6PeZ9qNNj7NxbuA7TQ7sa6DuyXk10CI2HNDh3_pEI_WQCGVO6w/w640-h336/netbeans-ide-como-programar-java.png" title="IDE NetBeans baixar e instalar" width="640" /></a></div><div><br /></div>Lembrando que, se preferir usar outra IDE (ou ir na raça mesmo, usando bloco de notas e terminal de comando), tudo bem! O curso vai te servir do mesmo jeito.<div><br /><div>Nesse caso, você vai primeiro ter que instalar o JDK (Java Development Kit), que é um kit pra desenvolvimento em Java, sua IDE vai precisar dele para funcionar.</div><p style="text-align: left;"><br /></p><div><h2 style="text-align: left;"><span style="color: #38761d; font-size: x-large;">Desafio Hacker em Java</span></h2><p>Uma das características mais importantes de todo programador (e dos hackers), é a curiosidade. Tem que ser curioso, tentar, fuçar, mexer...até conseguir e descobrir as coisas.</p><p>Será que você, sozinho, mexendo no NetBeans, consegue fazer rodar o código que apresentamos no início deste tutorial ?</p><p>No próximo tutorial vamos te explicar passo a passo como criar e rodar seu primeiro programa em Java. Mas gostaríamos que você tentasse.</p><p>Dica: o nome do projeto tem que ser MeuPrimeiroPrograma</p></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-79006119196327859122020-10-14T16:18:00.001-03:002020-10-18T15:47:15.614-03:00Curso de Java Online Com Certificado - Como ser programador profissionalNeste artigo de nossa apostila Java Progressivo, iremos sair um pouco do conteúdo técnico de programação e passar um pouco de nossa experiência sobre o mercado de trabalho brasileiro para quem deseja ganhar a vida como programador.<br /><br />
<h2>
<span style="font-size: x-large;">Como se tornar um programador Java profissional</span></h2>
<div class="separator" style="clear: both; text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" rel="nofollow" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img alt="Curso de Java com certificado" border="0" data-original-height="600" data-original-width="160" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg_kRwZYPByKdixOrNDVDN0Kn_XVdWJYp0j4_-O0ah8S3vK5FQ1JuPGGNipvUKzOz6vJZXSCvsUlqZ4mqwnXwStAKj3ziQCh-FAV14ckrdlfvR2m_Y4KnqMfuRGvGHxcAXJ9jZkt_ih873/w170-h640/certificado-java-progressivo-vertical.jpg" title="Como se tornar programador Java profissional" width="170" /></a></div><br />Entre dúvidas por comentários, no fórum e por e-mail, sobre classes, objetos, herança, polimorfismo e outros assuntos dessa sopinha de letras que é a Orientação a Objetos em Java, surge sempre um tema um pouco diferente: trabalho.<br />
<br />
Isso mesmo, programação é algo tão apaixonante que uma das primeiras coisas que as pessoas pensam é em trabalhar, viver e ganhar dinheiro com isso. Nada mais natural, todos tem contas para pagar e sonhos a serem realizados que só são possíveis com dinheiro.<br />
<br />
A importância da programação já foi abordada em diversos artigos de nossa apostila, principalmente nos mais básicos, mas pra resumir: olhe em torno de você. Veja seu computador, netbook, tablet, celular, som, tv digital, carros modernos, GPS, relógios etc etc.<br />
<br />
Repare tudo que for digital.<br />
Reparou?<br />
É programação. Só funciona porque existem programadores que criaram.<br />
Resumindo: é algo que tá fazendo tanto parte da vida das pessoas que não digo que é importante, é essencial. Se tiver dúvida, pergunte para algum parente adolescente do que seria a vida dele sem o Facebook (feito com programação, obviamente).<br />
<br />
Existe mercado, e muito, para isso. Mas melhor que isso é: a demanda de mais programadores é simplesmente fora do normal. A primeira coisa que uma pessoa faz ao conseguir dinheiro é investir em coisas digitais, que usam tecnologia. Enfim: estão usando e gastando cada vez mais com tecnologia.<br />
Então ter a programação como profissão é investir no futuro, o negócio só vai esquentar com o tempo...<br />
<br />
Se interessou? Vamos dar duas dicas sobre <b>como ser um programador profissional...</b><br />
<br />
<h2>
<span style="font-size: large;">1. Estude. Estude mais, e de novo. Não pare.</span></h2>
Vamos ser logo sinceros de cara: você não vai assistir umas aulas, ler uns tutoriais, se tornar programador e nunca mais estudar na vida.<br />
Primeiro você vai estudar muito, mas muito mesmo no começo. No início vai parecer impossível, mas a medida que for estudando, as coisas vão fazendo sentido.<br />
<br />
Lembra do ICQ ? Do MSN? Do Super Mario World? Do Orkut? Do seu celular tijolão?<br />
Enfim, as coisas mudam, evoluem, se transformam muito rápido nesse ramo.<br />
Daqui uns anos você vai falar em Facebook e vão rir de você, por ser velho.<br />
<br />
Você vai sempre ter que estudar.<br />
A coisa mais importante para se tornar um programador profissional é estudar, saber o máximo possível, ter lido o máximo possível, programado o máximo possível.<br />
<br />
Não tem segredo, é trabalho duro.<br />
Estude por nossos cursos, faça os exercícios, compre livros e os revire de ponta a ponta (durma com eles na cabeceira), baixe apostilas, veja vídeo-aulas, acesse fóruns, pergunte e responda dúvidas, e o principal: arregace as mangas e crie códigos, na mão. Vire madrugadas, pense numa melhor solução, numa melhor sacada para seu código até no banho.<br />
<br />
Pronto. Isso é o principal, se esforçar o máximo possível.<br />
Os maiores gênios desse ramo não acordaram um dia, tiveram uma ideia na sorte e ficaram ricos e famosos. Não, eles estudaram pra cara...mba.<br />
<br />
<h2>
<span style="font-size: x-large;">2. Prove que estudou</span></h2>
Já ouviu alguém falar que chegou num hospital, disse que era médico e foi contratado?<br />
E de alguém que chegou numa empresa e disse 'eu posso administrar' e virou gerente?<br />
Não importa o ramo profissional, é necessário provar que estudou, que se qualificou.<br />
<br />
Sim, é possível frequentas faculdades e cursos e ser um baita de um incompetente.<br />
No geral, basta decorar umas coisas na noite anterior a prova, que você conseguirá se formar em boa parte dos cursos do Brasil.<br />
Mas se você seguiu a dica 1 que demos, você vai passar longe desse grupo.<br />
<br />
O fato é que: seja em Havard, ITA, IME, Federal, Particular, Curso Técnico ou Certificação, vão te cobrar documentos. É necessário provar que estudou em algum lugar.<br />
Infelizmente só a palavra não conta muito.<br />
<br />
Tem gente até que compra uns livros altamente 'bizurados' sobre certificação em Java, decora umas coisas e se tornam certificados oficialmente, e pouco sabem. Sim, dá pra conseguir certificados sem fazer o passo 1, mas vamos adiantando: não adianta de nada ter um diploma, se na hora que você sentar na cadeira pra programar for um baita de um incompetente.<br />
<br />
Vale a pena fazer uma faculdade, um curso? Claro que vale, mas aproveite, aproveite seu professor, o material, tente sugar o máximo de conhecimento possível.<br />
Você pode até levar estudando pouco, mas nunca vai ser bom assim.<br />
<br />
E vamos ser sincero novamente: o mais indicado é o roteiro básico de prestar um vestibular, ir pra faculdade, estagiar pra pegar experiência e trabalhar.<br />
É o mais requisitado e normal de acontecer.<br />
<br />
Mas nem todo mundo pode. Tem gente que não estudou pra passar numa universidade pública, tem gente que não tem dinheiro pra pagar uma faculdade particular, algumas pessoas trabalham e não tem tempo, temos muitos leitores adolescentes, vários de nossos estudantes moram em cidades que não oferecem cursos de programação.<br />
<br />
E aí José, o que fazer?<br />
<h2>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" imageanchor="1" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"><img alt="Curso Java Progressivo" border="0" data-original-height="250" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnU9xRP4yO83R7tpCFCAf1Z_9aEX3soI29RndWuZTLm5kovW8tcCMqb4mYF1l-vCvxZ8zs2DJvP28wf24wCmOEN8FYn15tLw5FybDyDUSRQD17uDrGB7k_wXTZHcs7hlnMCe6ygiu8h8ht/s16000/certificado-java-progressivo-retangular.jpg" title="Curso com certificado" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" rel="nofollow" target="_blank">Obter meu certificado!</a><br /></td></tr></tbody></table><br /><span style="font-size: x-large;"><div class="separator" style="clear: both; text-align: center;"><br /></div>Curso Java Progressivo Online com Certificado </span></h2>Para os que desejam não apenas estudar, mas também trabalhar, disponibilizamos nosso material no maior e mais confiável site de cursos, o Buzzero.<div><br /></div><div>Lá tem uma avaliação final, e caso você seja aprovado, receberá um diploma válido em todo território nacional, pode usar também como horas extra-curriculares.</div><div><br /></div><div>Ah, de quebra, você vai ter acesso a um material de 800 páginas de Java, isso mesmo: 800 páginas.</div><div>Maior que qualquer livro ou curso presencial, vai te servir como referência pro resto da vida.</div><div><br /></div><div>Acesse:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.buzzero.com/cursos-online-de-informatica-e-internet/cursos-de-linguagens-de-programacao/curso-online-java-progressivo_66286?a=projetoprogressivo&keep=true" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img alt="Certificado do Curso Java Progressivo" border="0" data-original-height="90" data-original-width="728" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijjVIUL3Glx5cx5UqnGJEpLKC8XV15ZhvbJH6JHOHN_To4sy-T2OyfYcAz_-fjLRkqtWJPp3NHjFMKBmfowELyIyhNbL8ClGKFysHeaXkMUmOBj4iDoSc7vjQWSrZF86CpNWRfSBl4qeos/w640-h76/certificado-java-progressivo-horizontal.jpg" title="Curso de Java com certificação" width="640" /></a></div><br /><div><br /></div><br />Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com9tag:blogger.com,1999:blog-555760907899454620.post-29840674910856458492020-08-26T07:19:00.002-03:002020-10-18T15:49:06.495-03:00Criando o primeiro programa em Java - Como iniciar em na programaçãoNeste artigo iremos começar, de fato a programar.<br />
Veremos o código inicial que será necessário escrever para iniciarmos nossos estudos na linguagem de programação Java.<br />
<br />
É um dos tutoriais mais importantes de nossa <b>apostila de Java</b>, e é importante que você estude com atenção.<br />
<h2><span style="font-size: x-large;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><br /></td></tr></tbody></table></span></h2><h2><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" imageanchor="1" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"><img alt="Curso Java Progressivo" border="0" data-original-height="250" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnU9xRP4yO83R7tpCFCAf1Z_9aEX3soI29RndWuZTLm5kovW8tcCMqb4mYF1l-vCvxZ8zs2DJvP28wf24wCmOEN8FYn15tLw5FybDyDUSRQD17uDrGB7k_wXTZHcs7hlnMCe6ygiu8h8ht/s16000/certificado-java-progressivo-retangular.jpg" title="Curso com certificado" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="http://bit.ly/CursoJavaProgressivo" rel="nofollow" target="_blank">Obter meu certificado!</a></td></tr></tbody></table></h2><h2><span style="font-size: x-large;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"></td></tr></tbody></table></span></h2>
<div style="display: inline; float: right; margin-left: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<h2>
<span style="font-size: x-large;">Como programar em <span style="color: #6aa84f;">Java</span> do básico</span></h2>
Agora que já <a href="http://www.javaprogressivo.net/2012/08/java-o-necessario-para-comecar.html" rel="nofollow" target="_blank">instalou o JDK e o NetBeans</a>, está na hora de criar o seu primeiro programa em Java!<br />
<br />
Abra seu NetBeans.<br />
Vá em File, depois em New.<br />
Você verá uma série de opções.<br />
São as possibilidades de se programar em Java, os tipos de aplicações etc.<br />
No nosso caso é 'Java' em 'Categories' em 'Projects' escolha 'Java Application'.<br />
Clique em Next.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4A4faNfD6sp8pLQ-FNFCGFFW8HzQcmGub5S8ACV6xoMP7iXffGQdTZ4RLkUr8jA9NK27cTm8Y8in8QlKceLz-NkYvV88dXF-AapK655by5Wiz_RRC8R91vGyorZCXF5yGK5Ws0hgTv02U/s1600/2.1+NetBeans+Java+++Application.png" style="margin-left: auto; margin-right: auto;"><img alt="Tutorial de Java completo para download" border="0" height="433" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4A4faNfD6sp8pLQ-FNFCGFFW8HzQcmGub5S8ACV6xoMP7iXffGQdTZ4RLkUr8jA9NK27cTm8Y8in8QlKceLz-NkYvV88dXF-AapK655by5Wiz_RRC8R91vGyorZCXF5yGK5Ws0hgTv02U/s640/2.1+NetBeans+Java+++Application.png" title="Java Progressivo - Criando o primeiro programa em Java" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
<br />
Dê o nome ao seu projeto em 'Project Name'. Isso é importante.<br />
Escolha nomes fáceis, sem acentuação e sem espaços. Vamos escolher 'Primeiro'.<br />
<br />
Em 'Project Location' ficará a pasta onde ficará guardado seus projetos. Então escolha um lugar fácil e bacana também. Crie um local se precisar. Clique em Finish.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrMaBTdbhJ91J0JKd6LI9SEloTiRiyDZ369YW_-r09Y6O-C60wS94myVWfu5QqeAl8ubSzSn5oBAKAximjzVlaP6FkGNSR_E65pAajGu6ckz8jPjbvitiUiWOFhPRHmJH_mt7A76ShOia/s1600/2.1+New+Java+Application.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Apostila de Java para download" border="0" height="435" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrMaBTdbhJ91J0JKd6LI9SEloTiRiyDZ369YW_-r09Y6O-C60wS94myVWfu5QqeAl8ubSzSn5oBAKAximjzVlaP6FkGNSR_E65pAajGu6ckz8jPjbvitiUiWOFhPRHmJH_mt7A76ShOia/s640/2.1+New+Java+Application.png" title="Java Progressivo - Criando o primeiro programa em Java" width="640" /></a></div>
<br />
<br />
Pronto, você vai iniciar sua primeira aplicação em Java.<br />
<br />
Note que apareceu uma tela com várias coisas escritas.<br />
No futuro isso vai ser útil para você, mas por hora, não.<br />
<br />
Vamos passar o código para você escrever, compilar e ver resultado. Depois explicaremos cada detalhe do código, como funciona, para que serve e tal.<br />
<br />
Vamos lá, digite exatamente o código a seguir (sim, exatamente, pois a linguagem Java é <i>case sensitive</i>, ou seja, <b>main</b> é algo totalmente diferente de <b>Main</b>, e isso vale para classes, objetos, métodos, variáveis etc, como veremos ao longo do curso):<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<pre style="background: rgb(255, 255, 255);"><span style="color: #7f0055; font-weight: bold;">package</span><span style="color: #7f0055;"> primeiro</span><span style="color: #7f0055;">;</span></pre>
<pre style="background: rgb(255, 255, 255); color: black;"><span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">class</span> Primeiro {
<span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">static</span> <span style="color: #7f0055; font-weight: bold;">void</span> main(<span style="color: #7f0055; font-weight: bold;">String</span>[] args) {
<span style="color: #7f0055; font-weight: bold;">System</span>.out.println(<span style="color: #2a00ff;">"Meu primeiro programa em Java!"</span>);
}
}
</pre>
<br />
<br />
Está vendo aquela setinha verde ali? Do lado de um martelo e uma vassoura? Se você pousar o mouse em cima verá 'Run Main Project'.<br />
Clique nela.<br />
Seu projeto será compilado e irá rodar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpV4TRYEkEtCF4fDYGOat_gKc8m0SFzgOxgnv5P4qVO-0b8GNarXuhxRhZ3CU17EIXu4Hwvk2N-N9F7WHW9GVlgt5zV5ht0m0jV92DuxKQDGfhGXKLpsbN3Xadc-3ZCK_-LM-JBnrLWu2z/s1600/Primeiro+Programa+em+Java.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Curso de Java para download" border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpV4TRYEkEtCF4fDYGOat_gKc8m0SFzgOxgnv5P4qVO-0b8GNarXuhxRhZ3CU17EIXu4Hwvk2N-N9F7WHW9GVlgt5zV5ht0m0jV92DuxKQDGfhGXKLpsbN3Xadc-3ZCK_-LM-JBnrLWu2z/s640/Primeiro+Programa+em+Java.png" title="Java Progressivo - Criando o primeiro programa em Java" width="640" /></a></div>
<br />
<br />
O resultado do seu programa irá aparecer na tela debaixo, a frase: 'Meu primeiro programa em Java!"<br />
<br />
Caso não apareça, certifique-se de que não escreveu nada de errado.<br />
<br />
Aqui vai uma dica preciosa: embora eu vá te mostrar os códigos, sempre, mas <b>SEMPRE</b> digite os seus códigos!<br />
É um habito que tem que ter! Não fique copiando e colando, pois não vai aprender nada!<br />
Porém, se digitar tudo que for passado aqui, aos poucos irá memorizando e sem fazer esforço algum, irá aprender naturalmente.<br />
<br />
Caso tenha dado algum erro, poste na área de comentários.<br />
Caso tenha dado tudo ok, parabéns, você já programou em Java. No <a href="http://www.javaprogressivo.net/2012/08/java-codigo-comentado-do-primeiro.html" target="_blank">próximo artigo</a> explicarei o que você fez, o motivo disso tudo ter acontecido, faremos algumas alterações, erraremos de propósito para o NetBeans nos avisar do erro e tentarmos consertar etc.<br />
<br />
<a href="http://www.javaprogressivo.net/2012/08/java-codigo-comentado-do-primeiro.html" target="_blank">Ver o código comentado.</a><br />
<br />
PS: Note que, ao criar um projeto no NetBeans, na verdade aparece isso:<br />
<br />
<pre style="background: rgb(255, 255, 255); color: black;"><span style="color: #3f7f59;">/*</span>
<span style="color: #3f7f59;"> * To change this template, choose Tools | Templates</span>
<span style="color: #3f7f59;"> * and open the template in the editor.</span>
<span style="color: #3f7f59;"> */</span>
<span style="color: #7f0055; font-weight: bold;">package</span><span style="color: #7f0055;"> primeiro</span><span style="color: #7f0055;">;</span>
<span style="color: #3f5fbf;">/**</span>
<span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">*</span><span style="color: #3f5fbf;"></span>
<span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">*</span><span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">@author</span><span style="color: #3f5fbf;"> JavaProgressivo</span>
<span style="color: #3f5fbf;"> */</span>
<span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">class</span> Primeiro {
<span style="color: #3f5fbf;">/**</span>
<span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">*</span><span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">@param</span><span style="color: #3f5fbf;"> args the command line arguments</span>
<span style="color: #3f5fbf;"> */</span>
<span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">static</span> <span style="color: #7f0055; font-weight: bold;">void</span> main(<span style="color: #7f0055; font-weight: bold;">String</span>[] args) {
<span style="color: #3f7f59;">// </span><span style="background: rgb(128, 128, 0); color: white;">TODO code application logic here</span>
}
}
</pre>
<br />
<br />
<b>Um erro comum é escolher o nome do projeto como "Primeiro" e digitar "public class primeiro".</b> "Primeiro" é diferente de "primeiro".<br />
---------------<br />
O que vai nos interessar é do "public class..." em diante.<br />
O que aparece nas letras em verde ou azul, são apenas comentários e não são levados em conta pelo Java na hora de rodar suas aplicações.<br />
<br />
Porém, se você usar outra IDE, como Eclipse, irá aparecer outra coisa:<br />
<br />
<pre style="background: rgb(255, 255, 255); color: black;"><span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">class</span> Primeiro {
<span style="color: #3f5fbf;">/**</span>
<span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">*</span><span style="color: #3f5fbf;"> </span><span style="color: #7f9fbf; font-weight: bold;">@param</span><span style="color: #3f5fbf;"> args</span>
<span style="color: #3f5fbf;"> */</span>
<span style="color: #7f0055; font-weight: bold;">public</span> <span style="color: #7f0055; font-weight: bold;">static</span> <span style="color: #7f0055; font-weight: bold;">void</span> main(<span style="color: #7f0055; font-weight: bold;">String</span>[] args) {
<span style="color: #3f7f59;">// </span><span style="background: rgb(128, 128, 0); color: white;">TODO Auto-generated method stub</span>
}
}
</pre>
<br />
---------------<br />
<br />
Porém, como disse, <b>o que vai importar (por hora) é o que está dentro do main().</b><br />
<br />
O "package primeiro;" pode ficar ali, sem problemas, e se refere ao nome do seu projeto.<br />
É como se seus aplicativos fizessem parte de um pacote, no caso, o nosso pacote é chamado de "primeiro".<br />
<br />
Poderíamos criar um pacote chamado "matematica", com várias fórmulas e funcionalidades matemáticas.<br />
Depois poderíamos criar um pacote chamado "Estatiticas" e usar seu pacote, previamente feito, "matematica" nesse pacote de estatística. Assim evitaria ter que programar tudo de novo.<br />
<br />
Em breve, ao longo de nosso <a href="http://www.javaprogressivo.net/" target="_blank">curso de Java online</a>, aprenderemos sobre comentários e pacotes.<br />
<br />
<h3>
</h3>
<h2>
Possíveis problemas com o NetBeans</h2>
<div>
Bem, alguns leitores entraram em contato relatando alguns problemas.</div>
<div>
Como pode ser dúvida de mais gente, vou relatar um aqui e sua solução.</div>
<div>
<br /></div>
<div>
O leitor Raphael, através da área de contato, disse que quando rodava o seu primeiro programa não aparecia nada, e quando me mandou um print screen, aparecia um erro, dizendo que não havia encontrando a classe main:</div>
<div>
"Erro: não foi possível localizar nem carregar a classe primeiro. Primeiro"</div>
<div>
<br /></div>
<div>
Pois bem, como eu expliquei pra ele ao ver seu print:</div>
<div>
<br /></div>
<div>
<div>
<i>O que pode acontecer é que, as vezes, estamos com vários projetos abertos no NetBeans, aí quando clica pra rodar, ele não sabe qual rodar e dá esse problema.</i></div>
<div>
<i><br /></i></div>
<div>
<i>Vá ali no menu, escolha o projeto que quer rodar, clica com o botão direito em cima dele e vai em "Run".</i></div>
<div>
<i><br /></i></div>
<div>
<i>Quando há algum erro em nossos programas, o programa avisa...note que ali no começo da linha tem umas lâmpadas...pousa o mouse ali em cima delas (tanto na lampada amarela com o sinal vermelho, como a lampada amarela), vai exibir algum aviso de problema ou sugerir alguma solução.</i></div>
</div>
<div>
<i><br /></i></div>
<div>
Por favor, quaisquer dúvidas e problemas que venham a ter, entrem em contato.</div>
<div>
Suas dúvidas podem ser de outras pessoas, e isso faz crescer a quantidade de informação de nosso tutorial em Java, o curso Java Progressivo.<br />
<br />
<h2>
<span style="font-size: x-large;">Como ser um excelente programador</span></h2>
Antes, gostaríamos de sugerir o nosso texto 'Como ser um excelente programador', nele a gente vai te orientar sobre:<br />
<ol>
<li>O que estudar</li>
<li>Como estudar programação da maneira correta</li>
<li>O que é importante estudar</li>
<li>Quais linguagens é bom saber</li>
<li>Qual a melhor a melhor linguagem de programação</li>
<li>Como entrar no mercado do trabalho</li>
<li>Como se portar <b>corretamente</b> numa entrevista de emprego</li>
<li>A característica mais importante que um programador deve ter</li>
</ol>
<br />
É simplesmente tudo que eu gostaria de saber antes de começar minha carreira de programador. Se eu tivesse lido o texto no início de meus estudos, teria aprendido programação bem mais rapidamente e mais corretamente. Sério, não deixem de ler, vai mudar sua vida.<br />
<br />
Acesse nossa apostila para ler:<br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Apostila Java Progressivo</a></li>
</ul>
<br />
<br /></div>
Unknownnoreply@blogger.com91tag:blogger.com,1999:blog-555760907899454620.post-51081149766820598592018-03-22T16:04:00.002-03:002018-03-22T16:04:58.956-03:00Como me tornei um Programador Java (e vivo disso)Hoje peço licença pra todos os estudantes do Curso Java Progressivo, pra mudar um pouco o foco do site. Em vez de falar de programação Java, vou falar de como usei ela pra me tornar um programador Java Profissional.<br />
<br />
Sim, eu trabalho com Java, vivo de Java, Java paga meu aluguel, meu financiamento do carro e em breve vou poder conhecer o Nordeste, graças ao Java.<br />
<br />
Como suguei e aprendi muita coisa aqui, espero retribuir um pouco.<br />
<br />
<h2>
<span style="font-size: x-large;">Minha história com o Java</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtttm0k8h7-2tOBukckSW3x6aU-s4o_joXvPyoGTzeNjxdAf5IC9uVpiWPiglLIrL8Ls25DHIEvkskH3x1Gqs0giUYaDx4vf8k0SZQVTAVdU8Aq0s8lNKJa_D4laLwsVJM8OKf0MOpNvnU/s1600/S%25C3%25ADmbolo+do+Java+-+Programa%25C3%25A7%25C3%25A3o+Progressiva.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Como ganhar dinheiro com Java" border="0" data-original-height="300" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtttm0k8h7-2tOBukckSW3x6aU-s4o_joXvPyoGTzeNjxdAf5IC9uVpiWPiglLIrL8Ls25DHIEvkskH3x1Gqs0giUYaDx4vf8k0SZQVTAVdU8Aq0s8lNKJa_D4laLwsVJM8OKf0MOpNvnU/s1600/S%25C3%25ADmbolo+do+Java+-+Programa%25C3%25A7%25C3%25A3o+Progressiva.jpg" title="Como se tornar programador Java" /></a></div>
Me chamo Emanuel Rubens, tenho 29 anos e sou do interior do Paraná, numa cidade chamada Almirante Tamandaré, colada em Curitiba.<br />
<br />
Ao contrário do que muitos pensam, não, não sou rico nem a maioria daqui (povo acha que quem é de Curitiba é sempre rico, melhor capital do Brasil, melhor IDH blábláblá).<br />
<br />
Pois é, estudei em Escola Pública e obviamente rodei no vestibular, passei nem na primeira fase (não tinha ENEM na época), e comecei a trabalhar com um primo, consertando computadores (trocando HD, Memória RAM etc), mas sempre me interessei por computação.<br />
<br />
Como me tornei programador Java<br />
Comecei a pesquisar "como programar" no Google, e dentre as várias opções, fui pro Java. Gostei do nome e sabia que era usado para criar aplicativos.<br />
<br />
Muitos sites, apostilas, vídeos...mas seguiam um padrão: ensinavam o Hello World, e depois falavam de SQL, Banco de Dados, Herança, Polimorfismo...me sentia um bosta.<br />
<br />
Até que achei um site que me tratou como idiota.<br />
Sim, era tudo que eu precisava: o Java Progressivo assumia que eu não sabia <b>absolutamente nada</b> da bagaça, me ensinou o que instalar, onde baixar, onde clicar, o que digitar, onde olhar.<br />
<br />
E foi assim: devagar. Primeiro faça isso. Entenda porque isso acontece. Aprendeu? Me dá sua mão bebê, vamos pro próximo passo.<br />
<br />
E passo a passo, devagarzinho, fui aprendendo as coisas, mas bem devagar mesmo, quase 1 ano e meio.<br />
Depois aprendi a caminhar com minhas próprias pernas, pesquisar em inglês, Stack Overflow, entrar em grupos do Face, fórums da internet etc.<br />
<br />
Mas vira e mexe, volto aqui nesta casa pra relembrar algo.<br />
Aqui que me considerei e vi que era um programador Java.<br />
<br />
<h2 style="text-align: center;">
<span style="font-size: x-large;">Como se tornar Programador Java: <br /><span style="color: red;">99% do Segredo</span></span></h2>
Eu vou jogar a real, não tenho interesse em te trazer a um mundo de fantasias e vou te dizer o que fazer caso deseje levar isso a sério e ganhar dinheiro com isso.<br />
<br />
99% do segredo é: <b>estudar insanamente</b>.<br />
Via vídeo-aulas, comprei livros recomendados e tava sempre aqui, dia após dia, quebrando a cabeça.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCntsvYYK9JC-GMbiO3b5fvVJx9097idPvKWSvu9J4jI7DEuW18502hHfK8CKydZgimYK1j0sZmqaMO2Y-Rrit4p54aJ2UthWMxTPuhDZG0Ezke0xk66OEOkfHuMRAlMVqfl2vR-EJP7Q/s1600/programador-java-profissional-trabalho.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Curso de Java online grátis com certificado" border="0" data-original-height="1280" data-original-width="720" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCntsvYYK9JC-GMbiO3b5fvVJx9097idPvKWSvu9J4jI7DEuW18502hHfK8CKydZgimYK1j0sZmqaMO2Y-Rrit4p54aJ2UthWMxTPuhDZG0Ezke0xk66OEOkfHuMRAlMVqfl2vR-EJP7Q/s320/programador-java-profissional-trabalho.jpeg" title="Como ser programador Java" width="180" /></a><br />
As vezes chegava em casa cansado do trabalho, mas ia programar um pouco.<br />
Queria ver Big Brother (me julguem), mas acabava indo aprender como fazer o maldito jogo da velha.<br />
Dava vontade de ver um filme, mas ia quebrar a cabeça tentando fazer meu campo minado.<br />
Dava vontade de dormir, mas ia tentar fazer as questões propostas pelo Java Progressivo. Bem comum varar noites.<br />
<br />
Já passei mais madrugadas com este site do que com minha atual namorada (fato que pretendo mudar, com o tempo hehehe).<br />
<br />
O segredo é esse: é sentar a bunda e estudar. Aqui foi minha principal fonte de estudo.<br />
Era ler, tentar entender os códigos comentados, questões resolvidos e tentar resolver os exercícios, tentar, tentar, tentar...mesmo chorando em posição fetal, ficava tentando...as vezes fazia mil linhas de um código tosco e feio, e os malditos do Java Progressivo resolviam em 50 linhas de uma maneira linda.<br />
<br />
É a vida. Mas aprendia.<br />
Isso é necessário, porém não é suficiente.<br />
<br />
<h2 style="text-align: center;">
<span style="font-size: x-large;">Como Ganhar Dinheiro Sendo Programador Java</span></h2>
Ok, eu me tornei um programador. Fiz um sistema de compra e vendas, liguei duas máquinas em servidor, depois 3...daqui do site pra fazer aplicativos Android, é um pulo bem simples.<br />
<br />
Bacana. Eu sabia.<br />
Mas o resto do mundo não sabia que eu sabia.<br />
<br />
Tentei emprego, pegar projetos, mas as pessoas pediam uma 'prova' de que eu sabia programar.<br />
Como ia mostrar, caraio, se ninguém deixava eu trampar e mostrar que sabia?<br />
<br />
Mas isso era um problema meu e de todos.<br />
Não adianta nada ser a pessoa com mais conhecimento do mundo em Medicina, se não tem diploma de Medicina.<br />
Pode ser o maior gênio da engenharia, mas só vai ser empregado se tiver diploma da maldita engenharia.<br />
<br />
Então fui fazer algo que nunca tinha feito: gastar dinheiro com programação.<br />
Porra, eu queria ganhar e tinha que gastar??? Demorei meses pra me decidir, e fui num curso indicado aqui pelo site, que forneciam o tão sonhado <b>certificado</b>.<br />
<br />
Primeiro fiz o de "Curso de Orientação a Objetos com Java" da Brava:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank"><img border="0" data-original-height="140" data-original-width="496" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnShPl3aVCayQlbfcTlOvYPcjDyM9ThkVZMOuluFYZprHttLRFEe9zCBzA1yH6BYEsd4Rd09RxKkSg6qAso5RDaIdoT1buLo0LckFGD_Rbv8sxwPNz4Y3Hfjg6Yn_6Q38-iBp8CDRZU2Ix/s320/certificado-java-profissional.png" width="320" /></a></div>
<br />
<br />
Meu primeiro impacto foi quebrar a cara. Achei basicamente tinha pago pra ganhar o certificado.<br />
Nada. Curso <b>top</b> demais, com gente pra me ajudar, com instrutor ali pra conversar, tirar dúvida, falando do mercado de trabalho (o cara tem experiência), dando dicas pra eu ir aprendendo a programar voltado pro mercado, levei altos puxões de orelhas sobre péssimos hábitos no código.<br />
<br />
Aproveitei e emendei o de Android:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://afiliado.bravacursos.com.br/4573/curso-de-android/" rel="nofollow" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3y6_YG5pXS4-Extf4iiiwYk2FXtvTrEHKWT68202DyrQZ7ZrPoyUypoM7yDShJtxogBc8aEjayykx7ZfA9LmGj5szFBwE21l7Lc9cm5kUrRbI8IY4AlZhzJNDFRy5BqtsGI_qm2EubB7u/s1600/como-programar-para-android-curso.png" data-original-height="225" data-original-width="244" /></a></div>
<br />
E pela primeira vez alguém da minha família (e minha namorada) entendeu que raios eu fazia da vida: mostrei um aplicativo de celular que fiz (<i>Cannon</i>, aquele jogo das bolinhas que fica quebrando os tijolos e não podemos deixar a bola cair, mexendo um pauzinho lá embaixo).<br />
<br />
Embora tenha recebido um "<i>Amor, mas já existe esse joguinho e bem mais bonitos"</i> (não esperem muito ânimo por parte de seus namorado(a)s e familiares não), fiquei <b>muito feliz</b>.<br />
<br />
<h2>
<span style="font-size: x-large;">Metendo as caras no Mercado de Trabalho</span></h2>
Pra encurtar minha história, fui atrás de freelas e projetos.<br />
Não achei, não importa o quão bom você seja, ninguém vai dar grana pra alguém que nunca participou de algum projeto.<br />
<br />
Então comecei a me oferecer de graça. Sim, não tenho vergonha disso e adoraria que tivessem me passado esse bizu hoje.<br />
<br />
Cheguei nos grupos e no Workana (site de freelas, de onde obtenho MUITOS MAS MUITOS PROJETOS HOJE EM DIA, mais até do que posso dar conta), e simplesmente me ofereci de graça pra pegar experiência.<br />
<br />
Peguei experiência, conheci muitos programadores e empresas, e finalmente tinha um portfólio, algo pra mostrar: <i>olha eu fiz, olha eu ajudei, olha eu tava nesse projeto</i>.<br />
<br />
Do momento que senti minha bunda pra sentar com afinco no Java Progressivo até conseguir dinheiro pra me sustentar, foram dois longos anos, mas que valeram muito a pena.<br />
<br />
O próximo passo é juntar uma grana, vou montar minha empresa, contratar meus programadores, designers e seguir crescendo.<br />
<br />
Não tem segredo galera, duas coisas:<br />
Estudem muito, insanamente, mais que todos (você estão no site <b>CERTO</b> pra começar, leiam de cabo a rabo do site, fazendo tudo que disserem)<br />
Tem que investir, vai investir seu tempo (deixar de sair, dormir, ver filme, série, etc) pra estudar e dinheiro pra tirar suas certificações<br />
<br />
Não tem fórmula mágica nem milagre!<br />
Qualquer dúvida, podem deixar e-mail ou comentários que respondo com o maior prazer.Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-555760907899454620.post-74510051155099238942015-01-19T10:50:00.000-03:002015-02-14T10:51:16.134-03:00Como Programar Para Android - Curso Online com CertificadoDevido a alta busca e dúvidas de pessoas sobre <b>como programar para Android</b>, resolvemos fazer um artigo bem interessante, falando um pouco da relação do Android e do Java.<br />
<br />
E, claro, mostrando como fazer para entrar nesse fantástico e promi$$or meio, que é da programação de aplicativos para Android.<br />
<br />
<a name='more'></a><br />
<br />
<h2>
<span style="font-size: x-large;">Por que programar para <span style="color: #38761d;">Android</span>?</span></h2>
Dentre tantas linguagens e possibilidades, por quê escolher Android?<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlqXyx5ohwOHdPxQTjc30L3NwugpJ7ys-zFdRk4VYFwW87wFVOxkx1nkgSVH9-VZzyKivk4GQHTPPK6duRZM2j2ee-XZZ-gjkEovBF9y8295P7vuODCpdK3dusvf5Jy8zYEjmCWb96UsF1/s1600/como-programar-para-android.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Curso de Android online grátis com certificado" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlqXyx5ohwOHdPxQTjc30L3NwugpJ7ys-zFdRk4VYFwW87wFVOxkx1nkgSVH9-VZzyKivk4GQHTPPK6duRZM2j2ee-XZZ-gjkEovBF9y8295P7vuODCpdK3dusvf5Jy8zYEjmCWb96UsF1/s1600/como-programar-para-android.png" height="320" title="Como programar para Android" width="181" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Assuma, você não vive sem mim.</td></tr>
</tbody></table>
A resposta é simples: olhe na sua frente, na mesa ou do lado do computador.<br />
Provavelmente vai ter um celular rodando Android.<br />
<br />
Conte na mente quantas pessoas você conhece que usa celular com o sistema Android.<br />
Pode ser na escola, faculdade, trabalho, gente usando no ônibus, balada...<br />
<br />
E não é algo exclusivo de pessoas com melhores condições financeiras.<br />
Muitas pessoas, mais humildes, nem tem computador, mas estão ali no Facebook por um aplicativo rodando no Android.<br />
<br />
Não é que Android seja importante. É que simplesmente as pessoas vivem em função de seus celulares. Isso é uma realidade, há anos e só vem aumentando.<br />
<br />
Veja você e seus amigos, o quão dependente de celulares e seus aplicativos vocês são.<br />
Agora passe para o outro lado, pense como programador: quantas oportunidades tem?<br />
Pense como empreendedor: todo mundo vive usando, comprando aplicativo, gastando neles, toda pequena empresa precisa de seu próprio aplicativo...<br />
<br />
Convencido? Vamos aprender então o que fazer para programar para Android!<br />
<br />
<br />
<h2>
<span style="font-size: x-large;">Como Programar Para <span style="color: #38761d;">Android</span> - <span style="color: red;">Passo 1</span></span></h2>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwI5MWbf0DC-88AkWA5w7ekODAcPO25HhleCI52OF-zVPDALaTzYCEM_g68wfxV8O53pGmiGaStxHiBbNQTLGlruS-Fw-p5xeA60GD3aYLX-DAeP9-wdFdY4W4kv_mcM8bDi8Zn1ybD6VT/s1600/como-aprender-android.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Como aprender android para iniciantes" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwI5MWbf0DC-88AkWA5w7ekODAcPO25HhleCI52OF-zVPDALaTzYCEM_g68wfxV8O53pGmiGaStxHiBbNQTLGlruS-Fw-p5xeA60GD3aYLX-DAeP9-wdFdY4W4kv_mcM8bDi8Zn1ybD6VT/s1600/como-aprender-android.png" height="200" title="Como Programar Para Android" width="195" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Passo 1: devorar o Java !</td></tr>
</tbody></table>
Estudar. Muito. Como se não houvesse amanhã.<br />
<br />
Para os que não sabem, os aplicativos são desenvolvidos na linguagem Java.<br />
Existem 'n' tutoriais ensinando Android para os totalmente iniciantes no mundo da programação, e meio que cobrem Java de uma maneira beeem 'capenga'.<br />
<br />
Não tem pra onde fugir. Quer ser um bom programador para Android?<br />
Tem que ser um ótimo programador Java.<br />
<br />
Você precisa aprender todos os conceitos de orientação a objetos, lógica de programação e tudo mais.<br />
A boa notícia é: você está em um site que isso tudo é ofertado gratuitamente, vídeo aulas são indicadas, assim como livros livros e apostilas, além de exercícios resolvidos, jogos criados passo a passo e <b>centenas</b> de artigos sobre a linguagem Java.<br />
<br />
<h2>
<span style="font-size: x-large;">Como Programar Para <span style="color: #38761d;">Android</span> - <span style="color: red;">Passo 2</span></span></h2>
Aprendeu Java? Pelo menos já começou a estudar?<br />
Ótimo, após algum tempinho de estudo, já pode começar a 'mexer' no Android enquanto solidifica seus conhecimentos em Java.<br />
<br />
O próximo passo é aprender a usar a plataforma de desenvolvimento do Android.<br />
Sim, vai continuar usando Java como linguagem, mas há outros detalhes e particularidades.<br />
<br />
No próximo passo vamos entrar em detalhes sobre essa configuração inicial do ambiente Android para você começar a programar e criar seus aplicativos, e claro, ganhar com eles.<br />
<br />
<h2>
<span style="font-size: x-large;">Como Programar Para <span style="color: #38761d;">Android</span> - <span style="color: red;">Passo 3</span></span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifH_-qpMMZEgUgSLyh-t0a_BYhhx0h3dSgUVIbZGa6Qr3NU7ImxDfWqZ0wh8U6MZnUopFMCIOZe3n-AFVVr5sth4kNhjwGHU4GprabIwb2xApsXw5WyGf0EePavyNBW3Tv1tbEpXjtXCqW/s1600/curso-como-programar-para-android.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Como programar para Android passo a passo" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifH_-qpMMZEgUgSLyh-t0a_BYhhx0h3dSgUVIbZGa6Qr3NU7ImxDfWqZ0wh8U6MZnUopFMCIOZe3n-AFVVr5sth4kNhjwGHU4GprabIwb2xApsXw5WyGf0EePavyNBW3Tv1tbEpXjtXCqW/s1600/curso-como-programar-para-android.png" height="200" title="Curso de Android com Certificado" width="153" /></a></div>
Como tudo no mercado de trabalho, só estudar não basta, é preciso <b>provar</b> que estudou e que sabe.<br />
<br />
Não importa se é médico, engenheiro ou programador, sem diplomas, certificados etc, é realmente difícil conseguir as coisas.<br />
<br />
Pra ganhar algo na vida, seja o que for, tem que investir.<br />
<br />
Felizmente, isso é possível de fazer na internet mesmo, tudo online sem sair de casa, o que é excelente para quem não pode pagar uma faculdade, curso presencial, não tem nada disso na cidade, ou simplesmente não tem tempo.<br />
<br />
Ainda estamos preparando um material bem especial e completo, nos moldes do Java Progressivo, mas voltado para Android.<br />
<br />
Mas não vai ficar na mão agora, vamos indicar onde aprender tudo, desde o passo 2 (configurando e montando o ambiente para programar para Android), que é o material oferecido pela <b><a href="http://afiliado.bravacursos.com.br/4573/curso-de-android/" rel="nofollow" target="_blank">Brava Cursos</a></b>.<br />
<br />
<h2>
<span style="font-size: x-large;">Curso de <span style="color: #38761d;">Android</span> <span style="color: red;">Online</span> e com <span style="color: red;">Certificado</span></span></h2>
No material da Brava Cursos (maior e melhor empresa de ensino à distância do Brasil, associada a ABED - Associação Brasileira de Educação a Distância), você vai aprender a:<br />
<br />
<ol>
<li>Configurar e montar todo o sistema passo a passo</li>
<li>Emular um celular (não é necessário ter um para programar para Android! )</li>
<li>Criar aplicativos</li>
<li>Criar jogos</li>
<li>Aprender a publicar seus aplicativos</li>
<li>Aprender como ganhar dinheiro com eles (por venda e por anúncios) </li>
</ol>
<br />
<br />
Isso, de uma maneira geral, pois tem mais detalhes durante esses passos (criar telas, layouts, lógica, uso de imagens, tipos de jogos etc etc).<br />
<br />
É um curso <b>MUITO</b> completo, simplesmente vai te pegar pela mão e mostrar passo a passo tudo que precisa aprender para programar para Android.<br />
<br />
Sobre a Brava Cursos, você vai ter acesso a:<br />
<br />
<ul>
<li>96 horas/aula de curso</li>
<li>Curso disponível 24 horas, todos os dias da semana e feriados</li>
<li>Estude quando quiser e quando puder</li>
<li>Avance pra próxima lição quando se sentir preparado</li>
<li>SEM TEMPO DE CONCLUSÃO! Estude e se forme no seu ritmo!</li>
<li>Banco de dúvidas e respostas de outros alunos (esse <b>material vale ouro!</b>)</li>
<li>Resumo disponível pra consulta sempre que quiser</li>
</ul>
<br />
<br />
Quer ver algo real, de um aluno do Curso?<br />
<a href="http://g1.globo.com/tecnologia/tem-um-aplicativo/noticia/2013/06/aplicativos-de-celular-sao-alternativa-para-usar-caxirola-no-estadio.html" rel="nofollow" target="_blank">Conheça o aplicativo do Glauber, nessa matéria do G1 da Globo.</a><br />
<br />
Sim, é possível fazer fácil essas coisas simples e ganhar um bom dinheiro, e trabalhando de casa.<br />
O curso custa em torno de R$ 50,00 e você só paga uma vez na vida.<br />
Será que não vale o investimento?<br />
<br />
Se quer mudar de vida e trabalhar programando para Android, acesse o curso da Brava Cursos:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://afiliado.bravacursos.com.br/4573/curso-de-android/" rel="nofollow" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1gZgFTy-KgDFo5Bbs1k4EZ1u7mQOhd11LVv9fqhX6ZWdnH9WZrAaiNTf3BFY4NkazMKkSztcTNJ16ZYJZOimUpBc_uRrj_IFwqY7b2Q4z7PAGerQcWD7cdz6Vx5LtYI4dSnwk19EXkiVY/s1600/Curso-de-Java-com-certificado-da-Brava-Cursos.png" height="127" width="400" /></a></div>
<div style="text-align: center;">
<a href="http://afiliado.bravacursos.com.br/4573/curso-de-android/" rel="nofollow" target="_blank"><span style="color: red;"><b>Clique AQUI e aprenda a Programar Para Android!</b></span></a></div>
Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com4tag:blogger.com,1999:blog-555760907899454620.post-46499355751061238132014-07-23T22:10:00.000-03:002014-07-23T22:21:29.727-03:00Como aprender Java e ser um Programador - Guia DefinitivoÉ comum recebermos toda semana diversas dúvidas de usuários que querem aprender a programar em Java e não fazem ideia por onde começar nem o que fazer para ser um programador.<br />
<br />
E, certamente, o problema não reside na falta de material: é o contrário.<br />
Na internet, há diversas apostilas, tutoriais, vídeo aulas, tem os cursos presenciais, à distância, faculdades, cursos técnicos etc, e isso acaba fazendo as pessoas até desisterem dessa vontade se tornar um programador Java.<br />
<br />
Nesse tutorial tentaremos esclarecer e guiar os leigos no assunto, sobre o que e como fazer para aprender Java e se tornar um programador profissional.<br />
<a name='more'></a><br />
<h2>
<span style="font-size: x-large;">Programar em <span style="color: #38761d;">Java</span> e ser programador, por quê ? O que é?</span></h2>
Antes de entrarmos em detalhes sobre como programar em Java, é preciso explicar o que é programar em Java.<br />
Muitas pessoas nos pedem algum tutorial ou passo para criar um jogo ou aplicativo de sucesso.<br />
<br />
Perguntar isso é o mesmo que pedir dicas para escrever o melhor livro da literatura ou um tutorial sobre como criar a música mais famosa do mundo. Não faz sentido.<br />
<br />
<br />
<br />
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<br />
<br />
<br />
<br />
O mesmo processo que um estudante de medicina passa pra se tornar um médico, ou um estudante de engenharia pra se tornar um engenheiro, acontece com alguém que ser um programador: é um processo longo, demorado, de muito estudo e sacrifício.<br />
<br />
Assim, quem acha que programar é seguir um tutorial para criar incríveis ferramentas hackers para invadir a NASA, ou que é possível seguir um passo a passo para criar um jogo em Java, está enganado.<br />
<br />
Também é comum pessoas se interessarem em programar em Java justamente para a criação de games, e associam "adoro jogar, sou bom em games" com "então eu posso criar jogos em Java".<br />
Não, programar um jogo não é um entretenimento como jogar, e se joga muito ou bem, isso não quer dizer nada.<br />
<br />
Programar um jogo é um trabalho, uma profissão, e não é das mais fáceis, que assim como outras, vai exigir anos de estudo, muitas pessoas envolvidas e meses a fio de trabalho.<br />
<br />
Estando os leitores mais realistas sobre como ser um programador, vamos dar mais detalhes sobre o que você tem que fazer para se tornar um.<br />
Basicamente são dois passos.<br />
<br />
<br />
<h2>
<span style="font-size: x-large;">Como programar em <span style="color: #38761d;">Java</span> e ser um programador profissional</span></h2>
<h3>
Passo 1: estude</h3>
<br />
O <a href="http://www.javaprogressivo.net/" target="_blank">Curso Java Progressivo</a>, em seu índice, já oferece um material bem vasto e criado com muito cuidado e pesquisa.<br />
Lá você vai ter uma noção melhor sobre o roteiro que deve seguir, os assuntos que deve estudar, e a ordem.<br />
<br />
O segredo para se tornar um programador é basicamente estudar, muito.<br />
Leia nossos tutoriais, faça os exercícios, tente criar os jogos que criamos e sempre faça na mão os códigos que você vai ver.<br />
<br />
Sim, você vai virar noites tentando resolver questões.<br />
É normal passar horas ou dias tentando descobrir o erro de algum programa e perceber que apenas esqueceu um pequeno detalhe.<br />
Normal, faz parte e é isso que te faz ser um bom programador.<br />
<br />
Aqui vai outro grande segredo, que vai te fazer ser um programador diferenciado: estude pelo máximo de fontes possíveis.<br />
<br />
Tem muita gente aí achando que vai aprender a programar e se tornar um programador porquê assiste algumas vídeo aulas do Youte.<br />
Não, não vai.<br />
<br />
Vídeo aulas ajudam? Muito. Não deixe de ver.<br />
Mas estude nossos tutoriais, estude por outros sites, veja as apostilas que indicamos (baixe-as e as devore), TENHAM LIVROS DE JAVA!<br />
Livros são ótimos, duram pra vida toda, estão sempre ao seu alcance, e por mais que sites, cursos online e apostilas se esforcem, o conteúdo contido em livros ainda é o mais vasto, organizado e indicado.<br />
<br />
<br />
<ul>
<li><a href="http://www.javaprogressivo.net/2012/10/Qual-o-melhor-livro-de-Java-dicas-e-reviews.html" target="_blank">Qual o melhor livro de Java ?</a></li>
</ul>
<br />
<br />
Ou seja, sugue conhecimento das mais diversas fontes possíveis.<br />
Não pense duas vezes antes de investir em sua carreira para ser um programador, invista seu tempo e seu dinheiro.<br />
<br />
Faça cursos (seja presenciais ou online), compre livros.<br />
Não tenha medo de começar um novo projeto (mesmo que pareça complexo) ou entrar em um existente, pode tomar seu tempo, ser difícil, tomar muitas horas de seu dia, mas vale a pena!<br />
<br />
<br />
<ul>
<li><a href="http://www.javaprogressivo.net/2014/01/Curso-de-Java-Com-Certificado-Como-Ser-Programador-Profisisonal.html" target="_blank">Como obter o certificado de um curso de Java</a></li>
</ul>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h3>
Passo 2: o segredo sobre como aprender <span style="color: #38761d;">Java</span> e se tornar um programador</h3>
Repita o passo 1.<br />
<br />
Se acha que vai ler nossos tutoriais uma vez, frequentar um curso presencial e depois será um programador pro resto da vida por isso, está errado.<br />
<br />
Se quiser ser um programador Java, saiba que os estudos serão frequentes em sua vida.<br />
Todo dia você vai pesquisar no Google sobre programação Java, vai ver novidades na linguagem, vai ver nossas ferramentas para seus aplicativos, novas coisas sendo feitas com o Java (como o Android).<br />
<br />
Ou seja, para aprender Java, você precisa estudar continuamente a linguagem<br />
Entre em fóruns de internet, participe de grupos sobre Java. colabore com projetos livres etc.<br />
<br />
<br />
<br />Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com7tag:blogger.com,1999:blog-555760907899454620.post-20949809196463913242014-05-12T05:08:00.001-03:002018-12-27T12:42:23.728-03:00JRadioButton - Botão de Rádio ou de Opção (Tutorial de Java GUI)Neste <a href="http://www.javaprogressivo.net/2012/08/graficos-e-2d.html" target="_blank">Tutorial de GUI em Java</a>, vamos falar dos Radio Buttons, também conhecidos por botão de opção ou botão de rádio, que são usados para fazer escolhas únicas:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0IuqlTfbUsySt68dnqrK0TWnxh3kTZmJI5q5-cpbAOCUmicowvUunlThhAVozlAEdcOqJgNsUEMdqkfvb1zArTNhwXqjYKFXZLgfoIEm58DMYVNVkEfCUi2G_gGfgJVqoRCRJHkTJci4/s1600/JRadionButton-Tutorial-de-Java-Apostila-Curso.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Curso de Java completo online grátis com certificado" border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0IuqlTfbUsySt68dnqrK0TWnxh3kTZmJI5q5-cpbAOCUmicowvUunlThhAVozlAEdcOqJgNsUEMdqkfvb1zArTNhwXqjYKFXZLgfoIEm58DMYVNVkEfCUi2G_gGfgJVqoRCRJHkTJci4/s1600/JRadionButton-Tutorial-de-Java-Apostila-Curso.png" title="Tutorial de Java sobre JRadioButton" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTiUfhIA7LWUEg7Ebe2wSvOVDdPXOFG7kRuUqous9KeuctS3JPVavVMa_wHL4_kmpxRwjLFLp8BwrzB777IOn9m2wBmRQvnmq1W38SfUbNosCW1YfJDn4E8_67Bd5ESSaEvLIdC0SrGolD/s1600/JRadionButton-Apostila-Java-Tutorial-Curso-Certificado.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Apostila de Java completa para download pdf" border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTiUfhIA7LWUEg7Ebe2wSvOVDdPXOFG7kRuUqous9KeuctS3JPVavVMa_wHL4_kmpxRwjLFLp8BwrzB777IOn9m2wBmRQvnmq1W38SfUbNosCW1YfJDn4E8_67Bd5ESSaEvLIdC0SrGolD/s1600/JRadionButton-Apostila-Java-Tutorial-Curso-Certificado.png" title="Tutorial de Radio Buttom (botão de rádio) em Java" width="640" /></a></div>
<a name='more'></a><br />
<div style="text-align: center;">
<a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html" style="text-align: start;">Estudar offline pela apostila Java Progressivo</a></div>
<div style="text-align: left;">
<br /></div>
<h2 style="text-align: left;">
<span style="font-size: x-large;"><span style="color: red;">JRadioButton</span> em Java - O Que É e Para Que Serve</span></h2>
<div style="display: inline; float: right; margin-left: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div style="text-align: left;">
Certamente você já se deparou com algum <i>Radio Button</i> em algum aplicativo ou site, pois são muito comuns e usados no mundo da informática.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
São aquelas "bolinhas" que você clica para marcar e fazer uma escolha.</div>
<div style="text-align: left;">
Mas essa escolha é única, dentre todas as opções, você só pode marcar uma e é isso que difere o JRadioButton do <a href="http://www.javaprogressivo.net/2014/04/Tutorial-JCheckBox-Java-Como-Usar-Botoes-Checagem-CheckBox.html" target="_blank">JCheckBox</a>, é que nas caixas de checagem você pode marcar várias opções ao mesmo tempo.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Logo, você deve usar os JRadioButton's quando quer oferecer uma diversidade de opções, mas somente uma delas deve ser marcada.</div>
<div style="text-align: left;">
Por exemplo: </div>
<div style="text-align: left;">
"Você quer programar em Java?"</div>
<input name="tutorial1" type="radio" value="sim" /> Sim<br />
<input name="tutorial1" type="radio" value="nao" /> Não<br />
<br />
"Qual sua faixa de idade?"<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<input name="tutorial2" type="radio" value="12" />Menos 12 anos<br />
<input name="tutorial2" type="radio" value="1218" />Entre 12 e 18 anos<br />
<input name="tutorial2" type="radio" value="18" />Acima de 18 anos<br />
<br />
No primeiro exemplo, ou você quer programar em Java, ou não. Não há duas respostas.<br />
No segundo exemplo, idem. Ou tem menos de 12 anos, ou tem entre 12 e 18 ou tem mais, não há uma opção e outra ao mesmo tempo.<br />
<br />
Essa é a ideia, a lógica por trás dos <i>Radio Buttons</i>, ou botões de opção: use quando a resposta for somente uma.<br />
<br />
<h2>
<span style="font-size: x-large;">Como Usar Radio Button em Java - <span style="color: red;">JRadioButton</span></span></h2>
Agora que já sabemos o que é um <i>Radio Button</i>, para que serve e em que situações são usados, vamos aprender como programar eles em Java. Vamos fazer o exemplo das duas imagens iniciais deste artigo.<br />
<br />
Para tal, vamos iniciar importando a classe <b>JRadioButton</b>:<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JRadioButton</span><span style="color: purple;">;</span></pre>
<br />
Vamos criar dois botões de rádio, um para a opção Java e outro para C# (csharp), além de um <a href="http://www.javaprogressivo.net/2013/11/JLabel-Como-criar-rotulos-com-textos-e-imagens-em-frames.html" target="_blank">JLabel</a> para exibir o texto "Qual a melhor linguagem de Programação?"<br />
<br />
Para inicializar nossos Botões de Opção, devemos fornecer duas coisas para o construtor JRadioButton, que é uma string com o texto que vai aparecer nas opções (no caso, "Java" e "C#") e o estado inicial do botão.<br />
<br />
Note que o botão pode estar marcado ou desmarcado.<br />
Se quiser que seu aplicativo Java inicie um um Radio Button marcado coloque <b>true</b>, ou <b>false</b> para desmarcado.<br />
Vamos inicializar os nossos desmarcados:<br />
<br />
Depois simplesmente adicionamos o label e os radio buttons (na ordem do FlowLayout).<br />
<br />
<h3>
<span style="color: red;">RadioButton</span> Handler - Eventos com os Botões de Rádio</h3>
Como sempre, elementos gráficos em Java sem um <i>handler</i>, não são muito úteis.<br />
O bacana é que certos eventos e ações ocorram quando formos interagir com esses elementos.<br />
<br />
Ou seja, vamos criar nosso <b>handler</b>, para que as coisas aconteçam quando selecionarmos "Java" ou "C#" no nosso aplicativo.<br />
<br />
Vamos criar nossa classe privada interna chamada "RadioButtonHandler" que deve, obrigatoriamente, implementar a interface "ItemListener".<br />
Nessa interface, devemos implementar, obrigatoriamente, o método <b>itemStateChanged</b>.<br />
<br />
Esse método que vai "ficar de olho" se algo foi clicado, marcado ou desmarcado.<br />
Já que ele vai ficar atento se algo ocorre...o que pode ocorrer?<br />
Ora, um radio button ser marcado ou desmarcado.<br />
<br />
O método que retorna <b>true</b> se ele for marcado e <b>false</b> se for desmarcado é o "isSelected()", presente em todo objeto do tipo JRadioButton.<br />
Colocamos esses métodos dentro de testes condicionais IF.<br />
<br />
Caso "java.isSelected()" seja verdadeiro (seja selecionado), exibimos um JOptionPane com a mensagem de parabéns. Caso "csharp.isSelected()" que retorne verdadeiro, mandamos a mensagem de "Sabe de nada, inocente".<br />
<br />
Mas claro, para que tudo ocorra, devemos criar um handler (objeto do tipo RadioButtonHandler) e fazer com que os objetos "java" e "csharp" tenham seus eventos tratados por um handler dessa classe.<br />
Isso é feito através do método "addItemListener" da classe JRadioButton.<br />
<br />
<br />
<h2>
<span style="font-size: x-large;">Código Fonte do Tutorial de <span style="color: red;">Java</span></span></h2>
Vamos ver agora tudo funcionando.<br />
Crie seu projeto Java, e as duas classes "Main.java" e "RadioButton.java"<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<h3>
Main.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
RadioButton radioButtonFrame <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> RadioButton<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span> JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE <span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span> <span style="color: #008c00;">350</span><span style="color: #808030;">,</span> <span style="color: #008c00;">100</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">true</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<h3>
RadioButton.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JRadioButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JOptionPane</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> RadioButton <span style="color: maroon; font-weight: bold;">extends</span> JFrame <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JRadioButton java<span style="color: #808030;">,</span>
csharp<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel myLabel<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> RadioButtonHandler handler<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> RadioButton<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Radio Buttons - JavaProgressivo.net"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
handler <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> RadioButtonHandler<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
myLabel <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Qual a melhor linguagem de programação?"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
java <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Java"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"C#"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>myLabel<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>csharp<span style="color: #808030;">)</span><span style="color: purple;">;</span>
java<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: maroon; font-weight: bold;">class</span> RadioButtonHandler <span style="color: maroon; font-weight: bold;">implements</span> <span style="color: #bb7977; font-weight: bold;">ItemListener</span><span style="color: purple;">{</span>
<span style="color: #808030;">@</span>Override
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> itemStateChanged<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ItemEvent</span> event<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>java<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span><span style="color: #0000e6;">"Parabéns, você é o cara"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>csharp<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span><span style="color: #0000e6;">"Sabe de nada, inocente!"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<br />
<h2>
<span style="font-size: x-large;">A Classe <span style="color: red;">ButtonGroup</span> do Java</span></h2>
Ok, é fácil entender que somente uma das opções dos botões de rádio devem ser escolhida.<br />
Mas se tivermos grupos diferentes de botões?<br />
<br />
Por exemplo, se querermos saber que linguagem o usuário quer estudar (que gera somente uma resposta) e também queremos saber em que estado brasileiro ele mora (usando <i>radio buttons</i> também) ?<br />
<br />
Obviamente queremos ter alguns <i>radio buttons</i> para a primeira pergunta e outros botões para a outra pergunta. Mas vimos que o Java só deixa a gente selecionar uma opção como resposta, o que fazer?<br />
<br />
A resposta é: agrupar os botões usando o <b>ButtonGroup</b>.<br />
Importe essa classe:<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">ButtonGroup</span><span style="color: purple;">;</span></pre>
<br />
E declare objetos que serão os grupos.<br />
Vamos fazer duas perguntas no próximo exemplo, a primeira é "Que linguagem você deseja aprender" e a segunda é "Tem certeza?".<br />
<br />
Vamos criar então mais dois JRadioButtons, o "sim" e o "nao", bem como outro JLabel para o outro texto da pergunta.<br />
<br />
Vamos criar dois grupos, o "grupo1" e o "grupo2", que são objetos da classe ButtonGroup.<br />
Esses objetos possuem o método "add()" para adicionamos os JRadioButtons separadamente.<br />
<br />
Ou seja, no "grupo1" colocamos os botões "Java" e "C#", já no "grupo2" colocamos os botões "sim" e "nao".<br />
Simples!<br />
<br />
Agora vamos adicionar nosso objeto <b>handler</b> nesses botões "sim" e "nao", e dentro da classe <b>RadioButtonHandler</b> vamos fazer com que as mensagens sejam exibidas somente se o usuário clicar na linguagem que deseja aprender e no "Sim".<br />
<br />
<h3>
Código Fonte do Tutorial de Java</h3>
<div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
RadioButton radioButtonFrame <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> RadioButton<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span> JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE <span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span> <span style="color: #008c00;">450</span><span style="color: #808030;">,</span> <span style="color: #008c00;">100</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
radioButtonFrame<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">true</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<h3>
RadioButton.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JRadioButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">ButtonGroup</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JOptionPane</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> RadioButton <span style="color: maroon; font-weight: bold;">extends</span> JFrame <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JRadioButton java<span style="color: #808030;">,</span> csharp<span style="color: #808030;">,</span>
sim<span style="color: #808030;">,</span> nao<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel myLabel<span style="color: #808030;">,</span> myLabel2<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> ButtonGroup grupo1<span style="color: #808030;">,</span> grupo2<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> RadioButtonHandler handler<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> RadioButton<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Radio Buttons - JavaProgressivo.net"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
handler <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> RadioButtonHandler<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
myLabel <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Qual a melhor linguagem de programação?"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
myLabel2 <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">Você tem certeza disso?"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
java <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Java"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"C#"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
sim <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Sim"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
nao <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JRadioButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Não"</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>myLabel<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>csharp<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>myLabel2<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>sim<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>nao<span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo1 <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ButtonGroup<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo1<span style="color: #808030;">.</span>add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo1<span style="color: #808030;">.</span>add<span style="color: #808030;">(</span>csharp<span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo2 <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ButtonGroup<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo2<span style="color: #808030;">.</span>add<span style="color: #808030;">(</span>sim<span style="color: #808030;">)</span><span style="color: purple;">;</span>
grupo2<span style="color: #808030;">.</span>add<span style="color: #808030;">(</span>nao<span style="color: #808030;">)</span><span style="color: purple;">;</span>
java<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
sim<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
nao<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: maroon; font-weight: bold;">class</span> RadioButtonHandler <span style="color: maroon; font-weight: bold;">implements</span> <span style="color: #bb7977; font-weight: bold;">ItemListener</span><span style="color: purple;">{</span>
<span style="color: #808030;">@</span>Override
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> itemStateChanged<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ItemEvent</span> event<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>java<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">&</span><span style="color: #808030;">&</span> sim<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span><span style="color: #0000e6;">"Parabéns, você é o cara"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>csharp<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">&</span><span style="color: #808030;">&</span> sim<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span><span style="color: #0000e6;">"Sabe de nada, inocente!"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com4tag:blogger.com,1999:blog-555760907899454620.post-25194021576465778322014-04-30T15:38:00.000-03:002018-12-27T12:40:04.713-03:00JCheckBox - Como Usar Botões de Checagem (CheckBox ou Caixa de Seleção) (Tutorial de Java)Neste <a href="http://www.javaprogressivo.net/2012/08/graficos-e-2d.html" target="_blank">Tutorial de Java sobre GUI</a>, vamos saber o que é, para que serve e como usar o <b>JCheckBox</b>, um componente muitíssimo importante e usado em aplicações gráficas, que serve para 'checar' ou marcar uma opção.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2vLrDOxjRhXVN7lx-hzdlJgBXXOWybUvju5uPJctDDpQlOCNjmUYj1OkUZ1I__GW5eCQmFunaSIDt6xIpJGJg_lcMQCbimjsVYaWL_hC7OPWqkfbsXYzdAmLTp8QTjbusNw5jl6gumX8Z/s1600/-JCheckBox-tutorial-de-java.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Apostila de Java para download, Curso de Java, Tutorial online completo" border="0" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2vLrDOxjRhXVN7lx-hzdlJgBXXOWybUvju5uPJctDDpQlOCNjmUYj1OkUZ1I__GW5eCQmFunaSIDt6xIpJGJg_lcMQCbimjsVYaWL_hC7OPWqkfbsXYzdAmLTp8QTjbusNw5jl6gumX8Z/s1600/-JCheckBox-tutorial-de-java.jpg" title="Tutorial sobre JCheckBox em Java" width="320" /></a></div>
<a name='more'></a><br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Apostila completa Java Progressivo</a></li>
</ul>
<h2>
<span style="font-size: x-large;"><span style="color: red;">JCheckBox</span> em Java - O Que É e Para Que Serve</span></h2>
<div style="display: inline; float: right; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div>
O JCheckBox é mais um elemento que o Java nos oferece para usarmos em aplicações gráficas (GUI), e nada mais é que aquela caixinha que vemos em sites e aplicativos, para "marcarmos" ou "checarmos" algo.</div>
<div>
<br /></div>
<div>
Sem dúvidas você já usou ela pra marcar a opção "Li e Aceito os Termos" (embora nunca tenha lido, né? :), para poder se cadastrar em algum serviço de email, rede social ou para aceitar a instalação de algum software.</div>
<div>
<br /></div>
<div>
Ela é dita de duplo estado: marcada ou não marcada.</div>
<div>
A lógica dela, em Java, é que se ela estiver marcada, é como se retornasse o valor lógico <b>true</b>, e se não estiver marcada, retorna um <b>false</b>.</div>
<div>
<br /></div>
<div>
O JCheckBox, é uma espécie de botão (como <a href="http://www.javaprogressivo.net/2013/11/JButton-como-usar-botoes-em-programas-java_7.html" target="_blank">JButton</a>), porém é um botão que mantém seu estado.</div>
<div>
Ou seja, uma vez que você clica nesse elemento, uma mudança ocorre nele e esta mudança permanece (ele fica selecionado ou não, de maneira permanente).</div>
<div>
Diferente dos JButtons, que você clica, algo muda temporariamente e ele volta ao seu estado padrão (não pressionado).<br />
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
</div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">Tutorial de <span style="color: red;">JCheckBox</span> - Como Usar Caixas De Seleção em Java</span></h2>
<div>
Sem mais delongas, vamos ver como inserir esses elementos em nossos aplicativos Java.</div>
<div>
Inicialmente, vamos fazer um aplicativo que exiba a figura inicial deste tutorial: quatro JCheckBox, um com a opção "Java", outro "PHP", outro "C#" e uma caixa de seleção escrito "C".</div>
<div>
<br /></div>
<div>
Inicialmente, crie seu projeto Java.</div>
<div>
Vamos criar uma classe chamada <b>MyCheckBox.java</b>, que vai conter o código Java necessário para a exibição dessas caixas de seleção. Esta classe deve estender a JFrame</div>
<div>
<br /></div>
<div>
Agora, importe a classe <b>JCheckBox</b>, do pacote javax.swing, a JFrame e a do layout que vamos usar:</div>
<br />
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JCheckBox</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span></pre>
</div>
<div>
<br /></div>
<div>
Como queremos quatro caixas de seleção, vamos declarar quatro objetos da classe JCheckBox, e chamá-los de "java", "php", "csharp" e "c":</div>
<div>
private JCheckBox java, php, csharp, c;</div>
<div>
<br /></div>
<div>
Dentro do construtor padrão, vamos definir o título de nosso aplicativo: "Que Linguagens Deseja Aprender?", definimos o que o programa deve fazer quando clicarem em fechar, dar um tamanho para ele (setSize) e vamos usar o FlowLayout ( setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>).</div>
<br />
<div>
Agora vamos inicializar nossas caixas de seleção JCheckBox, apenas passando os nomes que queremos que apareça nelas:</div>
<div>
<br /></div>
<div>
(o mesmo para os outros JCheckBox), e em seguida adicionamos cada um deles no layout:</div>
<div>
<pre>add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span></pre>
</div>
<div>
<br /></div>
<div>
O código desta classe fica:</div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<h3>
MyCheckBox.java</h3>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JCheckBox</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> MyCheckBox <span style="color: maroon; font-weight: bold;">extends</span> JFrame <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JCheckBox java<span style="color: #808030;">,</span> php<span style="color: #808030;">,</span> csharp<span style="color: #808030;">,</span> c<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> MyCheckBox<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Que Linguagens Deseja Aprender ?"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
setSize<span style="color: #808030;">(</span><span style="color: #008c00;">400</span><span style="color: #808030;">,</span><span style="color: #008c00;">100</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Criando os JCheckBox</span>
java <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"Java"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
php <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"PHP"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"C#"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
c <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"C"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Adicionando os JCheckBox no Layout</span>
add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>php<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>csharp<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>c<span style="color: #808030;">)</span><span style="color: purple;">;</span>
setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Criando uma classe Main que tenha o método main para criar um objeto da classe MyCheckBox:</div>
<div>
<br /></div>
<h3>
Main.java</h3>
<div>
<pre><span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
MyCheckBox myCheckBox <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> MyCheckBox<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Rodando nosso projeto, o resultado é a figura lá de cima, deste tutorial.</div>
<div>
Os JCheckBox aparecem, você pode clicar, selecionar e deselecionar.</div>
<div>
<br /></div>
<div>
<h2>
<span style="font-size: x-large;">Eventos em <span style="color: red;">JCheckBox</span> - Handler e Listener</span></h2>
</div>
<div>
Ok, os JCheckBox já apareceram e estão funcionando.<br />
Mas o que eles fazem quando são clicados? Ué, faz o que você os programou para fazerem (no caso, nada).<br />
Precisamos <a href="http://www.javaprogressivo.net/2013/11/Tratando-eventos-acoes-GUI-Event-Handling-ActionListener-ActionEvent-actionPerformed.html" target="_blank">tratar os eventos</a> e ações, e isso é possível em JCheckBox através da classe <b>ItemListener</b> e seu método <b>itemStateChanged</b>.<br />
<br />
Diferente de antes, vamos usar Listener e Handler próprios par ao JCheckBox.<br />
Importe:<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemListener</span><span style="color: purple;">;</span></pre>
Agora vamos criar um JLabel, o "linguagens" que vai mostrar uma String com as linguagens que o usuário selecionar nas caixas de seleção.<br />
<br />
Para fazer o tratamento de eventos, vamos criar uma classe interna chamada CheckBoxHandler, e ela deve implementar a <b>ItemListener</b>, e dentro uma string "texto" que vai servir para armazenar os itens selecionados.<br />
<br />
Essa classe que implementa a <b>ItemListener</b> deve implementar o método "public void itemStateChanged( ItemEvent event ) { } ".<br />
Dentro deste método <b>itemStateChanged</b> é que está o segredo de nosso aplicativo, pois iremos usar testes condicionais IF para testar se cada caixa de checagem está checada ou não.<br />
<br />
Para saber isso (se a checkbox está marcada ou não), usaremos o método <b>isSelected()</b> da classe JCheckBox, que retorna <b>true</b> se a caixa estiver marcada e <b>false</b> se não estiver.<br />
E caso esteja selecionado o JCheckBox, vamos adicionar o nome da linguagem de programação selecionada na string "texto", que ao final será exibida no JLabel.<br />
<br />
Agora, vamos criar um objeto da classe CheckBoxHandler, o "tratador" e adicionar esse handler em cada um dos JCheckBox, através do método <b>addItemListener</b>.<br />
<br />
Vejam como ficou o código da classe MyCheckBox.java:<br />
<br />
<h3>
<span style="font-size: x-large;">MyCheckBox.java</span></h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ItemListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JCheckBox</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> MyCheckBox <span style="color: maroon; font-weight: bold;">extends</span> JFrame <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JCheckBox java<span style="color: #808030;">,</span> php<span style="color: #808030;">,</span> csharp<span style="color: #808030;">,</span> c<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel linguagens <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Linguagens selecionadas: "</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> MyCheckBox<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Que Linguagens Deseja Aprender ?"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
setSize<span style="color: #808030;">(</span><span style="color: #008c00;">400</span><span style="color: #808030;">,</span><span style="color: #008c00;">100</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Criando os JCheckBox</span>
java <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"Java"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
php <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"PHP"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"C#"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
c <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JCheckBox<span style="color: #808030;">(</span><span style="color: #0000e6;">"C"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Criando e adicionando o handler</span>
CheckBoxHandler tratador <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> CheckBoxHandler<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
java<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>tratador<span style="color: #808030;">)</span><span style="color: purple;">;</span>
php<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>tratador<span style="color: #808030;">)</span><span style="color: purple;">;</span>
csharp<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>tratador<span style="color: #808030;">)</span><span style="color: purple;">;</span>
c<span style="color: #808030;">.</span>addItemListener<span style="color: #808030;">(</span>tratador<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Adicionando os JCheckBox no Layout</span>
add<span style="color: #808030;">(</span>java<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>php<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>csharp<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>c<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>linguagens<span style="color: #808030;">)</span><span style="color: purple;">;</span>
setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: maroon; font-weight: bold;">class</span> CheckBoxHandler <span style="color: maroon; font-weight: bold;">implements</span> <span style="color: #bb7977; font-weight: bold;">ItemListener</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: #bb7977; font-weight: bold;">String</span> texto <span style="color: #808030;">=</span> <span style="color: #0000e6;">""</span><span style="color: purple;">;</span>
<span style="color: #808030;">@</span>Override
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> itemStateChanged<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ItemEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
texto <span style="color: #808030;">=</span> <span style="color: #0000e6;">""</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>java<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
texto <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: #0000e6;">"Java "</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>php<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
texto <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: #0000e6;">"PHP "</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>csharp<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
texto <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: #0000e6;">"C# "</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>c<span style="color: #808030;">.</span>isSelected<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
texto <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: #0000e6;">"C "</span><span style="color: purple;">;</span>
linguagens<span style="color: #808030;">.</span>setText<span style="color: #808030;">(</span><span style="color: #0000e6;">"Linguagens selecionadas: "</span><span style="color: #808030;">+</span>texto<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicp3866DSCsaB0I97lqoYir8_yrwzo00WjUKuKGLmI724X5FIK5RH5cvAMgurHdm3Y57bBJVziDZ6UPQgziqu1EkC56Dc5Tr1DlDS7s2uTSZvxC3BpizP8H8ITwev8nO_PULUAOwWQkaRl/s1600/tutorial-java-jcheckbox-apostila.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Apostila de Java para download. Curso online e completo com certificado. Tutorial de Java" border="0" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicp3866DSCsaB0I97lqoYir8_yrwzo00WjUKuKGLmI724X5FIK5RH5cvAMgurHdm3Y57bBJVziDZ6UPQgziqu1EkC56Dc5Tr1DlDS7s2uTSZvxC3BpizP8H8ITwev8nO_PULUAOwWQkaRl/s1600/tutorial-java-jcheckbox-apostila.jpg" title="Tutorial de Java sobre JCheckBox" width="320" /></a></div>
<br /></div>
Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-555760907899454620.post-1840189039018998342014-01-02T15:31:00.003-03:002018-12-27T12:54:27.280-03:00Como ler caracteres, Strings e Bytes de um arquivo em JavaNeste tutorial de nossa <a href="http://www.javaprogressivo.net/2013/01/Apostilas-de-Java-para-download.html" target="_blank">apostila Java Progressivo</a>, iremos aprender as diferentes maneiras de se ler dados de um arquivo na linguagem Java.<br />
<br />
Iniciaremos mostrando como ler caractere por caractere de um arquivo.<br />
Em seguida, veremos como ler Strings (ler linhas inteiras).<br />
E por fim, veremos como ler quaisquer tipos de bytes de um arquivo, seja seu conteúdo de texto, vídeo, música ou binário.<br />
<a name='more'></a><br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html" target="">Apostila de Java em PDF</a></li>
</ul>
<h2>
<span style="font-size: x-large;">Como ler <span style="color: red;">caracteres</span> de um arquivo em Java</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
Inicialmente, crie um arquivo chamado "file.txt", e o bote dentro do projeto de Java, junto das pastas <b>src</b> e <b>bin</b>. Escreve apenas a letra 'a' nesse arquivo.<br />
<br />
Para abrir este arquivo, iremos usar a classe <b>FileInputStream</b> que irá receber uma string que representa o local onde está armazenado o arquivo em seu computador.<br />
<br />
Como ele está na pasta do próprio projeto, apenas colocamos o nome do arquivo: file.txt<br />
Mas você pode colocar o endereço completo: /usr/JavaProgressivo/Arquivos/file.txt<br />
Vamos chamar de "entrada" o objeto responsável pela abertura do arquivo.<br />
<br />
Como queremos trabalhar com caracteres, a maneira que este objeto vai ler o arquivo é uma maneira especial, pois deve ler bytes que representem caracteres.<br />
Vamos usar a classe <b>InputStreamReader</b> para 'tratar' esse objeto que abriu o arquivo, essa classe vai fazer com que a leitura do arquivo seja uma leitura específica, uma leitura de caracteres.<br />
Vamos chamar esse objeto de 'entradaFormatada'.<br />
<br />
E, finalmente, para ler o primeiro caractere do arquivo (não importa quantos bytes tenham sido lidos, pois a <b>InputStreamReader</b> já tratou de ler e formatar essa entrada para caractere) iremos usar o método <b>read()</b>, que retorna um inteiro que representa o caractere.<br />
<br />
Assim, nosso código que lê esse primeiro caractere fica:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">io</span><span style="color: #808030;">.</span><span style="color: maroon; font-weight: bold;">*</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Arquivos <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">throws</span> <span style="color: #bb7977; font-weight: bold;">IOException</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">FileInputStream</span> entrada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FileInputStream</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"file.txt"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">InputStreamReader</span> entradaFormatada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">InputStreamReader</span><span style="color: #808030;">(</span>entrada<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977;">int</span> c <span style="color: #808030;">=</span> entradaFormatada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span>c<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
O resultado deve ser 97, que é a representação de 'a'.<br />
Para podermos exibir na tela o caractere 'a', basta fazermos o <b>cast</b> para <b>char</b>:<br />
<pre><span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>print<span style="color: #808030;">(</span> <span style="color: #808030;">(</span><span style="color: #bb7977;">char</span><span style="color: #808030;">)</span> c<span style="color: #808030;">)</span><span style="color: purple;">;</span></pre>
<pre><span style="color: purple;">
</span></pre>
<h3>
Lendo mais de um caractere - Fim de arquivo</h3>
Ok, aprendemos a ler um caractere de um arquivo.<br />
Mas, e para ler outro? Usar o método de novo? Sim, funciona.<br />
E se seu arquivo for um texto enorme, de milhares de caracteres, usar milhares de vezes o <b>read()</b> ?<br />
<br />
Óbvio que não.<br />
Podemos usar um looping, como através do <a href="http://www.javaprogressivo.net/2012/08/o-laco-while-o-que-e-como-usar-e.html" target="_blank">laço while</a>, que deve ler todos os caracteres e só parar quando terminar o arquivo.<br />
<br />
E como que vamos saber quando termina o arquivo?<br />
Fácil: o maravilhoso método <b>read()</b> retorna o valor -1 quando isso ocorre.<br />
E ele faz outra coisa interessante: após ele ler um caractere, ele imediatamente aponta para o próximo.<br />
<br />
Assim, escreva em seu arquivo 'file.txt' o seguinte texto (ou qualquer outro): Apostila Java Progressivo<br />
Para exibir todo o conteúdo de texto de um arquivo, usaremos o seguinte código:<br />
<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">io</span><span style="color: #808030;">.</span><span style="color: maroon; font-weight: bold;">*</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Arquivos <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">throws</span> <span style="color: #bb7977; font-weight: bold;">IOException</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">FileInputStream</span> entrada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FileInputStream</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"file.txt"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">InputStreamReader</span> entradaFormatada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">InputStreamReader</span><span style="color: #808030;">(</span>entrada<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977;">int</span> c <span style="color: #808030;">=</span> entradaFormatada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">while</span><span style="color: #808030;">(</span> c<span style="color: #808030;">!</span><span style="color: #808030;">=</span><span style="color: #808030;">-</span><span style="color: #008c00;">1</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>print<span style="color: #808030;">(</span> <span style="color: #808030;">(</span><span style="color: #bb7977;">char</span><span style="color: #808030;">)</span> c<span style="color: #808030;">)</span><span style="color: purple;">;</span>
c <span style="color: #808030;">=</span> entradaFormatada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
PS: Quando você cria o código de leitura de arquivos, automaticamente a IDE insere o 'throws IOException', para tratar eventuais erros e exceções.<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;">Como ler <span style="color: red;">Strings</span> de um arquivo em Java</span></h2>
Muitas vezes se trabalhar com caractere por caractere (como é feito na linguagem C), é algo um pouco chato e trabalhoso.<br />
Por exemplo, no código passado tivemos que criar um laço while para ler uma frase.<br />
<br />
Visando facilitar a vida do programador Java, existe uma classe chamada <b>BufferedReader</b> que recebe como argumento um objeto do tipo <b>InputStreamReader</b> e agrupa os caracteres até formar uma linha.<br />
Ou seja, ele recebe os caracteres (entrada formatada) e vai agrupando eles até encontrar o símbolo de <i>new line</i> '\n', e retorna essa String (sem o \n).<br />
<br />
Vamos chamar esse objeto da classe <b>BufferedReader</b> de 'entradaString' e vamos ler a primeira e única linha de nosso arquivo 'file.txt':<br />
Também iremos criar a variável 'linha', do tipo String para receber as linhas.<br />
Linhas essas que serão lidas e retornadas através do método <b>readLine()</b>.<br />
<br />
Note como as coisas são análogas ao caso do caractere.<br />
Lá, quando chegava ao final do arquivo retornava o valor -1, como aqui estamos trabalhando com Strings, ao encontrar o final do arquivo, o método <b>readLine()</b> retorna o nosso velho e conhecido <b>null</b>.<br />
<br />
Agora escreva outra linha: "C Progressivo", "HTML Progressivo", "Programação Progressiva" etc.<br />
O código Java para exibir todas essas linhas será:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">io</span><span style="color: #808030;">.</span><span style="color: maroon; font-weight: bold;">*</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Arquivos <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">throws</span> <span style="color: #bb7977; font-weight: bold;">IOException</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">FileInputStream</span> entrada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FileInputStream</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"file.txt"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">InputStreamReader</span> entradaFormatada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">InputStreamReader</span><span style="color: #808030;">(</span>entrada<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">BufferedReader</span> entradaString <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">BufferedReader</span><span style="color: #808030;">(</span>entradaFormatada<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">String</span> linha <span style="color: #808030;">=</span> entradaString<span style="color: #808030;">.</span>readLine<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">while</span><span style="color: #808030;">(</span>linha <span style="color: #808030;">!</span><span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span>linha<span style="color: #808030;">)</span><span style="color: purple;">;</span>
linha <span style="color: #808030;">=</span> entradaString<span style="color: #808030;">.</span>readLine<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<h2>
<span style="font-size: x-large;">Como ler <span style="color: red;">bytes </span>de um arquivo em Java</span></h2>
Para ler byte por byte de um arquivo, iremos usar duas classes: a InputStream e a FileInputStream(esta é filha da primeira).<br />
Vamos passar para esta segunda classe o endereço (URL) de nosso arquivo de texto.<br />
Como vamos colocar ele no diretório do projeto (junto as pastas <i style="font-weight: bold;">src</i> e <i style="font-weight: bold;">bin</i>), fica:<br />
<span style="color: red;">InputStream entrada = new FileInputStream("file.txt");</span><br />
<br />
Isso já abre e posiciona o leitor de bytes apontando para o primeiro byte do arquivo.<br />
Vamos usar um inteiro para receber byte por byte, o "umByte".<br />
Note que, embora ele leia o byte (8 bits), o Java já transforma esta informação em um inteiro (bacana, esse Java, não?)<br />
<br />
Para ler um byte, vamos fazer uso do método <b>read()</b>, que lê e retorna o byte do arquivo.<br />
Escrevea no 'file.txt' simplesmente o caractere 'a'.<br />
Nosso programa que lê 1 byte fica:<br />
<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">io</span><span style="color: #808030;">.</span><span style="color: maroon; font-weight: bold;">*</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Arquivos <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">throws</span> <span style="color: #bb7977; font-weight: bold;">IOException</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">InputStream</span> entrada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FileInputStream</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"file.txt"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977;">int</span> umByte <span style="color: #808030;">=</span> entrada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>print<span style="color: #808030;">(</span>umByte<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
Note que o resulto é 97, que é o inteiro que representa o caractere 'a'.<br />
Para ver o caractere 'a' aparecer na tela, basta colocar um <b>cast</b> para que o Java automaticamente transforme o inteiro em caractere. Para isso, basta fazer:<br />
<pre><span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>print<span style="color: #808030;">(</span><span style="color: #808030;">(</span><span style="color: #bb7977;">char</span><span style="color: #808030;">)</span>umByte<span style="color: #808030;">)</span></pre>
<br />
Vamos agora escrever mais coisas em nosso arquivo.<br />
Substitua o 'a' por "Apostila Java Progressivo". Ou seja, agora temos vários, vários bytes para ler.<br />
Para criarmos um programa que leia e exiba todos os bytes, vamos usar um laço que vai rodar até a classe <i style="font-weight: bold;">FileInputStream</i> encontrar o final do arquivo, e quando isso ocorrer o método <b>read()</b> retorna o valor, que em inteiro, é -1.<br />
E como o método <b>read()</b>, antes de retornar o byte lido, pula (aponta) para o próximo byte, para lermos todos os bytes de um arquivo de texto, nosso código deve ser:<br />
<br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">io</span><span style="color: #808030;">.</span><span style="color: maroon; font-weight: bold;">*</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Arquivos <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">throws</span> <span style="color: #bb7977; font-weight: bold;">IOException</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">InputStream</span> entrada <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FileInputStream</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"file.txt"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977;">int</span> umByte <span style="color: #808030;">=</span> entrada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">while</span><span style="color: #808030;">(</span>umByte <span style="color: #808030;">!</span><span style="color: #808030;">=</span> <span style="color: #808030;">-</span><span style="color: #008c00;">1</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>print<span style="color: #808030;">(</span><span style="color: #808030;">(</span><span style="color: #bb7977;">char</span><span style="color: #808030;">)</span>umByte<span style="color: #808030;">)</span><span style="color: purple;">;</span>
umByte <span style="color: #808030;">=</span> entrada<span style="color: #808030;">.</span>read<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<br />
Embora tenhamos usado a <b>FileInputStream</b> para ler caracteres, ela pode ser usada para se trabalhar com quaisquer tipos de dados. É tanto que não usamos a InputStreamReader para tratar nossos bytes, como fizemos quando fomos ler caracteres e Strings.<br />
<br />
<h2>
<span style="font-size: x-large;">Fechando arquivos - O método <span style="color: red;">close()</span></span></h2>
Embora a JVM (<i>Java Virtual Machine</i>) tenha um fantástico <i>Garbage Collector</i>, que vai eliminando variáveis que não usamos e fechando arquivos que não mais acessaremos, nem sempre ela consegue prever o que vai ser usado ou não em um programa.<br />
<br />
Por isso, independente da complexidade de seus aplicativos Java é importante você fechar os arquivos que abriu (seja pra ler ou escrever).<br />
Isso é feito através do método <b>close()</b>, presentes nas classes que usamos para tratar os arquivos.<br />
Assim, faça:<br />
<br />
<b>entrada.close();</b>Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com9tag:blogger.com,1999:blog-555760907899454620.post-27082044816514227842014-01-02T13:32:00.001-03:002018-12-27T12:52:16.447-03:00Entrada, Saída e Tipos de dados - Fluxo (stream) e o pacote Java.ioAgora que já explicamos <a href="http://www.javaprogressivo.net/2014/01/Arquivos-Files-em-Java.html" target="_blank">o que são e a importância dos arquivos</a>, nesse tutorial vamos entrar em mais detalhes sobre como usar os arquivos em nossos programas Java.<br />
<br />
Para isso, vamos entender um pouco mais sobre os tipos de dados que vamos trabalhar, por onde entram, saem, fluxo (<i>stream</i>) e o pacote <i>java.io</i> que vai nos permitir fazer uso dos arquivos.<br />
<br />
<a name='more'></a><ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Download da Apostila Java Progressivo</a></li>
</ul>
<br />
<h2>
<span style="font-size: x-large;">Tipos de dados dos <span style="color: red;">arquivos</span> em Java</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
Nesta altura do campeonato de nossa <a href="http://www.javaprogressivo.net/2013/01/Apostilas-de-Java-para-download.html" target="_blank">apostila Java Progressivo</a>, você já deve estar careca de saber que, em níveis mais baixos, tudo em programação e computador se resume aos números binários (1's e 0's), que são formas de se representar alguns processos físicos (voltagem, corrente etc) em eletrônica.<br />
<br />
E se tudo, à rigor é 0 e 1, o Java também vê os arquivos como números binários.<br />
No caso específico do Java, ele trabalha com bytes.<br />
Assim, teremos sempre a opção de se trabalhar diretamente com os números binários, em arquivos.<br />
<br />
Porém, para os programadores humanos (alguns parecem que não são :), é algo extremamente enfadonho, para não dizer fora de cogitação, se trabalhar com uma sequência de números 0's e 1's.<br />
Por exemplo, cada caractere, em <i>unicode</i>, é representado por 2 bytes em Java, ou 8 bits.<br />
<br />
Assim, uma outra maneira de lidarmos com arquivos, que a linguagem Java nos oferece, é através de caracteres, e é dessa maneira que iremos focar em nosso curso.<br />
<br />
<h2>
<span style="font-size: x-large;">Fluxo (<i>stream</i>) - Entrada(<span style="color: red;">in</span>) e Saída(<span style="color: red;">out</span>) de dados</span></h2>
Em Java, os dados de um arquivo estão organizados em série, ou seja, um atrás do outro.<br />
Ao abrirmos um arquivo para leitura, por exemplo, começamos a leitura (acesso aos dados) a partir dos bytes iniciais, e vamos tendo acesso byte por byte.<br />
O término desse fluxo sequencial de bytes é dado por uma espécie de sinalização, um marcador que avisa que o arquivo chegou ao final.<br />
<br />
O uso dos arquivos em Java é bem mais comum do que imaginamos até o momento. É tanto que ele sempre criamos um aplicativo, o Java cria três objetos para se trabalhar com o fluxo de dados.<br />
Eles são o <i style="font-weight: bold;">System.in</i> (para receber dados, <i>in</i> é dentro em inglês), o <i style="font-weight: bold;">System.out</i> (saída de dados, <i>out</i> é fora em inglês) e o <i style="font-weight: bold;">System.err</i> (para erros).<br />
<br />
E sim, já trabalhamos como o <i style="font-weight: bold;">System.in</i> quando trabalhamos com a <a href="http://www.javaprogressivo.net/2012/08/java-recebendo-dados-do-usuario-classe.html" target="_blank">classe Scanner</a> para receber dados e com <b>System.out </b>com as funções <i style="font-weight: bold;">printf</i> para <a href="http://www.javaprogressivo.net/2012/08/java-saidas-simples-usando-print.html" target="_blank">exibir saídas de texto na tela</a>.<br />
Essas são as entradas e saídas padrão do Java.<br />
<br />
Nesta seção sobre arquivos vamos usar as saídas e entradas, mas não as padrões (teclado e tela), e sim arquivos. Ou seja, vamos receber as entradas de um arquivo (e não mais pelo teclado) e vamos direcionar as saídas de nosso aplicativo para os arquivos (e não mais para a tela do computador).<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;">O pacote <span style="color: red;">java.io</span></span></h2>
No estudo e manipulação de arquivos em Java, será necessário o uso de um pacote especial, o <i style="font-weight: bold;">java.io</i> (io de <i>in out</i>), pois não iremos mais trabalhar com as entrada e saída padrão.<br />
Esse <i>package</i> oferece um acervo gigantesco de possibilidades, classes e funções para trabalharmos com arquivos de uma maneira bem, mas bem mais simples do que em muitas outras linguagens.<br />
<br />
Este pacote possui funções que nos permitem checar se um dado endereço (URL) é um arquivo, um diretório, se existe ou não, deletar, ver o tamanho, localização, ver quando foi criado ou modificado, e diversas outras possibilidades, como é possível ver na documentação oficial:<br />
<br />
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/package-summary.html" rel="nofollow" target="_blank">http://docs.oracle.com/javase/7/docs/api/java/io/package-summary.html</a><br />
<br />
Em nosso curso iremos focar bastante a classe <i style="font-weight: bold;">InputStream</i> e a <i style="font-weight: bold;">FileInputStream</i> (para ler) e <i style="font-weight: bold;">OutputStream </i>e <i style="font-weight: bold;">FileOutputStream</i> (para escrever) trabalhando-se com bytes, além de classes específicas, <span style="font-family: inherit;">como as classes <i style="font-weight: bold;">Reader</i>, <span style="background-color: white; color: #202020; line-height: 32px; text-indent: 25px;"><b><i>InputStreamReader</i></b> e </span><span style="background-color: white; color: #202020; line-height: 32px; text-indent: 25px;"><b><i>BufferedReader</i></b> para trabalharmos com <i>chars</i> (caracteres) e Strings.</span></span>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com0tag:blogger.com,1999:blog-555760907899454620.post-45616103715933448102014-01-02T00:40:00.002-03:002018-12-27T12:50:16.721-03:00Arquivos (Files) em JavaNeste <b>tutorial de Java</b> de nosso curso, vamos apresentar um conceito bem diferente de se trabalhar com dados, e sem dúvidas um dos mais importantes em programação Java.<br />
<br />
Não é por menos que iremos dedicar uma seção inteira de nosso site para ensinar como usar arquivos (<i>files</i>), em Java.<br />
<br />
<a name='more'></a><br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Baixar a Apostila Java Progressivo</a></li>
</ul>
<br />
<br />
<h2>
<span style="font-size: x-large;">O que são </span><span style="font-size: x-large;"><span style="color: red;">Arquivos</span> em Java</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
Até o momento, em nossa <a href="http://www.javaprogressivo.net/2013/01/Apostilas-de-Java-para-download.html" target="_blank">Apostila Java Progressivo</a>, vínhamos armazenando as informações em variáveis.<br />
Inicialmente aprendemos a usar os vários tipos de variáveis, depois aprendemos a colocar tudo em <a href="http://www.javaprogressivo.net/2012/09/arrays-como-declarar-usar-e-acessar-os.html" target="_blank">Arrays</a>, e por fim quando aprendemos <a href="http://www.javaprogressivo.net/2012/09/como-usar-arraylist-em-java.html" target="_blank">ArrayList</a> vimos a infinidade de possibilidade que o Java nos dá para organizar os elementos, inserir, tirar, achar, alterar e fazermos o que quisermos com objetos em um Array.<br />
<br />
Porém, existe um problema nesses tipos de variáveis, nessas maneiras de armazenar e organizar informações: elas são temporárias.<br />
Isso mesmo, quando seu programa termina, tudo o que você criou ou que foi computado pelo seu aplicativo Java irá se perder.<br />
<br />
Imagine só, sempre que você desligar seu computador, perder todos os arquivos que você trabalhou/usou, todas as fotos, textos etc.<br />
Sem condições, não é?<br />
E é exatamente por isso que está faltando um 'algo a mais' em nosso aprendizado de Java!<br />
<br />
No dia-a-dia, os programas que usamos, armazenam as informações de maneira permanente.<br />
Você abre o aplicativo, usa, escolhe o que salva, o que não salva, fecha o programa e no outro dia quando for usar de novo, vai estar tudo lá.<br />
<br />
É aí que entram os arquivos: eles são maneiras de armazenarmos informações de maneira permanente.<br />
São os arquivos mesmo, que conhecemos, como um arquivo de texto (.txt, .doc), uma música (.mp3), um vídeo (.avi) ou uma foto que salvamos (.jpg).<br />
<br />
Vamos aprender como criar arquivos, abrir um arquivo existente no seu computador, como ler suas informações, alterar e até mesmo apagar arquivos.<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;">Para que estudar <span style="color: red;">Arquivos</span> em Java</span></h2>
Vamos voltar ao nosso clássico exemplo da empresa, daquela que você foi contratado para criar um sistema com os dados de cada funcionário da empresa.<br />
Cada empregado é um objeto (da classe "Funcionário", por exemplo), com os dados de nome, endereço, telefone, salário, setor etc.<br />
<br />
Você criou um sistema em que eles forneceram tais informações. Ok, e onde estas informações vão ficar?<br />
Em ArrayList, no computador-servidor da empresa? Ok.<br />
E se houver um problema? Faltar energia ou o servidor quebrar? Vai perder os dados?<br />
Vai pedir para eles preencherem tudo de novo sempre que isso ocorrer?<br />
E o registro de mudanças, contratações, demissões, promoção etc?<br />
Onde vai guardar as informações sobre tudo isso.<br />
<br />
Não há para onde correr: você deve armazenar essas informações de maneira permanente (além de ter que fazer um <i>backup</i> periodicamente em outros locais).<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
Sabe quando liga seu computador, com seu login e senha?<br />
Como o computador sabe que aqueles dados estão certos? Ora, ele deve ter essa informação de login e da senha armazenadas em algum lugar em sua memória. Daí você entra com os dados, e seu sistema operacional vai lá checar se está ok.<br />
<br />
E quando você vai jogar algum jogo no seu computador? Já reparou que sempre inicia exatamente de onde você parou? E isso acontece no computador, vídeo-game ou até naquele joguinho Java do seu celular.<br />
E aí, o jogo adivinhou o que você fez no passado?<br />
Óbvio que não, ele simplesmente foi armazenando tudo o que você fez em arquivos de seu computador.<br />
<br />
E podemos ficar horas aqui explicando a importância dos arquivos, mas certamente já deu pra entender o mundo de novas coisas que podemos fazer com os arquivos.<br />
O fato é que nossos programas irão se 'comunicar' com os computadores, abrir arquivos, alterar dados de um pendrive, se auto-duplicar, guardar senhas, apagar arquivos, fazer back-up e praticamente tudo o que você quiser.<br />
<br />
A coisa está começando a ficar interessante, não?Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com5tag:blogger.com,1999:blog-555760907899454620.post-6663889590196313592013-11-23T03:15:00.000-03:002018-12-27T12:37:25.736-03:00JTextField e JPasswordField - Como usar caixas de texto e de senha em Java<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6kTl3CBdSqFj7VU9Mvm9IEWp_Pp1oz5WEo1M-SgwyD5NmZvvKOz1jJgg3ePDOYBCcYrIQUvx9EN7LPNH56syuPDuLTcY3TWb12YoADwQsf8UwnNfqw6YwI9oiALyQu4uIewtyPHI072nN/s1600/JPasswordField.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Apostila de Java para download" border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6kTl3CBdSqFj7VU9Mvm9IEWp_Pp1oz5WEo1M-SgwyD5NmZvvKOz1jJgg3ePDOYBCcYrIQUvx9EN7LPNH56syuPDuLTcY3TWb12YoADwQsf8UwnNfqw6YwI9oiALyQu4uIewtyPHI072nN/s320/JPasswordField.png" title="Como usar caixas de texto (JTextField) e de senha (JPasswordField) em Java" width="320" /></a></div>
Dando continuidade a nossa seção de Interfaces Gráficas do Usuário (<i>GUI</i>), vamos ensinar o que é, para que serve e como usar as caixas de textos e de senha, as <i>JTextField</i> e <i>JPasswordField</i>, que nos possibilitarão a comunicação entre nosso aplicativo Java e a entrada do usuário pelo teclado.<br />
<br />
Ao final deste tutorial de Java, iremos criar um exemplo mostrando uma aplicação simples de Login e Senha.<br />
<br />
<a name='more'></a><ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Java Progressivo em PDF(download da Apostila)</a></li>
</ul>
<h2>
<span style="font-size: x-large;"><span style="color: red;">JTextField</span> - Caixas de Texto</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div>
Qual a primeira coisa que você faz após ligar seu computador?</div>
<div>
Qual a primeira ação, interação que você tem com sua máquina?</div>
<div>
Provavelmente é preencher o login e senha para logar em seu sistema operacional.</div>
<div>
<br /></div>
<div>
Deve fazer o mesmo para acessar seu e-mail ou alguma rede social.</div>
<div>
Ao fazer uma compra na internet, você precisa preencher todos os seus dados, como nome, data de nascimento, número do cartão de crédito etc.</div>
<div>
<br /></div>
<div>
Não sei se reparou, mas a todo instante estamos tendo contato com caixas de texto.</div>
<div>
Ou seja, escrevemos algo e o que digitamos é enviado para algum lugar, é usado em algum algoritmo para testar, validar, armazenar ou checar o que digitamos.</div>
<div>
<br /></div>
<div>
Tudo isso é feito com caixas de texto, que é o foto deste nosso tutorial de nossa <a href="http://www.javaprogressivo.net/2013/01/Apostilas-de-Java-para-download.html" target="_blank">apostila de Java</a>.</div>
<div>
Ou seja, nem precisamos entrar em detalhes o quão importante estas caixas são, portanto devemos aprender a criar tal recurso em programação Java.</div>
<div>
<br /></div>
<div>
Isso é feito através da componente <i>JTextField</i>.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
</div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;"><span style="color: red;">JTextField</span> - Como criar e usar uma caixa de texto em Java</span></h2>
<div>
Assim como outros <i>JComponents</i>, precisamos primeiramente importar a classe responsável por cada componente. No caso das caixas de texto, devemos importar:</div>
<div>
import javax.swing.JTextField;</div>
<div>
<br /></div>
<div>
Vamos declarar isso em uma classe chamada "<b>CaixaDeTexto</b>", que irá estender um <i>JFrame</i>.</div>
<div>
Inicialmente, vamos usar 3 componentes. Duas caixas de texto: "fixo" e "caixa" ; e uma JButton, o "exibe".</div>
<div>
Vale ressaltar que sempre que inicializamos uma caixa de texto, ela terá automaticamente uma string, que é exibida na caixa de texto.</div>
<div>
<br /></div>
<div>
Devemos aprender, inicialmente, três importantes métodos de um <i>JTextField</i>:</div>
<div>
<ul>
<li><b>setTexto(String str)</b> - Faz a caixa de texto armazenar a string "str"</li>
<li><b>getTexto() </b>- Retorna a string de um <i>JTextField</i></li>
<li><b>setEditable(boolean b)</b> - Há duas opções de caixas de texto, as editáveis (onde é possível escrevermos algo) e as não editáveis (caixas que possuem um texto fixo, que não é possível alterar, como as conhecidas "Termos e Regulamentos" que sempre aceitamos sem ler :)</li>
</ul>
<h3>
Exemplo sobre JTextField</h3>
</div>
<div>
Crie um programa que exiba duas caixas de texto, uma editável e outra não editável, e dois botões, um de "Exibe" que mostra o texto digitado em uma caixa de diálogo e um botão de "Limpar", que apaga o conteúdo da caixa de texto editável.</div>
<div>
<br /></div>
<div>
Vamos inicializar a caixa de texto não editável com a string "Não é possível alterar essa caixa de texto".</div>
<div>
Já a JTextField editável, vamos iniciar com o número 20, que representa o número de caracteres que a string dessa caixa de texto armazena.</div>
<div>
<br /></div>
<div>
Os dois botões são inicializados com seus nomes "Exibir" e "Limpar".</div>
<div>
Agora vamos tratar os eventos dos botões (não precisamos tratar as JTextField's, pois ao passo que digitamos algo na caixa de texto, a sua string já é automaticamente mudada e atualizada).</div>
<div>
<br /></div>
<div>
Vamos usar objetos anônimos, visto que são JButtons simples, onde cada um faz uma coisa específica:</div>
<div>
O botão "Exibir" simplesmente exibe uma JOptionPane com a string da caixa de texto, que está armazenada em: caixa.getText()</div>
<div>
<br /></div>
<div>
E o botão "Limpar" simplesmente coloca uma string vazia na caixa de texto. Isso é feito pelo método:</div>
<div>
caixa.setText("");</div>
<div>
<br /></div>
<div>
E pronto! Veja o código e teste:</div>
<h3>
Main.java</h3>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
CaixaDeTexto texfield <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> CaixaDeTexto<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">310</span><span style="color: #808030;">,</span><span style="color: #008c00;">110</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<div>
</div>
<br />
<div>
<br /></div>
<h3>
CaixaDeTexto.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JTextField</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JOptionPane</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> CaixaDeTexto <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JTextField fixa<span style="color: #808030;">,</span> caixa<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton exibe<span style="color: #808030;">,</span> limpa<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> CaixaDeTexto<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"JTextField - Caixas de texto"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
fixa <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JTextField<span style="color: #808030;">(</span><span style="color: #0000e6;">"Não é possível alterar essa caixa de texto"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
fixa<span style="color: #808030;">.</span>setEditable<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">false</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>fixa<span style="color: #808030;">)</span><span style="color: purple;">;</span>
caixa<span style="color: #808030;">=</span><span style="color: maroon; font-weight: bold;">new</span> JTextField<span style="color: #808030;">(</span><span style="color: #008c00;">20</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>caixa<span style="color: #808030;">)</span><span style="color: purple;">;</span>
exibe <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Exibir"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
exibe<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> exibe<span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span> caixa<span style="color: #808030;">.</span>getText<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>exibe<span style="color: #808030;">)</span><span style="color: purple;">;</span>
limpa <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Limpar"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
limpa<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> limpa<span style="color: #808030;">)</span>
caixa<span style="color: #808030;">.</span>setText<span style="color: #808030;">(</span><span style="color: #0000e6;">""</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>limpa<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<div>
</div>
<br />
<div>
<br /></div>
<div>
<h2>
<span style="font-size: x-large;"><span style="color: red;">JPasswordField</span> - Como criar caixas de senha</span></h2>
</div>
<div>
Se você aprendeu bem como se usar o <i>JTextField</i>, já entendeu como funciona a <i>JPasswordField</i>, pois a única diferença é que este JComponent exibe asteriscos no lugar dos caracteres que o usuário escreve.</div>
<div>
<br /></div>
<div>
Você não vê a string digitada, mas ela está lá, presente no <i>JPasswordField</i>.</div>
<div>
Embora não possamos ver, podemos trabalhar normalmente com a string.</div>
<div>
Por exemplo, podemos comparar duas strings: a senha original e a que o usuário digitou, se estiverem iguais, sucesso. Se não, não entra ;)</div>
<div>
<br /></div>
<div>
Exemplo de uso do JPasswordField</div>
<div>
Crie um programa em Java que pede o nome de usuário e senha para o usuário.</div>
<div>
Caso estejam certos, uma mensagem de sucesso é exibida, caso contrário uma mensagem de erro é mostrada na caixa de diálogo.</div>
<div>
Implemente também um botão para limpar ambos campos.</div>
<div>
<br /></div>
<div>
A única dificuldade que alguém pode ter neste exercício é o da comparação de strings, que é feita através do método <i style="font-weight: bold;">X.equals(Y)</i>, que retorna TRUE caso X seja igual a Y, e FALSE caso contrário.</div>
<div>
<br /></div>
<div>
E agora nosso botão "Limpar" coloca uma string vazia tanto no usuário como na senha.</div>
<div>
Vamos usar dois JLabels, que estarão escritos "Usuário" e "Senha", ao lado das caixas de texto e de senha.</div>
<div>
<br /></div>
<div>
Como você é programador Java, certamente olhando para o código você é capaz de descobrir qual o usuário e senha para entrar no sistema :)</div>
<br />
<br />
<h3>
Main.java</h3>
<div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
CaixaDeTexto texfield <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> CaixaDeTexto<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">310</span><span style="color: #808030;">,</span><span style="color: #008c00;">110</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
texfield<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<div>
</div>
<br />
<div>
<br /></div>
<h3>
CaixaDeTexto.java</h3>
</div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JPasswordField</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JTextField</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JOptionPane</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> CaixaDeTexto <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JTextField usuario<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JPasswordField senha<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton login<span style="color: #808030;">,</span> limpa<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel user<span style="color: #808030;">,</span> pass<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> CaixaDeTexto<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Login em Java"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
user <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Usuário: "</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>user<span style="color: #808030;">)</span><span style="color: purple;">;</span>
usuario <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JTextField<span style="color: #808030;">(</span><span style="color: #008c00;">15</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>usuario<span style="color: #808030;">)</span><span style="color: purple;">;</span>
pass <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Senha: "</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>pass<span style="color: #808030;">)</span><span style="color: purple;">;</span>
senha <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JPasswordField<span style="color: #808030;">(</span><span style="color: #008c00;">15</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>senha<span style="color: #808030;">)</span><span style="color: purple;">;</span>
login <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Entrar"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
login<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> login<span style="color: #808030;">)</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>usuario<span style="color: #808030;">.</span>getText<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>equals<span style="color: #808030;">(</span><span style="color: #0000e6;">"Java"</span><span style="color: #808030;">)</span> <span style="color: #808030;">&</span><span style="color: #808030;">&</span> senha<span style="color: #808030;">.</span>getText<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>equals<span style="color: #808030;">(</span><span style="color: #0000e6;">"progressivo"</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span> <span style="color: #0000e6;">"Parabéns, você entrou na Matrix!"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">else</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span> <span style="color: #0000e6;">"Senha errada! Estude Java!"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>login<span style="color: #808030;">)</span><span style="color: purple;">;</span>
limpa <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Limpar"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
limpa<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> limpa<span style="color: #808030;">)</span><span style="color: purple;">{</span>
usuario<span style="color: #808030;">.</span>setText<span style="color: #808030;">(</span><span style="color: #0000e6;">""</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
senha<span style="color: #808030;">.</span>setText<span style="color: #808030;">(</span><span style="color: #0000e6;">""</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>limpa<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<div>
</div>
<br />
<h4>
</h4>
<h4>
Exercício de Java</h4>
<div>
Crie um programa que peça o peso do usuário (em kg) e sua altura (em metros) através de caixas de texto do tipo JTextField e exiba o resultado do IMC da pessoa quando ela clicar em "Calcular"></div>
<div>
A fórmula do IMC é: Peso/(altura x altura)</div>
<div>
Implemente um botão de limpar.</div>
Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-555760907899454620.post-65719012013520340102013-11-22T22:16:00.004-03:002013-11-22T22:22:34.851-03:00Livro e Ebook - Java e Programação Orientada a Objetos: Uma abordagem didática<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9oLdyxxkbQsVfWdHiivQKl25kEtGH0eO-GMJofIwFYBDMZ8FVW4vD2zcyDbCbwPPsQyQVUBu_MtcOI1oCqEOQmoOsmsI6q4HOZoBYOrbU5t4aV2D6C8wWs1Wn_hJ3JHuuT51hCYRPACJo/s1600/Livro-Java-e-Programacao-Orientada-a-Objetos.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Ebook para download sobre Java" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9oLdyxxkbQsVfWdHiivQKl25kEtGH0eO-GMJofIwFYBDMZ8FVW4vD2zcyDbCbwPPsQyQVUBu_MtcOI1oCqEOQmoOsmsI6q4HOZoBYOrbU5t4aV2D6C8wWs1Wn_hJ3JHuuT51hCYRPACJo/s320/Livro-Java-e-Programacao-Orientada-a-Objetos.png" title="Livro de Java e Ebook" width="233" /></a>Já é um costume da <a href="http://www.javaprogressivo.net/" target="_blank">apostila Java Progressivo</a> revisar e dar dicas sobre diversos livros na área de programação Java, como fizemos com os livros da Deitel e Use a Cabeça.<br />
<br />
Se notarem, os autores são todos de outros países, e o motivo não é à toa: a maioria dos autores na área de programação são de fora, ainda é um costume raro ter brasileiros criando livros sobre computação.<br />
<br />
Mas recebemos um contato muito interessante, e iremos avaliar e indicar um livro bem diferente dos demais, escrito por um brasileiro, o livro: "Java e Programação Orientada a Objetos: Uma abordagem didática", de Helder Guimarães Aragão.<br />
<br />
Nesse artigo iremos fazer um review completo sobre o livro, que está disponível tanto impresso como em uma versão de livro digital.<br />
<br />
<div style="text-align: center;">
<a href="http://oferta.vc/zDq" rel="nofollow" target="_blank"><b>Clique aqui para adquirir a versão digital do livro</b></a></div>
<br />
<a name='more'></a><ul>
<li><a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank">Tire já sua certificação de programação Java e entre no Mercado de Trabalho</a></li>
</ul>
<br />
<h2>
<span style="font-size: x-large;">Sobre o livro "<span style="color: red;">Java e Programação Orientada a Objetos: Uma abordagem didática</span></span>"</h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
Como o próprio nome do livro diz, o foco do livro é Orientação a Objetos, e sua principal característica é a didática do autor, pois o autor usa aborda os conteúdos de uma maneira bem direta e simples de se entender.<br />
<br />
Outro importante recurso do livro são os mais diversos exemplos de códigos Java existentes, distribuídos por toda a extensão do livro.<br />
Esse é um detalhe importante, principalmente para quem quer se familiarizar com os conceitos de orientação objetos, que de início se mostram um pouco complicados.<br />
<br />
Porém, com o estudo da teoria e uso dos exemplos, este paradigma de programação começa a ficar mais claro e fazer sentido (até mais que a estrutural, já que a ideia de Classes e Objetos se assemelha muito com nossa realidade).<br />
<br />
É um livro curto, mas sem rodeios, pois seu objetivo não é se aprofundar, explicando o que é realmente necessário para se familiarizar com a orientação a objetos em Java.<br />
Ele é rápido, para quem desejar entender o máximo de <a href="http://www.javaprogressivo.net/p/orientacao-objetos-em-java.html" target="_blank">Orientação a Objetos em Java</a> em pouco tempo, sem entrar nos detalhes mais técnicos, como os que são encontrados em um Deitel, por exemplo.<br />
Caso já tenha contato e saiba programa em Java, o livro se torna uma boa fonte de consultas, uma verdadeira ferramenta de bolso por ser pequeno e por conter os principais conceitos de OO.<br />
Você pode estudar e se profissionalizar o máximo na área, mas sempre um detalhe ou comando você acaba esquecendo, e é preciso consultar algum livro para relembrar algum conceito ou definição.<br />
<br />
Outro importante fator é o custo/benefício desse livro, chegando a ser praticamente um valor simbólico, totalmente realista as condições de nosso país, diferente dos livros de fora que fizemos review, que possuem um preço que foge bastante a realidade da maioria das pessoas, principalmente se for estudante.<br />
<br />
Para melhorar as coisas, você pode ainda escolher entre uma versão impressa do livro, ou uma versão digital (<i>ebook</i>) do livro.<br />
<br />
Além de todo o benefício de se estudar e ter uma obra a sua disposição por um pequeno valor, aqueles que querem contribuir com o ensino e divulgação da computação no Brasil (como a apostila Java Progressivo), estarão colaborando e incentivando um trabalho 100% nacional, visto que o autor e outros profissionais envolvidos na criação do livro são todos brasileiros, da Bahia.<br />
<br />
<div style="text-align: center;">
<a href="http://oferta.vc/zDq" target="_blank"><b>Obter a versão digital do livr</b>o</a></div>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;">Dados do livro </span></h2>
Título: "Java e Programação Orientada a Objetos: Uma abordagem didática"<br />
Autor: Helder Guimarães Aragão<br />
1a edição, Salvador, 2012<br />
ISBN: 978-85-913558-0-8<br />
Capa e Diagramação: Estúdio 9 Design<br />
Páginas: 70<br />
<br />
<h2>
<span style="font-size: x-large;">Sobre o autor</span></h2>
O Helder é Mestre em Sistemas e Computação, especialista em Componentes Disribuídos e Web, e pe Bacharel em Ciência da Computação.<br />
É professor adjunto do Centro Universitário Estácio da Bahia (Estácio - FIB).<br />
<br />
Além da carreira acadêmica, o autor é Gerente da Divisão de Geoprocessamento da EMBASA (Empresa Baiana de Águas e Saneamento), e consultor em Geotecnologias.<br />
<br />
Para saber mais sobre o autor, podem consultar seu currículo do sistema Lattes, com seus dados acadêmicos e profissionais:<br />
<a href="http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4736835J2" rel="nofollow" target="_blank">http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4736835J2</a><br />
<br />
Ele também possui um site pessoal, com mais detalhes para adquirir o livro impresso:<br />
<a href="https://sites.google.com/site/helderaragao/" rel="nofollow" target="_blank">https://sites.google.com/site/helderaragao/</a><br />
<br />
<h2>
<span style="font-size: x-large;">Sumário do livro</span></h2>
Para saber o conteúdo encontrado no livro, veja seu sumário:<br />
<br />
1. Introdução<br />
2. A Linguagem e a Plataforma Java<br />
3. Fundamentos da Linguagem de Programação Java<br />
3.1 Estrutura de um programa Java<br />
3.2 Palavras Reservadas, Tipos de Dados Primitivos e Operadores<br />
3.3 Declaração de Variáveis<br />
3.4 Entrada e Saída de Dados<br />
3.5 Comandos de Seleção e Repetição<br />
3.6 Vetores (arrays)<br />
4. Programação Orientada a Objetos<br />
4.1 Classes e Objetos<br />
4.2 Métodos<br />
4.3 Encapsulamento e Mensagens<br />
4.4 Assinatura de Método e Sobrecarga<br />
4.5 Herança<br />
4.5.1 Classes Abstratas e Métodos Abstratos<br />
4.6 Polimorfismo<br />
4.7 Pacotes<br />
4.8 Tratamento de Exceção<br />
4.9 Interface<br />
4.10 Coleções<br />
4.11 SWING (Interfaces Gráficas)<br />
5. Considerações Finais<br />
Bibliografia Recomendada<br />
Exercícios<br />
<br />
<div style="text-align: center;">
<a href="http://oferta.vc/zDq" rel="nofollow" target="_blank"><b>Clique aqui e garanta seu e-book</b></a></div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-555760907899454620.post-3469914275480075852013-11-18T23:09:00.003-03:002018-12-27T12:34:32.814-03:00Tratamento de eventos - Extends e Implements, Classe Interna e Objeto anônimo - Como mudar a cor de um JFrameNo tutorial passado de nossa <b><a href="http://www.javaprogressivo.net/" target="_blank">apostila de Java</a></b>, demos introdução ao <a href="http://www.javaprogressivo.net/2013/11/Tratando-eventos-acoes-GUI-Event-Handling-ActionListener-ActionEvent-actionPerformed.html" target="_blank">tratamento de eventos e ações em <i>GUI</i></a>. Explicamos os conceitos de <i>ActionListener, ActionEvent, actionPerformed</i> e <i>Event Handling</i>, de um modo geral.<br />
<br />
Lá mostramos uma maneira de criar um tratador de eventos, onde criamos uma classe que implementa a classe abstrata <i>ActionListener</i>.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3vW33Y0XONdiMG-RCbr_7AsEw5Fil3u4CKmhBLZ1Gn1rqpyqmt8hom-Dh2biVqgvnmz5b6Cot3hotwrKbKpnARXQwLfRe2hJpZLtTJEOt02FD-iIpfmhko2oM52_YXILvl9_Fat-hdWNs/s1600/Alterando-a-cor-de-fundo-de-um-JFrame.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Como mudar o background de um programa em Java" border="0" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3vW33Y0XONdiMG-RCbr_7AsEw5Fil3u4CKmhBLZ1Gn1rqpyqmt8hom-Dh2biVqgvnmz5b6Cot3hotwrKbKpnARXQwLfRe2hJpZLtTJEOt02FD-iIpfmhko2oM52_YXILvl9_Fat-hdWNs/s400/Alterando-a-cor-de-fundo-de-um-JFrame.png" title="Como alterar a cor de fundo de um JFrame" width="400" /></a>Neste artigo iremos mostrar outras maneiras de criar esse tratador de eventos.<br />
<br />
Vamos fazer isso através de um aplicativo que <a href="http://www.javaprogressivo.net/2013/11/JButton-como-usar-botoes-em-programas-java_7.html" target="_blank">cria botões com JButton</a> que fazem com que o fundo (<i>background</i>) de nosso programa mude de cor quando clicamos nesses botões.<br />
<div>
<a name='more'></a><br /></div>
<ul>
<li><a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank"></a><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html" target="">Apostila de Java em PDF</a></li>
</ul>
<h2>
<span style="font-size: x-large;">Estendendo o <span style="color: red;">JFrame</span> e implementando a <span style="color: red;">ActionListener</span></span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div>
Se você notar bem, fizemos basicamente duas coisas no artigo passado de nossa apostila:</div>
<div>
<br />
<ul>
<li>criamos uma classe chamada "Botao" que estende, ou seja, é um <i>JFrame</i></li>
<li>criamos a classe "ButtonHandler", que implementa a interface "<i>ActionListener</i>"</li>
</ul>
</div>
<div>
<br /></div>
<div>
Essas duas classes que tratam os eventos e ações, e exibem o resultado.</div>
<div>
Temos umas desvantagem nesse método que é que precisamos passar para a classe "ButtonHandler" os JButtons que criamos em nosso JFrame.</div>
<div>
<br /></div>
<div>
Isso foi feito através da composição, pois passamos objetos de uma classe para outra.</div>
<div>
Tal ação foi necessária pois o tratador de eventos, <i>ButtonHandler</i>, tenha noção da existência desses botões que estão em outra classe, para que possa tomar uma atitude sempre que esses botões forem clicados.</div>
<div>
<br /></div>
<div>
Agora imagine uma aplicação real, com dezenas de botões, menus, campos de texto, campos pra selecionar etc etc etc de opções em GUI (<i>Graphic User Interface)</i>, seria extremamente incômodo ficar passando essas informações sobre os elementos, através de composição.</div>
<div>
<br /></div>
<div>
Por isso, vamos usar um método especial, que não vai mais ser necessário a criação da classe "ButtonHandler", somente usaremos nossa "Main" e "Botao".</div>
<div>
O segredo da coisa é: fazer com essa classe "Botao" seja um JFrame e ao mesmo tempo implemente a interface <i>ActionListener</i>.</div>
<div>
<br /></div>
<div>
Isso é feito da seguinte maneira:</div>
<br />
<div>
<b>public class Botao <span style="color: red;">extends</span> JFrame <span style="color: red;">implements</span> ActionListener</b></div>
<div>
<br /></div>
<div>
Porém, como sabemos, devemos obrigatoriamente implementar os métodos abstratos de uma interface.</div>
<div>
Felizmente, a interface <i>ActionListener</i> só tem um método, o <i>actionPerformed</i>.</div>
<div>
<br /></div>
<div>
Então, basicamente só temos que colocar esse método na classe "Botao", que será o responsável por tratar os eventos. Como os botões estão na mesma classe, não é necessário passar objetos de uma classe pra outra.<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
</div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<h3>
<span style="font-size: large;">Alterando a cor do <span style="color: red;">background</span> (fundo) de um <span style="color: red;">JFrame</span> e o método <span style="color: red;">repaint()</span></span></h3>
<div>
Para mostrar um exemplo deste método de implementação de um tratamento de eventos, vamos mostrar um aplicativo que vai exibir três botões: "verde", "azul" e "amarelo", e ao clicarmos nele a cor de fundo da janela (o background do JFrame) vai mudar de acordo com o botão que criamos.</div>
<div>
<br /></div>
<div>
Quando criamos os botões no exemplo do artigo passado, tínhamos que criar um objeto do tipo "ButtonHandler", pois esta era a classe que tinha o método <i>actionPerformed</i>, e passávamos esse objeto como argumento para o método <i>addActionListener</i> de cada JButton que criávamos.</div>
<div>
<br /></div>
<div>
Mas agora não temos mais essa classe, pois a "Botao.java" implementa essa interface.</div>
<div>
Como passamos o objeto para o método <i>addActionListener</i>, então?</div>
<div>
Simples, passamos o próprio método. Isso é feito simplesmente escrevendo <b><span style="color: red;">this</span></b>.</div>
<div>
<br /></div>
<div>
Já para alterarmos a cor do fundo do background do JFrame, usamos o método:</div>
<div>
<pre>getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color </span>c<span style="color: #808030;">)</span></pre>
<pre><span style="color: #808030;">
</span></pre>
</div>
<div>
Que recebe um objeto da classe "Cor" como argumento (Color.GREEN, Color.DARK, Color.WHITE etc)</div>
<div>
<br /></div>
<div>
Outro método importantíssimo para podermos alterar o conteúdo de um JFrame <b>durante</b> uma aplicação é o método <b>repaint()</b>.</div>
<div>
Sua funcionalidade é simples: ele desenha de novo o JFrame na tela.</div>
<div>
<br /></div>
<div>
Isso é necessário pois ao clicarmos em um dos botões, ele vai alterar a característica do JFrame (a cor do fundo). Porém, precisamos avisar ao nosso aplicativo Java para que ele desenhe novamente a <i>GUI</i> para que o usuário veja que algo foi alterado.</div>
<div>
<br /></div>
<div>
Logo, após termos detectado que botão foi clicado usando o método <i style="font-weight: bold;">getSource()</i> e alterado a cor de fundo através do método <i style="font-weight: bold;">getContentPane().setBackground()</i>, nós usamos o método <i style="font-weight: bold;">repaint()</i> para redesenhar nossa JFrame.</div>
<div>
<br /></div>
<div>
Assim, o código de nosso programa é simplesmente:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<h4>
Main.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Botao botoes <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">400</span><span style="color: #808030;">,</span><span style="color: #008c00;">400</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
<br /></div>
<h4>
Botao.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">Color</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame <span style="color: maroon; font-weight: bold;">implements</span> ActionListener<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton verde <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Verde"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
azul <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Azul"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
amarelo <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Amarelo"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Alterando a cor de Background"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
verde<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>verde<span style="color: #808030;">)</span><span style="color: purple;">;</span>
azul<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>azul<span style="color: #808030;">)</span><span style="color: purple;">;</span>
amarelo<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>amarelo<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> verde<span style="color: #808030;">)</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>GREEN<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> azul<span style="color: #808030;">)</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>BLUE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> amarelo<span style="color: #808030;">)</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>YELLOW<span style="color: #808030;">)</span><span style="color: purple;">;</span>
repaint<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Notaram como ficou mais simples e enxuto nosso programa?</div>
<div>
<br /></div>
<div>
<h2>
<span style="font-size: x-large;">Classe Interna em Java</span></h2>
Outra maneira de tratarmos eventos de uma <i>GUI</i> é através das classes internas.<br />
Classe interna é um conceito bem útil e interessante que o Java nos fornece.<br />
<br />
Como o próprio nome pode sugerir, classe interna é uma classe que é declarada DENTRO de outra classe! Por exemplo:<br />
<pre><span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao Externa<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: maroon; font-weight: bold;">class</span> Interna<span style="color: purple;">{</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
Vamos usar a classe <b>interna</b> para tratar nossos eventos, logo, esta classe deve implementar a interface <i>ActionListener</i>. E como uma interface é uma classe com todos os métodos abstratos, precisamos implementar sempre <b>todos</b> os métodos, que no caso desta classe é apenas o nosso conhecido método <i>actionPerformed()</i>.<br />
<br />
Vamos simplesmente declarar uma classe interna, chamada <i style="font-weight: bold;">ButtonHandler</i>, que vai implementar a <i>ActionListener</i> e tratar nossos eventos, que são os cliques em nos botões de cores, que simplesmente mudam a cor de nosso JFrame.<br />
<br />
Uma importante vantagem da classe interna, é que, por ela estar dentro de outra, ela vai ter acesso aos métodos e variáveis desta classe externa. Assim, nossa classe <i style="font-weight: bold;">ButtonHandler</i> tratadora de eventos, vai ter acesso aos métodos, JButtons, variáveis, JFrame etc, da classe externa.<br />
<br />
Veja como fica o código de nosso mesmo programa, agora usando a técnica da classe interna:<br />
<br />
<h3>
Main.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Botao botoes <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">400</span><span style="color: #808030;">,</span><span style="color: #008c00;">400</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<h3>
Botao.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">Color</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton verde <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Verde"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
azul <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Azul"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
amarelo <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Amarelo"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> ButtonHandler handler <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ButtonHandler<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Alterando a cor de Background"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
verde<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>verde<span style="color: #808030;">)</span><span style="color: purple;">;</span>
azul<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>azul<span style="color: #808030;">)</span><span style="color: purple;">;</span>
amarelo<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>amarelo<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: maroon; font-weight: bold;">class</span> ButtonHandler <span style="color: maroon; font-weight: bold;">implements</span> <span style="color: #bb7977; font-weight: bold;">ActionListener</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> verde<span style="color: #808030;">)</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>GREEN<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> azul<span style="color: #808030;">)</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>BLUE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> amarelo<span style="color: #808030;">)</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>YELLOW<span style="color: #808030;">)</span><span style="color: purple;">;</span>
repaint<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<h2>
<span style="font-size: x-large;">Objeto anônimo</span></h2>
Por fim, a <b>apostila Java Progressivo</b> vai ensinar uma última maneira na qual você pode usar para trabalhar com tratamento de eventos, que é a do Objeto anônimo (ou classe).<br />
Mas antes, para entender o que é isso, vamos relembrar um pouco alguns conceitos de Orientação a Objetos em Java.<br />
<br />
Para que possamos usar o método <i>addActionListener</i> em nossos JComponents, como JButton, precisamos passar um objeto como argumento. Na verdade, precisamos passar uma referência, um endereço de memória para que o método vá lá e utilize daquele objeto para tratar seus eventos.<br />
<br />
Geralmente declaramos nossos objetos assim: <span style="color: red;">NomedaClasse nomeDoObjeto;</span><br />
E para atribuir um endereço de memória à ele, fazemos: <span style="color: red;">nomeDoObjetos = new NomeDaClasse();</span><br />
É essa palavra especial <i style="font-weight: bold;">new</i> que irá pegar um espaço na memória para o objeto.<br />
Ou seja, o <i style="font-weight: bold;">new </i> retorna uma referência, que é tudo que nosso método <i>addActionListener</i> precisa.<br />
<br />
Assim, nem sempre é necessário declarar um objeto, dar um nome a ele, e usar o new.<br />
Nos exemplos passados, quando passamos o objeto <i style="font-weight: bold;">handler</i>, podemos substituir isso por "<i style="font-weight: bold;">new ButtonHandler()</i>" que teremos exatamente o mesmo efeito, pois ambos casos passar uma referência de um objeto da classe ButtonHandler() para o método <i>addActionListener</i>.<br />
Isso se chama objeto anônimo, pois ele não tem nome, simplesmente usamos o <i>new</i>.<br />
<br />
Então, em vez de passar o nome de um objeto, vamos passar somente a referência:<br />
<span style="color: red;">new ActionListener()</span><br />
<br />
Mas vamos fazer outra coisa interessante e essencial: vamos implementar a classe <i>ActionListener</i> e seu método <i>actionPerformed()</i> ali mesmo, na hora de passar o argumento.<br />
Faremos algo do tipo:<br />
<span style="color: red;">verde.addActionListener( new ActionListener() { implementação} );</span><br />
<br />
Para ficar mais legível, geralmente se faz:<br />
<span style="color: red;">verde.addActionListener( new ActionListener() {</span><br />
<span style="color: red;"> implementação</span><br />
<span style="color: red;"> }</span><br />
<span style="color: red;">);</span></div>
<div>
<br /></div>
<div>
Veja como fica nosso programa, usando artifícios de Objeto/Classe Anônimo(a):</div>
<div>
<h3>
Main.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Botao botoes <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">400</span><span style="color: #808030;">,</span><span style="color: #008c00;">400</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<br />
<h3>
Botao.java</h3>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">Color</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton verde <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Verde"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
azul <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Azul"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span>
amarelo <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Amarelo"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Alterando a cor de Background"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
verde<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>GREEN<span style="color: #808030;">)</span><span style="color: purple;">;</span>
repaint<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>verde<span style="color: #808030;">)</span><span style="color: purple;">;</span>
azul<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>BLUE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
repaint<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>azul<span style="color: #808030;">)</span><span style="color: purple;">;</span>
amarelo<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> ActionListener<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
getContentPane<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>setBackground<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">Color</span><span style="color: #808030;">.</span>YELLOW<span style="color: #808030;">)</span><span style="color: purple;">;</span>
repaint<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>amarelo<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
<h2>
<span style="font-size: x-large;">Afinal, qual a melhor maneira de tratar eventos em Java?</span></h2>
</div>
<div>
Vimos diversas maneiras de se tratar eventos em Java.<br />
Primeiro, no tutorial passado de nossa apostila, fizemos o tratamento de eventos criando uma classe externa (como fazemos normalmente) e passando para ela, através de composição, os JButtons como objetos.<br />
<br />
Já neste tutorial, fizemos a própria classe que cria e cuida dos Botões ser JFrame e ActionListener, e criamos o método <i>actionPerformed</i> na própria classe.<br />
Em seguida, fizemos uma classe interna e por fim usamos a técnica da classe anônima.<br />
<br />
E aí, qual técnica usar? Como programar para tratar eventos?<br />
Bom, antes de tudo, é importante frisar que o bom é ter opções.<br />
Como mostramos, todas quatro maneiras funcionam da mesma forma, o que vai mudar é a eficiência, organização e tempo que vai levar para cada implementação.<br />
<br />
O último método, sobre objeto anônimo, deve ser usado somente quando a implementação do tratamento de eventos for coisa simples, como um ou outro botão que dispara um evento único.<br />
Isso porque temos que implementar tudo em cada componente, e se tiver vários botões por exemplo ,seu código ficaria enorme e extremamente repetitivo.<br />
Portanto, uma dica é usar objeto anônimo em tratamento simples e pequenos de eventos.<br />
<br />
As duas maneiras iniciais deste tutorial são as mais usadas, principalmente pela organização.<br />
Se você tiver uma classe não muito grande, como a nossa que simplesmente trata de 3 botões, pode ser uma boa fazer essa class implementar a interface <i>ActionListener</i> diretamente, pois apenas temos que adicionar um método.<br />
<br />
Porém, se sua classe for grande e complexa, é bom criar outra classe, uma classe interna para tratar os eventos. Fica mais organizada e terá a vantagem desta classe interna ter acesso aos elementos da classe externa.<br />
<br />
O interessante é que você pode criar diversas classes para tratar os mais diversos tipos de evento.<br />
No momento apenas trabalhamos com botões, mas em breve iremos trabalhar com lists, checkbox, menus, campos de texto, e aí vai ser necessário criar tratamentos de eventos diferentes para cada um destes tipos de JComponents, e ter uma classe para tratar cada componente é realmente uma boa estratégia.<br />
<br />
Já a primeira maneira, que mostramos no tutorial passado de nossa apostila, é realmente a mais trabalhosa, pois temos que ficar enviando e recebendo objetos entre classes (Composição), além de ter que criar outra classe. Este método é realmente pouco usado, e fizemos apenas por questões didáticas.</div>
Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-555760907899454620.post-6866974904895862252013-11-15T00:54:00.003-03:002018-12-27T12:32:05.051-03:00Tratando evento e ações em GUI - Event Handling, ActionListener, ActionEvent e actionPerformedNo artigo passado de nossa <b>apostila de Java</b>, ensinamos <a href="http://www.javaprogressivo.net/2013/11/JButton-como-usar-botoes-em-programas-java_7.html" target="_blank">como criar botões em Java através da classe JButton</a>, e vimos que nossos aplicativos gráficos estão começando a ter um aspecto mais agradável e estão se tornando cada vez mais profissionais.<br />
<br />
Neste tutorial de Java vamos ensinar como tratar eventos e ações, e a partir de agora nossas ações (como clicar, apertar alguma tecla etc) na GUI irão dar disparar qualquer funcionalidade que queiramos.<br />
<br />
<a name='more'></a><ul>
<li><a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank"></a><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Download da Apostila Java Progressivo</a></li>
</ul>
<h2>
<span style="font-size: x-large;">GUI - Controlando eventos e ações</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div>
Se você parar para reparar, um aplicativo gráfico é como se fosse como um cardápio de um restaurante. Você chega, faz seus pedidos e suas ordens são atendidas.</div>
<div>
Cada pessoa vai fazer pedidos diferentes, tanto dos pratos como do número de coisas ordenadas.</div>
<div>
<br /></div>
<div>
Da mesma maneira é uma aplicação gráfica em Java.</div>
<div>
Um programa nada mais é que uma série de opções, onde cada usuário vai fazer o que quiser, clicando em botões, apertando teclas do teclado, rolando a barra de informações, marcando, selecionando, escrevendo, minimizando, fechando e uma infinidade de possibilidades.</div>
<div>
<br /></div>
<div>
Cada vez que o usuário faz uma destas coisas, dizemos que foi realizado um evento.</div>
<div>
Ou seja, um click, o mouse passou em alguma região e algo mudou, ele escreveu algo, deu enter etc etc.</div>
<div>
<br /></div>
<div>
O que a GUI (<i>Graphic User Interface</i>) faz é nada mais que tratar estes eventos.</div>
<div>
Se ele apertar isso, acontece aquele, Se digitar isso, aquilo abre.</div>
<div>
Se clicar aqui, aquilo vai fechar. Se apertar enter, vai pra próxima janela etc etc.</div>
<div>
Ou seja, um aplicativo gráfico é uma maneira do usuário realizar pedidos e comandos de uma maneira bem mais simples e intuitiva.</div>
<div>
O usuário realiza o evento, e uma ação ocorre.</div>
<div>
<br /></div>
<div>
E é isso que vamos aprender neste <b>tutorial de Java</b> de nossa apostila. Vamos aprender a identificar os eventos e realizar as ações que queiramos que aconteça.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
</div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">Como tratar eventos - A interface <i><span style="color: red;">ActionListener</span> </i>e o método <i><span style="color: red;">actionPerformed</span></i></span></h2>
<div>
Existe uma classe em Java que será a responsável pelo tratamento de eventos.</div>
<div>
Ou seja, é nela que vamos identificar o evento que ocorreu e é nela que vamos definir que ações nossos aplicativos devem executar quando tal evento ocorrer.</div>
<div>
<br /></div>
<div>
A classe <i>ActionListener</i> é uma <a href="http://www.javaprogressivo.net/2012/10/Interface-em-Java-implements-O-que-e-para-que-serve-como-funciona.html" target="_blank">interface</a>, ou seja, é classe composta apenas de <a href="http://www.javaprogressivo.net/2012/10/Polimorfismo--Classes-abstratas-e-Metodos-abstratos.html" target="_blank">métodos abstratos</a>.</div>
<div>
E isso é até óbvio, pois a classe não tem como saber que tipos de eventos vamos tratar em um aplicativo, muito menos vai saber que tipo ação queremos que nosso software tome quando um evento ocorrer.</div>
<div>
<br /></div>
<div>
<i>Listener</i> pode ser traduzido como 'ouvinte'.</div>
<div>
E isso faz sentido, pois essa interface é que vai ficar 'esperando' algo ocorrer. É como se ela ficasse em um loop infinito, o tempo todo testando:</div>
<div>
"Ocorreu algo agora? E agora? Foi um evento? É um evento? E agora? E agora?..."</div>
<div>
<br /></div>
<div>
Ou seja, a interface fica na 'escuta', na espreita até o usuário fazer alguma interação com o aplicativo e um evento ocorrer.</div>
<div>
A interface <i>ActionListener</i> possui somente um método. Então temos apenas um método obrigatório para implementar, que é o método <i>actionPerformed</i>, e ele é o responsável por tomar alguma ação caso algum evento ocorra.</div>
<div>
<br /></div>
<div>
Assim, a interface fica na espera de algum evento, e caso ocorra ele é imediatamente passado para o método <i>actionPerformed</i>. É dentro deste método que iremos definir as ações que ocorrem.</div>
<div>
<br /></div>
<div>
Para fazer uso dessas funcionalidades, devemos importar:</div>
<br />
<div>
<span style="color: red;">import java.awt.event.ActionEvent;</span></div>
<div>
<span style="color: red;">import java.awt.event.ActionListener;</span></div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">Event Handling - Criando um tratador de eventos</span></h2>
<div>
Agora que já temos noção do que é a interface <i>ActionListener</i> e seu método <i>actionPerformed</i>, vamos aprender como, de fato, tratar um evento.</div>
<div>
<br /></div>
<div>
O tratamento é feito por um objeto da classe <i>ActionListener</i>. Há várias maneiras de se criar esse objeto na prática, vamos aprender mais no próximo tutorial, mas neste exemplo vamos fazer de uma maneira bem didática.</div>
<div>
<br /></div>
<div>
Como já estudamos JButton, vamos fazer um aplicativo que irá mostrar uma caixa de diálogo quando clicamos no botão ok ou no botão cancelar.</div>
<div>
Para iniciar, vamos criar nossa classe que irá implementar a <i>ActionListener</i>, vamos chamar de "ButtonHandler", (handle é manusear).</div>
<div>
<br /></div>
<div>
Assim, o esqueleto de nosso tratador é:</div>
<div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> ButtonHandler <span style="color: maroon; font-weight: bold;">implements</span> ActionListener <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Note que que o método <i>actionPerformed</i> recebe um argumento 'evento' do tipo <i>ActionEvent</i>.</div>
<div>
Este argumento 'evento' vai armazenar a natureza do evento, ele sabe especifica e exatamente que componente ocorreu o evento.</div>
<div>
Tal componente está armazenado no método <i>getSource()</i> deste objeto.</div>
<div>
<br /></div>
<div>
No nosso exemplo, vamos criar dois botões chamados "ok" e "cancela".</div>
<div>
Esses botões foram declarados na classe "Botao.java", que usamos no exemplo do artigo passado.</div>
<div>
Assim, quando formos criar o <i>tratador</i> (handler) pros botões, precisamos passar estes dois botões para nossa classe "ButtonHandler", e esta classe recebe eles por meio do construtor.</div>
<div>
<br /></div>
<div>
Para saber que botão foi clicado, basta fazer testes condicionais para saber o que está guardado em:</div>
<div>
evento.getSource()</div>
<div>
<br /></div>
<div>
Dependendo do botão que foi clicado, iremos exibir uma mensagem.</div>
<div>
Uma dizendo que o "OK" foi clicado, e o outro exibe a mensagem dizendo que o botão "CANCELAR" foi pressionado.</div>
<div>
As mensagens serão exibidas através das <a href="http://www.javaprogressivo.net/2012/09/exibindo-mensagens-atraves-das-caixas.html" target="_blank"><i>Dialog</i> <i>Boxes</i>(Caixas de diálogo)</a>.</div>
<div>
<br /></div>
<div>
Assim, nossa classe "ButtonHandler" que irá tratar os eventos dos botões é:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<h4>
ButtonHandler.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionEvent</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">event</span><span style="color: #808030;">.</span><span style="color: #004a43;">ActionListener</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JOptionPane</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> ButtonHandler <span style="color: maroon; font-weight: bold;">implements</span> ActionListener <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton ok<span style="color: #808030;">,</span> cancela<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> ButtonHandler<span style="color: #808030;">(</span>JButton ok<span style="color: #808030;">,</span> JButton cancela<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>ok <span style="color: #808030;">=</span> ok<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>cancela <span style="color: #808030;">=</span> cancela<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> actionPerformed<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">ActionEvent</span> evento<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> ok<span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span> <span style="color: #0000e6;">"O botão OK foi clicado"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>evento<span style="color: #808030;">.</span>getSource<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> cancela<span style="color: #808030;">)</span>
JOptionPane<span style="color: #808030;">.</span>showMessageDialog<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">null</span><span style="color: #808030;">,</span> <span style="color: #0000e6;">"O botão CANCELA foi clicado"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">O método <i><span style="color: red;">addActionListener</span></i> - Adicionando um tratador de eventos aos componentes</span></h2>
<div>
Pronto, nosso tratador de eventos dos botões, ou handler, foi construído, que é nossa classe "ButtonHandler". Vamos criar um objeto dessa classe, e chamar de "handler":</div>
<div>
ButtonHandler handler = new JButton(ok,cancela);</div>
<div>
<br /></div>
<div>
Pronto, agora temos um tratador de botões do tipo 'ok' e 'cancela', que é o objeto <i>handler</i>.</div>
<div>
<br /></div>
<div>
Porém, podem existir vários componentes, e para cada um deles há a possibilidade de existir um tratador de evento diferente.</div>
<div>
Clicar em um botão é diferente de escrever um texto numa caixa de texto. Numa você digita, e na outra componente você clica.</div>
<div>
<br /></div>
<div>
Assim, para cada componente que vamos criar temos que definir que tratador de eventos aquele objeto vai usar.</div>
<div>
Isso é definido passando um objeto do tipo <i>ActionListener</i> para o método <b>addActionListener</b>, existente nos componentes. </div>
<div>
<br /></div>
<div>
Como queremos tratar apenas os botões 'ok' e 'cancela', e o tratador deles é o mesmo, fazemos:</div>
<div>
ok.addActionListener(handler);</div>
<div>
cancela.addActionListener(handler);</div>
<div>
<br /></div>
<div>
O código de nossa classe "Botao", que é um JFrame com dois JButtons fica:</div>
<h4>
Botao.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton ok <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"OK"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton cancela <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Cancela"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> ButtonHandler handler<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Criando botões"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
handler<span style="color: #808030;">=</span><span style="color: maroon; font-weight: bold;">new</span> ButtonHandler<span style="color: #808030;">(</span>ok<span style="color: #808030;">,</span> cancela<span style="color: #808030;">)</span><span style="color: purple;">;</span>
ok<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>ok<span style="color: #808030;">)</span><span style="color: purple;">;</span>
cancela<span style="color: #808030;">.</span>addActionListener<span style="color: #808030;">(</span>handler<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>cancela<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
E a classe principal é:</div>
<h4>
Main.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Main <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Botao botoes <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">350</span><span style="color: #808030;">,</span><span style="color: #008c00;">70</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botoes<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Se rodarmos o projeto, teremos os seguintes resultados sempre que clicarmos em "OK" ou "CANCELAR":</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOGgKTzROPkXmKZNPdcra0myizc7LONJ4a5P3J2FbKG7iCR9D-w20wrSECUm1vtnbibgZkwp6-j-GPEeahY-GiehQ6gfpCsGt22tuuP3pEajMY-jh-aeDSa-r8F78U6RmZ9p210xNu4l8/s1600/tratamento-de-eventos-em-Java.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Criando botões Apostila Java Progressivo" border="0" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOGgKTzROPkXmKZNPdcra0myizc7LONJ4a5P3J2FbKG7iCR9D-w20wrSECUm1vtnbibgZkwp6-j-GPEeahY-GiehQ6gfpCsGt22tuuP3pEajMY-jh-aeDSa-r8F78U6RmZ9p210xNu4l8/s400/tratamento-de-eventos-em-Java.png" title="Tratamento de eventos em Java" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkJ1YzRea5Qqytr9CKri2lwUfJf_MdeoSTRmunx6_9TxgSZvolYBRINarYHjekFCnKz643DmwRVRIqQnxNXwesLjewum3CRctI2IVnR1XiI_ViVF7tFKfFnqh9pS1bonWtrrQt9y7_Z3F/s1600/event-handling.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Apostila Java Progressivo" border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkJ1YzRea5Qqytr9CKri2lwUfJf_MdeoSTRmunx6_9TxgSZvolYBRINarYHjekFCnKz643DmwRVRIqQnxNXwesLjewum3CRctI2IVnR1XiI_ViVF7tFKfFnqh9pS1bonWtrrQt9y7_Z3F/s400/event-handling.png" title="Event Handling em Java" width="400" /></a></div>
<div>
<br /></div>
Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com5tag:blogger.com,1999:blog-555760907899454620.post-41931387799616978602013-11-07T19:16:00.001-03:002018-12-27T12:29:27.472-03:00JButton - Como criar botões em aplicativos JavaNo tutorial passado de nossa <b>apostila de Java</b>, ensinamos <a href="http://www.javaprogressivo.net/2013/11/JLabel-Como-criar-rotulos-com-textos-e-imagens-em-frames.html" target="_blank">como criar um JLabel para exibir textos e imagens em uma GUI</a> (aplicação de interface gráfica do usuário) e vimos que nossos programas estão ficando cada vez mais agradáveis graficamente.<br />
<br />
Neste tutorial vamos falar sobre um dos elementos mais importantes e usados em aplicativos GUI: os botões! Que são criados através do<i> </i>componente <i>JButton</i>.<br />
<br />
<a name='more'></a><ul>
<li><a href="http://afiliado.bravacursos.com.br/4573/curso-de-orientacao-a-objetos-com-java/" rel="nofollow" target="_blank"></a><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Baixar a Apostila Java Progressivo</a></li>
</ul>
<br />
<h2 style="text-align: left;">
<span style="font-size: x-large;"><span style="color: red;">JButton</span> - O que são e para que servem os botões</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div style="text-align: left;">
Explicar o que é um botão é uma tarefa praticamente redundante e óbvia, afinal sempre estamos contato com botões nos mais diversos tipos aplicativos gráficos.</div>
<br />
Botões nada mais são que uma região gráfica (geralmente um retângulo) que ao ser clicado (ou selecionado pelo teclado) disparam um evento. É como se tivéssemos que dar um enter quando estamos no terminal de comando.<br />
<br />
Aliás, tudo é possível de ser feito através do terminal de comando e programação de baixo nível (de fato, é assim que as coisas acontecem). Os componentes gráficos vem para substituir esses comandos e linguagem mais técnica, para que o usuário leigo possa fazer coisas em sua máquina de maneira simples, sem precisar ser 'expert' em computação.<br />
<br />
Em breve falaremos em detalhes sobre esses eventos que ocorrem quando apertamos um botão, e as ações que são disparadas quando fazemos isso, pois iremos escolher que ações vão ocorrer quando um botão for clicado, por exemplo.<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;"><span style="color: red;">JButton</span> - Como usar botões em Java</span></h2>
Se parar para pensar, todo botão possui: um texto, ou uma imagem ou os dois.<br />
Afinal, não faz sentido ter um botão que você não sabe o que é ou para que serve.<br />
É exatamente por esse motivo que ensinamos a usar JLabel no tutorial passado de nosso <b>curso de Java</b>, portanto iremos partir do pressuposto que você estudou o artigo e já sabe de todos os paranauês dos labels (vamos usar a parte das imagens, inclusive a figura da xicara.png).<br />
<br />
Inicialmente vamos criar uma classe chamada "Botao", que vai estender a JFrame e onde vamos criar nossos JButtons, assim como fizemos com JLabels.<br />
Como o JButton é um componente da JComponent, temos que importar sua classe do pacote <i>swing</i>:<br />
<br />
<span style="color: red;">import javax.swing.JButton;</span><br />
<div>
<br /></div>
<div>
Para usar o botão, apenas instanciamos um objeto da classe <i>JButton</i>.</div>
<div>
Vamos criar o botão 'ok':</div>
<div>
<span style="color: red;">private JButton ok;</span></div>
<div>
<br /></div>
<div>
Vamos inicializar esse botão com uma string, que será o texto exibido no botão:</div>
<div>
<span style="color: red;">ok = new JButton("OK");</span></div>
<div>
<br /></div>
<div>
Depois apenas usamos o método <b>add</b> para adicionar o objeto 'ok'.</div>
<div>
Nossa classe principal e a Botao ficam:</div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<h4>
GUI.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> GUI <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Botao botao1 <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botao1<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
botao1<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">350</span><span style="color: #808030;">,</span><span style="color: #008c00;">80</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
botao1<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<h4>
Botao.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton ok<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Criando botões"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ok <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"OK"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>ok<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Rodando o código você verá uma coisa peculiar: o botão ocupa a tela inteira.</div>
<div>
Mas orgulhe-se, criou seu primeiro botão :)</div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">Layout e organização de uma aplicação GUI</span></h2>
<div>
Você já parou para perguntar o que acontece quando usamos o método <b>add</b>, da JFrame ?</div>
<div>
É sabido que serve para adicionar componentes gráficas. Mas como? Onde elas são adicionadas?</div>
<div>
Se eu adicionar um JLabel, um JButton e um campo de texto, como vai ficar a disposição desses elementos?</div>
<div>
<br /></div>
<div>
Se eu quiser colocar uma componente em um lado, outro na outra, reduzir o tamanho de um botão e uma série de outras coisas?</div>
<div>
Pois é, a disposição desses elementos em seu aplicativo gráfico é o que chamamos de <i>layout</i>, é uma espécie de organização dos elementos, para deixá-los bonitos e intuitivos de serem usados.</div>
<div>
<br /></div>
<div>
Existem diversas classes e métodos que servem para nos auxiliar na organização dos componentes que iremos adicionar em um JFrame, existindo até mesmo recursos no NetBeans que permitem que vocês colocam botões, listas, imagens e tudo que possível em um JFrame apenas usando o mouse e definindo a posição de todos os componentes, de uma maneira bem fácil e simples.</div>
<div>
<br /></div>
<div>
Mais à frente iremos nos dedicar aos estudos dos <i>layouts </i>e containers, e por hora vamos usar um <i>manager</i> que vai organizar os elementos de um frame à medida que formos adicionando-os, é o <b>FlowLayout</b>, que vai adicionando os JComponents ao lado do outro, e quando não couberam mais, ele bota na linha debaixo.</div>
<div>
<br /></div>
<div>
Para fazer uso desse <i>layout manager</i>, importe:</div>
<div>
<div>
<span style="color: red;">import java.awt.FlowLayout;</span></div>
</div>
<div>
<br /></div>
<div>
E no construtor, use o método:</div>
<div>
<div>
<span style="color: red;">setLayout( new FlowLayout() ); </span></div>
</div>
<div>
<br /></div>
<div>
Vamos criar outro botão, chamado "cancelar", e fazer uso do <b>FlowLayout</b>:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<h4>
Botao.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JButton</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> java</span><span style="color: #808030;">.</span><span style="color: #004a43;">awt</span><span style="color: #808030;">.</span><span style="color: #004a43;">FlowLayout</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Botao <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JButton ok<span style="color: #808030;">,</span>
cancelar<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Botao<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Criando botões"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
setLayout<span style="color: #808030;">(</span> <span style="color: maroon; font-weight: bold;">new</span> <span style="color: #bb7977; font-weight: bold;">FlowLayout</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: #808030;">)</span><span style="color: purple;">;</span>
ok <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"OK"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
cancelar <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JButton<span style="color: #808030;">(</span><span style="color: #0000e6;">"Cancelar"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>ok<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>cancelar<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Veja como agora os botões possuem tamanho bem mais interessante e estão dispostos um ao lado do outro, como é costume vermos por aí:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdJsWBLbQ7rz1NhBzqma18folGe6K29IkHX4Txo1IVKo7v1sHSUMM3PPHxC76stHZ-lsW0FFHKxFMzQqvjrHcJ616FoubeQvh9HCXXgpxe92ue5QYpopRCGw-rwh48EWquesIqksHfIvrf/s1600/JButton-como-criar-botoes-em-java.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Como criar botões em aplicativos Java GUI" border="0" height="73" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdJsWBLbQ7rz1NhBzqma18folGe6K29IkHX4Txo1IVKo7v1sHSUMM3PPHxC76stHZ-lsW0FFHKxFMzQqvjrHcJ616FoubeQvh9HCXXgpxe92ue5QYpopRCGw-rwh48EWquesIqksHfIvrf/s320/JButton-como-criar-botoes-em-java.png" title="Exemplos de JButton" width="320" /></a></div>
<div>
<br /></div>
<h2>
<span style="font-size: x-large;">Imagens em JButton</span></h2>
<div>
Como havíamos dito, há outra maneira de inicializar um JButton, que é colocando objetos da classe <b>Icon</b>, como fizemos com JLabel.</div>
<div>
Vamos criar o objeto 'xicara', com a mesma figura que usamos no artigo passado:</div>
<div>
<span style="color: red;">Icon xicara = new ImageIcon("xicara.png");</span></div>
<div>
<br /></div>
<div>
E vamos inicializar o botão 'ok' com uma String e a Imagem:</div>
<div>
<span style="color: red;">ok = new JButton("OK", xicara);<span class="Apple-tab-span" style="white-space: pre;"> </span></span></div>
<div>
<br /></div>
<div>
E pronto. Se você rodar seu programa, verá que agora existe a pequena imagem de uma xícara ao lado do 'OK' do botão.<br />
Veja o resultado:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiep8-ukS-Tbmrz_d-Md9N2VZWe8HHGiZ1jPukZpGCO6h32k83fd5hp1A7Ww4EshQIdAVcsPXXdCqmMu53QddztDtQskhz8YFl7CDzZEiX1E_rtbJ1-qaG_IDGxUWUKKbnWzSVaAB-nM4h4/s1600/figura-em-um-botao-JButton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Aprenda a inserir uma figura em um botão JButton" border="0" height="73" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiep8-ukS-Tbmrz_d-Md9N2VZWe8HHGiZ1jPukZpGCO6h32k83fd5hp1A7Ww4EshQIdAVcsPXXdCqmMu53QddztDtQskhz8YFl7CDzZEiX1E_rtbJ1-qaG_IDGxUWUKKbnWzSVaAB-nM4h4/s320/figura-em-um-botao-JButton.png" title="Imagens em JButton" width="320" /></a></div>
<br />
<br /></div>
<div>
Simples, não?</div>
<div>
<br /></div>
<div>
<h2>
<span style="font-size: x-large;">O que um JButton faz - Eventos e Ações</span></h2>
</div>
<div>
Ok, confesso que a primeira vez que criei um botão meus olhos ficaram cheios de lágrimas.</div>
<div>
Depois de muito tempo estudando C e Java só pelo terminal de comando, ver um botão desses criados pelos nossos códigos é bem interessante e animador.</div>
<div>
<br /></div>
<div>
Mas o que fazem esses botões? Experimentou clicar?</div>
<div>
Como deve saber, usamos botões para confirmar um comando.</div>
<div>
Após apertar um botão, podemos fechar o aplicativo, ir para outra janela do frame, limpar um formulário, enviar os dados de um formulário que acabamos de preencher, damos início a um jogo ao apertar um botão, e infinitas outras coisas são feitas com botões.</div>
<div>
<br /></div>
<div>
Então, o que os nosso botões vão fazer?</div>
<div>
Simples: o que você programar eles para fazerem.</div>
<div>
Se nossos botões não fizeram nada, é porque simplesmente não os programamos para fazer nada, afinal eles não iriam adivinhar o que queríamos que acontecesse quando apertássemos.</div>
<div>
<br /></div>
<div>
No próximo tutorial de nossa <b>apostila Java Progressivo</b> iremos estudos este tipo de evento: de apertar um botão. Iremos definir através de programação a ação que um programa deve tomar após ter acontecido esse evento (o clique).</div>
<div>
<br /></div>
<div>
Lá, continuaremos a usar os JButtons para ilustrar importantes conceitos na programação de interfaces gráficas para o usuário (GUI), que são os <i>Events, Event Handling, Action Listeners</i> etc.<br />
<br />
Ou seja, continuaremos a criar e ensinar mais coisas sobre os JButtons em Java, porém vamos fazer com que eles se comportem como botões de verdade, que disparem algum processo, uma ação, sempre que ocorrer o evento do click.<br />
<br />
Nos vemos lá!</div>
Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-555760907899454620.post-22108401382271162222013-11-07T00:55:00.002-03:002018-12-27T12:26:17.380-03:00JLabel - Como criar rótulos com textos e imagens em frames<span style="color: #222222; font-family: "arial";">Agora que aprendemos os conceitos básicos de JFrame e JPanel, bem como ensinamos como fazer alguns desenhos interessantes em Java, já estamos um pouco familiarizados com a programação gráfica em Java.</span><br />
<div style="color: #222222; font-family: arial;">
<br /></div>
<div style="color: #222222; font-family: arial;">
Agora vamos mostrar os principais componentes do pacote Swing.</div>
<div style="color: #222222; font-family: arial;">
Neste artigo de nosso apostila, vamos ensinar como colocar textos (JLabel) e imagens (Icon e ImageIcon).</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<a name='more'></a><br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html" style="font-family: "Times New Roman"; font-size: medium;">Estudar offline pela apostila Java Progressivo</a></li>
</ul>
</div>
<h2 style="text-align: left;">
<span style="font-size: x-large;">JLabel - Exibindo rótulos (Textos e Imagens)</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<div style="text-align: left;">
Como primeiro, mais básico e simples, componente de um aplicativo do tipo GUI que iremos ensinar aqui em nossa <b>apostila de Java</b>, os JLabels são rótulos que podemos exibir em nossos frames.</div>
</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<div style="text-align: left;">
São elementos estáticos, não sendo usado para interagir com o usuário.</div>
</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="color: #222222; font-family: arial; font-size: small;">
Bem comum de serem vistos quando vamos instalar algum aplicativo de alguma empresa famosa, onde é possível ver um JLabel com texto e imagem, do programa/corporação.</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<br /></div>
<div style="color: #222222; font-family: arial; font-size: small;">
Ou seja, um rótulo em programação Java é o mesmo que no mundo real, um texto e/ou imagem.</div>
<div style="color: #222222; font-family: arial; font-size: small;">
Pense em um rótulo de automóvel ou loja, geralmente é um texto (nome) e uma imagem (slogan).</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<br /></div>
<div style="color: #222222; font-family: arial; font-size: small;">
Os JLabels são classes derivadas da JComponent e fazem parte do pacote swing.</div>
<div style="color: #222222; font-family: arial; font-size: small;">
Logo, para usar, fazemos o import:</div>
<div style="font-family: arial; font-size: small;">
<span style="color: red;">import javax.swing.JLabel;</span></div>
<div>
<br /></div>
<div>
Vamos colocar <i>labels</i> em frames, para fazermos testes.</div>
<div>
Portanto, precisamos fazer o <i>import</i> do JFrame também:</div>
<div>
<span style="color: red;">import javax.swing.JFrame;</span></div>
<div>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br /></div>
<h3>
JLabel só com String</h3>
<div>
Vamos criar rótulos.</div>
<div>
No primeiro exemplo, vamos criar um label que só exiba um simples texto.</div>
<div>
<br /></div>
<div>
Para fazer isso, vamos criar uma classe chamada "<i>Rotulo</i>", que vai herdar a classe JFrame.</div>
<div>
Declaramos o JLabel da seguinte maneira:</div>
<div>
<span style="color: red;">private JLabel texto;</span></div>
<div>
<br /></div>
<div>
Como podemos ver na <a href="http://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html" rel="nofollow" target="_blank">documentação do JLabel</a>, podemos inicializar um JLabel passando só a String de texto, só a imagem, uma string e um texto, uma string e um inteiro, uma imagem e uma inteiro ou podemos inicializar a JLabel passando tudo: uma imagem, um texto e um inteiro.</div>
<div>
Esse inteiro é o alinhamento que o JLabel vai ter no JFrame.</div>
<div>
<br /></div>
<div>
Como esse exemplo queremos apenas fornecer uma String, inicializamos nosso JLabel dentro do construtor da classe "Rotulo": </div>
<div>
texto = new JLabel("Meu primeiro JLabel!");</div>
<div>
<br /></div>
<div>
Criado o componente JLabel, vamos adicioná-lo ao nosso JFrame, através do método <i>add</i>:</div>
<div>
add(texto);</div>
<div>
<br /></div>
<div>
Tudo isso dentro de nosso construtor, que também fornece uma String que será o título do JFrame:</div>
<div>
super("Usando rótulos em JFrame");</div>
<div>
<br /></div>
<div>
Na nossa <i>main</i>, criamos um objeto do tipo Rotulo, o <i>rotulo1</i>, tornamos ele visível, fazemos com que ele feche quando clicamos no botão <i>close</i> e definimos um tamanho de nosso JFrame.</div>
<div>
<br />
Assim, o código de nosso programa fica:</div>
<div>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<h4>
GUI.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> GUI <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Rotulo label1 <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Rotulo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
label1<span style="color: #808030;">.</span>setDefaultCloseOperation<span style="color: #808030;">(</span>JFrame<span style="color: #808030;">.</span>EXIT_ON_CLOSE<span style="color: #808030;">)</span><span style="color: purple;">;</span>
label1<span style="color: #808030;">.</span>setSize<span style="color: #808030;">(</span><span style="color: #008c00;">300</span><span style="color: #808030;">,</span><span style="color: #008c00;">100</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
label1<span style="color: #808030;">.</span>setVisible<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">true</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<h4>
Rotulo.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Rotulo <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel texto<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Rotulo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Usando rótulos em JFrame"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
texto <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Meu primeiro JLabel!"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>texto<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<h3>
JLabel só com imagem</h3>
<div>
Agora vamos aprender uma coisa bem bacana: colocar imagens de nosso computador em aplicativos gráficos em Java.</div>
<div>
De início, vamos usar imagens simples, de rótulos, que são os ícones.</div>
<div>
<br /></div>
<div>
Vamos usar a seguinte imagem, que é o <i>favicon</i> do <b>curso Java Progressivo</b>:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgij-s9qs7h4rCAENUwv1AGddYDlRDYLGAL5D5HTPWZ7Rq_cNHeIY6WUA9D2i1ZxvtELdbBTo3sUhS4Ceic0Y6BGl4Yc6-P6vM8uOY3_fvJJTjoi1kAR20UODErhuR0JV37DMLk3CeZSEND/s1600/xicara.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Usando ícones em JFrames em Java" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgij-s9qs7h4rCAENUwv1AGddYDlRDYLGAL5D5HTPWZ7Rq_cNHeIY6WUA9D2i1ZxvtELdbBTo3sUhS4Ceic0Y6BGl4Yc6-P6vM8uOY3_fvJJTjoi1kAR20UODErhuR0JV37DMLk3CeZSEND/s1600/xicara.png" title="Como colocar imagens em JLabel" /></a></div>
<div>
Salve com o nome "xicara.png".</div>
<div>
Agora uma coisa importante: coloque esta imagem dentro da pasta de seu projeto.</div>
<div>
Ela deve ficar na pasta que tem as pastas 'bin' e 'src' de seu projeto.</div>
<div>
<br /></div>
<div>
Para manipular este tipo de imagem, precisamos usar as classe <b>Icon </b>e <b>ImageIcon</b>, do pacote swing:</div>
<div>
<div>
import javax.swing.Icon; </div>
<div>
import javax.swing.ImageIcon;</div>
</div>
<div>
<br /></div>
<div>
Vendo a documentação, percebemos que o <i>JLabel</i> recebe imagens que são objetos da classe <i>Icon</i>.</div>
<div>
Vamos criar tal objeto, chamando-o de "xicara", e fazendo o <a href="http://www.javaprogressivo.net/2012/10/Polimorfismo-em-Java--o-que-e-pra-que-serve-como-e-onde-usar.html" target="_blank">polimorfismo</a>, fazendo o objeto "xicara" ser um objeto específico da classe <i>ImageIcon</i>.</div>
<div>
<br /></div>
<div>
Como argumento, passamos a URL da imagem.<br />
Como esta URL está na pasta do projeto, apenas colocamos o nome e extensão da imagem.</div>
<div>
Assim, nosso objeto da classe <i>Icon</i> é declarado da seguinte maneira:</div>
<div>
Icon xicara = new ImageIcon("xicara.png");</div>
<div>
<br /></div>
<div>
Tendo o objeto "xicara", passamos ele para o nosso JLabel "imagem":</div>
<div>
imagem = new JLabel(xicara);</div>
<div>
E adicionamos nosso JLabel ao nosso JFrame.</div>
<div>
<br /></div>
<div>
Assim, o código Java do aplicativo que exibe um rótulo composto de uma imagem de nosso HD é:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<h4>
Rotulo.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">Icon</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">ImageIcon</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Rotulo <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel imagem<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Rotulo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Usando rótulos em JFrame"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
Icon xicara <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ImageIcon<span style="color: #808030;">(</span><span style="color: #0000e6;">"xicara.png"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
imagem <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span>xicara<span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>imagem<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
Note que não precisamos mudar em nada a <i>main</i>, pois ela só cria o JFrame, e para um JFrame um JLabel é um label, tendo imagem, texto ou ambos. Aliás, JLabel é um JComponent, assim como os JButtons, por exemplo.</div>
<div>
São todos herdados da mesma superclasse, e se comportam da mesma maneira.</div>
<div>
<br /></div>
<div>
<h3>
JLabel com imagem e texto</h3>
</div>
<div>
Agora vamos fazer os dois: criar um JLabel com String e imagem.</div>
<div>
Porém, a coisa começa a ficar um pouco mais complicada devido ao local da String e da Imagem.</div>
<div>
<br /></div>
<div>
Para usar JLabel com <i>Icon</i> e <i>String</i>, precisamos usar o conceito de alinhamento.</div>
<div>
Existem dois tipos: o horizontal e o vertical.</div>
<div>
Todos essas posições são números inteiros, mas não precisamos nos preocupar com tais valores.</div>
<div>
<br /></div>
<div>
Para isso, vamos usar as constantes da <i>SwingConstants:</i></div>
<div>
<div>
<span style="color: red;">import javax.swing.SwingConstants; </span></div>
<div style="font-style: italic;">
<br /></div>
</div>
<div>
Na horizontal, existem as posições:</div>
<div>
SwingConstants.LEFT, SwingConstants.CENTER e SwingConstants.RIGHT</div>
<div>
<br /></div>
<div>
<div>
Na vertical, existem as posições:</div>
<div>
SwingConstants.TOP, SwingConstants.CENTER e SwingConstants.BOTTOM</div>
</div>
<div>
<br /></div>
<div>
O construtor do JLabel recebe um inteiro que representa o alinhamento <b>horizontal</b>.</div>
<div>
Ou seja, se o Label vai ficar na esquerda, no centro ou na direita.</div>
<div>
<br /></div>
<div>
O outro tipo de alinhamento é o <b>vertical</b>, que vai definir de se o <i>JLabel</i> vai ficar em cima, no meio ou na parte de baixo do frame.</div>
<div>
Para mudarmos o alinhamento vertical, usamos o método: <b>setVerticalAlignment</b></div>
<div>
Esse método recebe uma das três constantes: SwingConstants.TOP, SwingConstants.CENTER e SwingConstants.BOTTOM</div>
<div>
<br /></div>
<div>
Um outro conceito que devemos saber é o da posição da String e da Imagem.</div>
<div>
Se você pensar, pode ser que queiramos a imagem em cima do texto, embaixo ou ao lado.</div>
<div>
<br /></div>
<div>
Para ter controle desse posicionamento, existem dois método: </div>
<div>
<ul>
<li>setHorizontalTextPosition -> define a posição do texto, na horizontal (se vai ficar a esquerda ou direita da imaagem)</li>
<li>setVerticalTextPosition -> define a posição do texto, na vertical (se o texto vai ficar abaixo ou acima da imagem)</li>
</ul>
</div>
<div>
<br /></div>
<div>
Para definir o alinhamento horizontal no centro, podemos passar a constante já no construtor:</div>
<div>
<span style="color: red;">label = new JLabel("Símbolo do Java", xicara, SwingConstants.CENTER);</span></div>
<div>
<br /></div>
<div>
Para que a posição do texto seja centralizada, fazemos:</div>
<div>
<span style="color: red;">label.setHorizontalTextPosition( SwingConstants.CENTER );</span></div>
<div>
<br /></div>
<div>
E finalmente, se eu quiser que o texto fiquei abaixo da imagem, fazemos:</div>
<div>
<span style="color: red;">label.setVerticalTextPosition(SwingConstants.BOTTOM);</span></div>
<div>
<br /></div>
<div>
Nosso código fica:</div>
<h4>
Rotulo.java</h4>
<div>
<pre><span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JFrame</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">JLabel</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">Icon</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">ImageIcon</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">import</span><span style="color: #004a43;"> javax</span><span style="color: #808030;">.</span><span style="color: #004a43;">swing</span><span style="color: #808030;">.</span><span style="color: #004a43;">SwingConstants</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Rotulo <span style="color: maroon; font-weight: bold;">extends</span> JFrame<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> JLabel label<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Rotulo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">(</span><span style="color: #0000e6;">"Usando rótulos em JFrame"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
Icon xicara <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ImageIcon<span style="color: #808030;">(</span><span style="color: #0000e6;">"xicara.png"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
label<span style="color: #808030;">=</span><span style="color: maroon; font-weight: bold;">new</span> JLabel<span style="color: #808030;">(</span><span style="color: #0000e6;">"Símbolo do Java"</span><span style="color: #808030;">,</span> xicara<span style="color: #808030;">,</span> SwingConstants<span style="color: #808030;">.</span>CENTER<span style="color: #808030;">)</span><span style="color: purple;">;</span>
label<span style="color: #808030;">.</span>setHorizontalTextPosition<span style="color: #808030;">(</span> SwingConstants<span style="color: #808030;">.</span>CENTER <span style="color: #808030;">)</span><span style="color: purple;">;</span>
label<span style="color: #808030;">.</span>setVerticalTextPosition<span style="color: #808030;">(</span> SwingConstants<span style="color: #808030;">.</span>BOTTOM <span style="color: #808030;">)</span><span style="color: purple;">;</span>
add<span style="color: #808030;">(</span>label<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</div>
<div>
<br /></div>
<div>
E o resultado é o esperado:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj94rQ3wSaE0xtdFk5y21UQSUxxZur5rAmgfvWezmkW0hgrozoYgbxqoCTM1AbpidAc0qXsjMRe0zjxdWkSGmLaCdA26XvwmZ9C9sUZypIpQlLrIQh6LXJL1h_ej3DJbZnYOTKyrGZOaN_8/s1600/JLabel-em-Java.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Como colocar textos e imagens em um JFrame" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj94rQ3wSaE0xtdFk5y21UQSUxxZur5rAmgfvWezmkW0hgrozoYgbxqoCTM1AbpidAc0qXsjMRe0zjxdWkSGmLaCdA26XvwmZ9C9sUZypIpQlLrIQh6LXJL1h_ej3DJbZnYOTKyrGZOaN_8/s1600/JLabel-em-Java.png" title="JLabel em Java" /></a></div>
<div>
<br /></div>
Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com2tag:blogger.com,1999:blog-555760907899454620.post-75271090345923949942013-10-06T23:50:00.000-03:002018-12-27T00:28:20.545-03:00Apostila de Java, capítulo 07 - Herança, reescrita (override) e polimorfismoNeste tutorial de Java de nosso curso, iremos resolver as questões propostas na apostila de Java da Caelum.<br />
Especificamente, o capítulo 7, que trata de assuntos como Herança e Polimorfismo, conceitos muito importantes e essenciais sobre Orientação à Objetos.<br />
<a name='more'></a><br />
<br />
<ul>
<li><a href="https://www.javaprogressivo.net/p/apostila-java-download-gratis-baixar.html">Apostila completa Java Progressivo</a></li>
</ul>
<br />
<h2>
<span style="font-size: x-large;">Apostila de Java da Caelum</span></h2>
<div style="display: inline; float: left; margin-right: 5px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* JP-POST */
google_ad_slot = "2989768005";
google_ad_width = 336;
google_ad_height = 280;
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
Nesse artigo de nosso curso iremos comentar e resolver os exercícios propostos no capítulo 7, sobre Herança, Polimorfismo e reescrita da apostila FJ-11: Java e Orientação a Objetos, da Caelum.que é disponibilizada gratuitamente por eles e nos autorizaram utilizar seu material.<br />
<br />
<a href="http://www.javaprogressivo.net/2012/12/apostilas-da-caelum-resolvidas.html" target="_blank">Clique aqui para saber mais sobre a empresa Caelum e suas apostilas gratuitas</a>.<br />
<br />
O material da apostila é uma excelente fonte de estudos sobre diversos assuntos que já abordamos aqui no Java Progressivo, dentre eles:<br />
<a href="http://www.javaprogressivo.net/2012/10/Heranca-em-Javao-que-e--para-que-serve-exemplos--quando-usar.html" target="_blank">Herança - O que é, para que serve e como usar</a><br />
<a href="http://www.javaprogressivo.net/2012/10/Polimorfismo-em-Java--o-que-e-pra-que-serve-como-e-onde-usar.html" target="_blank">Polimorfismo - O que é, para que serve e como usar</a><br />
<a href="http://www.javaprogressivo.net/2012/10/private-public-e-protected--Protegendo-suas-informacoes-em-Java.html" target="_blank">Métodos e atributos do tipo protected</a><br />
<a href="http://www.javaprogressivo.net/2012/10/heranca-de-construtores-e-override.html" target="_blank">Override (reescrita de métodos)</a><br />
<br />
Na seção "7.6 Um pouco mais..." é sugerido uma pesquisa e leitura sobre a Composição, assunto que já foi abordado em nossa Apostila Java Progressivo:<br />
<a href="http://www.javaprogressivo.net/2012/10/Composicao-em-Java-trocando-informacoes-entre-objetos.html" target="_blank">Composição - Trocando informações entre objetos</a><br />
<br />
<table border="0" cellpadding="0" cellspacing="0" style="width: 85%px;">
<tbody>
<tr>
<td><div align="left">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
<td><div align="right">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3925537054052519";
/* Java Progressivo - Links no Texto */
google_ad_slot = "2911393604";
google_ad_width = 200;
google_ad_height = 90;
//-->
</script>
<script src="https://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div>
</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<span style="font-size: x-large;">Enunciados do capítulo 7 da apostila</span></h2>
<h3>
7.7 Exercícios: Herança e Polimorfismo</h3>
<br />
<h4>
Questão 01:</h4>
Vamos criar uma classe Conta, que possua um saldo os métodos para pegar saldo, depositar e sacar.<br />
a) Crie a classe Conta:<br />
public class Conta {<br />
}<br />
b) Adicione o atributo saldo<br />
public class Conta {<br />
private double saldo;<br />
}<br />
c) Crie os métodos getSaldo(), deposita(double) e saca(double)<br />
public class Conta {<br />
private double saldo;<br />
public void deposita(double valor) {<br />
this.saldo += valor;<br />
}<br />
public void saca(double valor) {<br />
this.saldo -= valor;<br />
}<br />
public double getSaldo() {<br />
return this.saldo;<br />
}<br />
}<br />
<br />
<h4>
Questão 02:</h4>
Adicione um método na classe Conta, que atualiza essa conta de acordo com uma taxa percentual fornecida.<br />
class Conta {<br />
private double saldo;<br />
// outros métodos aqui também ...<br />
void atualiza(double taxa) {<br />
this.saldo += this.saldo * taxa;<br />
}<br />
}<br />
<br />
<h4>
Questão 03:</h4>
Crie duas subclasses da classe Conta: ContaCorrente e ContaPoupanca. Ambas terão o método atualiza reescrito: A ContaCorrente deve atualizar-se com o dobro da taxa e a ContaPoupanca deve atualizar-se com o triplo da taxa.<br />
Além disso, a ContaCorrente deve reescrever o método deposita, a fim de retirar uma taxa bancária de dez centavos de cada depósito.<br />
<br />
• Crie as classes ContaCorrente e ContaPoupanca. Ambas são filhas da classe Conta:<br />
public class ContaCorrente extends Conta {<br />
}<br />
public class ContaPoupanca extends Conta {<br />
}<br />
<br />
• Reescreva o método atualiza na classe ContaCorrente, seguindo o enunciado:<br />
public class ContaCorrente extends Conta {<br />
public void atualiza(double taxa) {<br />
this.saldo += this.saldo * taxa * 2;<br />
}<br />
}<br />
<br />
Repare que, para acessar o atributo saldo herdado da classe Conta, você vai precisar trocar o modificador de visibilidade de saldo para protected.<br />
<br />
• Reescreva o método atualiza na classe ContaPoupanca, seguindo o enunciado:<br />
public class ContaPoupanca extends Conta {<br />
public void atualiza(double taxa) {<br />
this.saldo += this.saldo * taxa * 3;<br />
}<br />
}<br />
<br />
• Na classe ContaCorrente, reescreva o método deposita para descontar a taxa bancária de dez centavos:<br />
public class ContaCorrente extends Conta {<br />
public void atualiza(double taxa) {<br />
this.saldo += this.saldo * taxa * 2;<br />
}<br />
public void deposita(double valor) {<br />
this.saldo += valor - 0.10;<br />
}<br />
}<br />
<br />
<br />
<h4>
Questão 04:</h4>
Crie uma classe com método main e instancie essas classes, atualize-as e veja o resultado. Algo como:<br />
public class TestaContas {<br />
public static void main(String[] args) {<br />
Conta c = new Conta();<br />
ContaCorrente cc = new ContaCorrente();<br />
ContaPoupanca cp = new ContaPoupanca();<br />
c.deposita(1000);<br />
cc.deposita(1000);<br />
cp.deposita(1000);<br />
c.atualiza(0.01);<br />
cc.atualiza(0.01);<br />
cp.atualiza(0.01);<br />
System.out.println(c.getSaldo());<br />
System.out.println(cc.getSaldo());<br />
System.out.println(cp.getSaldo());<br />
}<br />
}<br />
Após imprimir o saldo (getSaldo()) de cada uma das contas, o que acontece?<br />
<br />
<h4>
Questão 05: </h4>
O que você acha de rodar o código anterior da seguinte maneira:<br />
Conta c = new Conta();<br />
Conta cc = new ContaCorrente();<br />
Conta cp = new ContaPoupanca();<br />
<br />
Compila? Roda? O que muda? Qual é a utilidade disso? Realmente, essa não é a maneira mais útil do polimorfismo - veremos o seu real poder no próximo exercício. Porém existe uma utilidade de declararmos uma variável de um tipo menos específico do que o objeto realmente é.<br />
É extremamente importante perceber que não importa como nos referimos a um objeto, o método que será invocado é sempre o mesmo! A JVM vai descobrir em tempo de execução qual deve ser invocado, dependendo de que tipo é aquele objeto, não importando como nos referimos a ele.<br />
<br />
<h4>
Questão 06 (opcional): </h4>
Vamos criar uma classe que seja responsável por fazer a atualização de todas as contas bancárias e gerar um relatório com o saldo anterior e saldo novo de cada uma das contas.<br />
Além disso, conforme atualiza as contas, o banco quer saber quanto do dinheiro do banco foi atualizado até o momento. Por isso, precisamos ir guardando o saldoTotal e adicionar um getter à classe.<br />
<br />
public class AtualizadorDeContas {<br />
private double saldoTotal = 0;<br />
private double selic;<br />
public AtualizadorDeContas(double selic) {<br />
this.selic = selic;<br />
}<br />
public void roda(Conta c) {<br />
// aqui você imprime o saldo anterior, atualiza a conta,<br />
// e depois imprime o saldo final<br />
// lembrando de somar o saldo final ao atributo saldoTotal<br />
}<br />
// outros métodos, colocar o getter para saldoTotal!<br />
}<br />
<br />
<h4>
Questão 07 (opcional): </h4>
No método main, vamos criar algumas contas e rodá-las:<br />
public class TestaAtualizadorDeContas {<br />
public static void main(String[] args) {<br />
Conta c = new Conta();<br />
Conta cc = new ContaCorrente();<br />
Conta cp = new ContaPoupanca();<br />
c.deposita(1000);<br />
cc.deposita(1000);<br />
cp.deposita(1000);<br />
AtualizadorDeContas adc = new AtualizadorDeContas(0.01);<br />
adc.roda(c);<br />
adc.roda(cc);<br />
adc.roda(cp);<br />
System.out.println("Saldo Total: " + adc.getSaldoTotal());<br />
}<br />
}<br />
<h4>
Questão 08 (Opcional): </h4>
Use a palavra chave super nos métodos atualiza reescritos, para não ter de refazer o trabalho.<br />
<br />
<h4>
Questão 09 (Opcional): </h4>
Se você precisasse criar uma classe ContaInvestimento, e seu método atualiza fosse complicadíssimo, você precisaria alterar a classe AtualizadorDeContas?<br />
<br />
<h4>
Questão 10 (Opcional, Trabalhoso): </h4>
Crie uma classe Banco que possui um array de Conta. Repare que num array de Conta você pode colocar tanto ContaCorrente quanto ContaPoupanca. Crie um método public void adiciona(Conta c), um método public Conta pegaConta(int x) e outro public int pegaTotalDeContas(), muito similar a relação anterior de Empresa-Funcionario.<br />
<br />
Faça com que seu método main crie diversas contas, insira-as no Banco e depois, com um for, percorra todas as contas do Banco para passá-las como argumento para o AtualizadorDeContas.<br />
<br />
<br />
<h2>
<span style="font-size: x-large;">Solução comentada das questões do capítulo 7 da apostila de Java</span></h2>
<h3>
Questões 01, 02, 03 e 04</h3>
A solução destas 4 primeiras questões é bem óbvia e fácil de se fazer, basta seguir o que é dito nos enunciados da apostila.<br />
Como resultado, temos o seguinte código:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="fluid" data-ad-layout="in-article" data-ad-slot="2239234501" style="display: block; text-align: center;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<div style="margin: 0px 0px 0px 0px;">
<div class="smallfont" style="margin-bottom: 0px;">
<input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = ''; this.value = 'Ocultar'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Código Java'; }" style="font-size: 10px; margin: 0px; padding: 0px; width: 75px;" type="button" value="Código Java" />
</div>
<div style="border: 0px inset; margin: 0px; padding: 0px;">
<div style="display: none;">
<div style="margin-top: 5px; margin: 20px;">
<div class="smallfont" style="margin-bottom: 2px;">
Código Java:</div>
<pre style="background: #ffffff; color: black;"><html><body style="background: #ffffff; color: black;"><pre>
Classe Cap7ApostilaCaelum.java
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Cap7ApostilaCaelum <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Conta programador <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Conta<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ContaCorrente programadorCC <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ContaCorrente<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ContaPoupanca programadorCP <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ContaPoupanca<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Recebendo o salário e atualizando a conta</span>
programador<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCC<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCP<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programador<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: green;">0.01</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCC<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: green;">0.01</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCP<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: green;">0.01</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Exibindo informações</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Saldo da Conta Corrente: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span>programadorCC<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Saldo da Poupança: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> programadorCP<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Tirando 5 reais do café em cada conta</span>
programador<span style="color: #808030;">.</span>saca<span style="color: #808030;">(</span><span style="color: #008c00;">5</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCC<span style="color: #808030;">.</span>saca<span style="color: #808030;">(</span><span style="color: #008c00;">5</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCP<span style="color: #808030;">.</span>saca<span style="color: #808030;">(</span><span style="color: #008c00;">5</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programador<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: #008c00;">0</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCC<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: #008c00;">0</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCP<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: #008c00;">0</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Exibindo informações</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span><span style="color: #0000e6;">"</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">Depois do cafezinho: "</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Saldo da Conta Corrente: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span>programadorCC<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Saldo da Poupança: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> programadorCP<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
Classe: Conta.java
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Conta <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">protected</span> <span style="color: #bb7977;">double</span> saldo<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> deposita<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> valor<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">+</span><span style="color: #808030;">=</span> valor<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> saca<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> valor<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">-</span><span style="color: #808030;">=</span> valor<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">double</span> getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: #bb7977;">void</span> atualiza<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> taxa<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">*</span> taxa<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
Classe: ContaCorrente.java
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> ContaCorrente <span style="color: maroon; font-weight: bold;">extends</span> Conta<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> atualiza<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> taxa<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">*</span> taxa <span style="color: #808030;">*</span> <span style="color: #008c00;">2</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> deposita<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> valor<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">+</span><span style="color: #808030;">=</span> valor <span style="color: #808030;">-</span> <span style="color: green;">0.10</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
Classe: ContaPoupanca.java
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> ContaPoupanca <span style="color: maroon; font-weight: bold;">extends</span> Conta<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> atualiza<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> taxa<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">+</span><span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldo <span style="color: #808030;">*</span> taxa <span style="color: #808030;">*</span> <span style="color: #008c00;">3</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
</pre>
</body></html></pre>
</div>
</div>
</div>
</div>
<br />
<br />
<h3>
Questão 05:</h3>
Não há o menor problema, em termos de sintaxe, compilação ou lógica de programação.<br />
Criamos 3 tipos de contas:<br />
Conta programador;<br />
Conta programadorCC;<br />
Conta programadorCP;<br />
<br />
Em seguida vamos inicializar estes objetos e fazê-los receberem instâncias específicas de cada classe, o que ocorre naturalmente, pois ContaCorrente é Conta também, e ContaPoupança é Conta.<br />
<span style="color: red;">programador = new Conta();</span><br />
<span style="color: red;">programadorCC = new ContaCorrente();</span><br />
<span style="color: red;">programadorCP = new ContaPoupanca()</span>;<br />
<br />
<h3>
Questão 06 e 07:</h3>
Essas duas também são bem simples, pois basicamente pedem para criar uma classe, dois métodos e testar o funcionamento dessa classe. E um deles é um simples getter do atributo 'saldoTotal', que vai armazenar todo o dinheiro existente no banco, que é o somatório do dinheiro das contas.<br />
<br />
Ele pede que o método roda() mostre o valor do saldo anterior (um print no método getSaldo() do objeto recebido), que atualize (usando o método atualiza(taxa) do objeto, onde a taxa está armazenada na variável 'selic') e seguida exiba o novo valor armazenado na conta.<br />
Este novo valor deve ser somado à variável 'saldoTotal'.<br />
<br />
Assim, nossa classe AtualizadorDeConta fica:<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Java-Responsivo-Post -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-3925537054052519" data-ad-format="auto" data-ad-slot="9117737201" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><br />
<div style="margin: 0px 0px 0px 0px;">
<div class="smallfont" style="margin-bottom: 0px;">
<input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = ''; this.value = 'Ocultar'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Código Java'; }" style="font-size: 10px; margin: 0px; padding: 0px; width: 75px;" type="button" value="Código Java" />
</div>
<div style="border: 0px inset; margin: 0px; padding: 0px;">
<div style="display: none;">
<div style="margin-top: 5px; margin: 20px;">
<div class="smallfont" style="margin-bottom: 2px;">
Código Java:</div>
<pre style="background: #ffffff; color: black;"><html><body style="background: #ffffff; color: black;"><pre>
Classe: AtualizadorDeContas.java
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> AtualizadorDeContas <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: #bb7977;">double</span> saldoTotal <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: #bb7977;">double</span> selic<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> AtualizadorDeContas<span style="color: #808030;">(</span><span style="color: #bb7977;">double</span> selic<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>selic <span style="color: #808030;">=</span> selic<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> roda<span style="color: #808030;">(</span>Conta c<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Antes da atualização: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> c<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
c<span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>selic<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Depois da atualização: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> c<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>saldoTotal <span style="color: #808030;">+</span><span style="color: #808030;">=</span> c<span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">double</span> getSaldoTotal<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">return</span> saldoTotal<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
</pre>
</body></html></pre>
</div>
</div>
</div>
</div>
<br />
<br />
<h3>
Questão 08:</h3>
Nesta questão da apostila é pedido para usar o 'super', que se refere a uma classe mãe (superclasse).<br />
Note que o método atualiza é:<br />
this.saldo += this.saldo * taxa * valor;<br />
<br />
Onde valor=2 na classe ContaCorrente e igual a 3 na classe ContaPoupanca.<br />
Já na classe super, a Conta, não existe esse valor.<br />
<br />
Mas podemos, mesmo assim, usar o método atualiza() da classe super nos métodos das classes filhas(subclasses), para isso basta passar para o super.atualiza() um 'valor' diferente, em vez de passar 'taxa', passar: taxa*valor<br />
<br />
Assim, na classe ContaCorrente:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: maroon; font-weight: bold;">public</span> void atualiza(double taxa) <span style="color: purple;">{</span><br />
<pre> <span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span>taxa<span style="color: #808030;">*</span><span style="color: #008c00;">2</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span></pre>
<br />
E na classe ContaPoupanca:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: maroon; font-weight: bold;">public</span> void atualiza(double taxa) <span style="color: purple;">{</span><br />
<pre> <span style="color: maroon; font-weight: bold;">super</span><span style="color: #808030;">.</span>atualiza<span style="color: #808030;">(</span>taxa<span style="color: #808030;">*</span><span style="color: #008c00;">3</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span></pre>
<br />
<h3>
Questão 09:</h3>
Não. Uma coisa que este capítulo da apostila de Java da Caelum deixou bem claro foi a utilidade da herança para criar super classes bem gerais, e fazendo as alterações somente em locais específicos.<br />
<br />
Nesse caso, não precisamos alterar a classe mais geral, que é a AtualizadorDeContas.<br />
Como é uma situação específica, fazemos um override (reescrita) do método atualiza() da classe ContaInvestimento.<br />
<br />
<h3>
Questão 10:</h3>
Como a própria apostila da Caelum diz, essa é realmente mais trabalhosa, mas é bem interessante pois criamos um 'esboço' de um banco. Bom, vamos lá.<br />
<br />
Primeiro criamos a classe "Banco" e ela possui 3 atributos:<br />
Um vetor de contas, ou seja, um vetor de objetos da classe "Conta"<br />
Um inteiro 'capacidade' que vai armazenar a capacidade do banco, ou seja, o número máximo de contas que armazena.<br />
Um inteiro 'numContas' que contém o número atual de contas armazenadas em nossa banco.<br />
<br />
A 'capacidade' é decidida pelo usuário no momento da criação do objeto do tipo "Banco".<br />
Esse número é necessário para definir o tamanho do array de contas bancárias.<br />
Portanto, é isso que fazemos no único construtor desse classe: contas = new Banco(capacidade);<br />
<br />
Depois vamos usar 3 métodos.<br />
Um deles é bem simples, pois é nada mais que um getter, é o pegaTotalDeContas() que simplesmente retorna o número de contas que já foram adicionadas ao banco, ou seja, retorna o atributo inteiro 'numContas'.<br />
<br />
A adição dessas contas ao banco é feita pelo método 'adiciona()' que recebe uma referência do objeto do tipo "Conta", que pode ter sido declarado por qualquer uma das classes de conta ("Conta", "ContaCorrente" ou "ContaPoupanca").<br />
Ao receber o objeto, precisamos antes checar se tem espaço no banco, bastando checar se o número de contas atual (atributo numContas) é menor que a capacidade de contas (atributo capacidade).<br />
Se for menor, colocamos na posição 'numContas' do array o objeto recebido, e incrementamos essa variável, afinal de contas agora temos uma conta a mais.<br />
E caso esteja cheio, retornamos a referência null.<br />
<br />
E por fim, o último método retorna qualquer conta que esteja armazenada em nossa banco.<br />
Para isso, o usuário deve escolher um número entre 0 e (capacidade-1), que nosso aplicativo Java vai retornar a referida conta. Pronto, classe Conta concluída.<br />
<br />
Agora vamos testá-la na main(), afinal, não basta criar, tem que mostrar que está funcionando.<br />
Vamos aproveitar as 3 contas que temos: programador, programadorCC e programadorCP, bem como o depósito de R$ 5000,00 que fizemos em cada uma dessas contas anteriormente, nas outras questões desse capítulo da apostila.<br />
<br />
Em seguida criamos nosso Banco, o 'banco', com capacidade para 3 contas, e um objeto do tipo "AtualizadorDeContas", o 'adc', para manusear todos esses objetos, assim como fizemos antes nessa apostila.<br />
Depois adicionamos essas 3 contas ao nosso Banco 'banco', através do método 'adiciona()'.<br />
<br />
Agora vamos percorrer todas contas existentes nesse banco na 0 até a ... ?<br />
Ué, até a banco.pegaTotalDeContas(), afinal este método retorna o número de contas armazenadas no banco.<br />
Feito isso, mostramo o número de cada funcionário, e pegamos cada funcionário através do método: banco.pegaConta()<br />
Pegamos o salário através do método 'getSaldo()' de cada conta, ficando: banco.pegaConta(i).getSaldo()<br />
Também, a cada iteração, temos que adicionar cada conta dessa em nosso AtualizadorDeContas, o 'adc': adc.roda(banco.pegaConta(i)).<br />
<br />
Concluído este laço for, simplesmente mostramos o saldo total, que foi atualizado pelo 'adc'.<br />
Veja como ficou nosso código da classe que contém a main() e da classe "Banco" (as demais ficaram como estavam):<br />
<br />
<pre><h4>
Classe: Cap7ApostilaCaelum.java</h4>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Cap7ApostilaCaelum <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">static</span> <span style="color: #bb7977;">void</span> main<span style="color: #808030;">(</span><span style="color: #bb7977; font-weight: bold;">String</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span> args<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
Conta programador <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Conta<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
Conta programadorCC <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ContaCorrente<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
Conta programadorCP <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> ContaPoupanca<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Recebendo o salário</span>
programador<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCC<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
programadorCP<span style="color: #808030;">.</span>deposita<span style="color: #808030;">(</span><span style="color: #008c00;">5000</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Objeto que vai atualizar as contas do Banco</span>
AtualizadorDeContas adc <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> AtualizadorDeContas<span style="color: #808030;">(</span><span style="color: green;">0.01</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Questão 10</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span><span style="color: #0000e6;">"</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">Criando um banco com 3 contas"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
Banco banco <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Banco<span style="color: #808030;">(</span><span style="color: #008c00;">3</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
banco<span style="color: #808030;">.</span>adiciona<span style="color: #808030;">(</span>programador<span style="color: #808030;">)</span><span style="color: purple;">;</span>
banco<span style="color: #808030;">.</span>adiciona<span style="color: #808030;">(</span>programadorCC<span style="color: #808030;">)</span><span style="color: purple;">;</span>
banco<span style="color: #808030;">.</span>adiciona<span style="color: #808030;">(</span>programadorCP<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: #bb7977;">int</span> i<span style="color: #808030;">=</span><span style="color: #008c00;">0</span> <span style="color: purple;">;</span> i <span style="color: #808030;"><</span> banco<span style="color: #808030;">.</span>pegaTotalDeContas<span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span><span style="color: #0000e6;">"</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">Funcionario de numero: "</span> <span style="color: #808030;">+</span> <span style="color: #808030;">(</span>i<span style="color: #808030;">+</span><span style="color: #008c00;">1</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"Saldo: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> banco<span style="color: #808030;">.</span>pegaConta<span style="color: #808030;">(</span>i<span style="color: #808030;">)</span><span style="color: #808030;">.</span>getSaldo<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
adc<span style="color: #808030;">.</span>roda<span style="color: #808030;">(</span>banco<span style="color: #808030;">.</span>pegaConta<span style="color: #808030;">(</span>i<span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>printf<span style="color: #808030;">(</span><span style="color: #0000e6;">"</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">Saldo total: %.2f</span><span style="color: #0f69ff;">\n</span><span style="color: #0000e6;">"</span><span style="color: #808030;">,</span> adc<span style="color: #808030;">.</span>getSaldoTotal<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<h4>
Classe: Banco.java</h4>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: maroon; font-weight: bold;">class</span> Banco <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">private</span> Conta<span style="color: #808030;">[</span><span style="color: #808030;">]</span> contas<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">private</span> <span style="color: #bb7977;">int</span> capacidade<span style="color: #808030;">,</span>
numContas<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">public</span> Banco<span style="color: #808030;">(</span><span style="color: #bb7977;">int</span> capacidade<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>capacidade <span style="color: #808030;">=</span> capacidade<span style="color: purple;">;</span>
contas <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span> Conta<span style="color: #808030;">[</span><span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>capacidade<span style="color: #808030;">]</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">void</span> adiciona<span style="color: #808030;">(</span>Conta c<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>numContas <span style="color: #808030;"><</span> capacidade<span style="color: #808030;">)</span><span style="color: purple;">{</span>
contas<span style="color: #808030;">[</span>numContas<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> c<span style="color: purple;">;</span>
numContas<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span><span style="color: maroon; font-weight: bold;">else</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span><span style="color: #0000e6;">"Número de contas no limite"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> Conta pegaConta<span style="color: #808030;">(</span><span style="color: #bb7977;">int</span> x<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>x <span style="color: #808030;"><</span> capacidade<span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">return</span> contas<span style="color: #808030;">[</span>x<span style="color: #808030;">]</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span><span style="color: maroon; font-weight: bold;">else</span><span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">System</span><span style="color: #808030;">.</span>out<span style="color: #808030;">.</span>println<span style="color: #808030;">(</span><span style="color: #0000e6;">"Essa conta não existe"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: maroon; font-weight: bold;">null</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">public</span> <span style="color: #bb7977;">int</span> pegaTotalDeContas<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: maroon; font-weight: bold;">this</span><span style="color: #808030;">.</span>numContas<span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
<div>
<br /></div>
Perfilhttp://www.blogger.com/profile/00756438306280709389noreply@blogger.com3