exercicios livro java

Propaganda
Questões do Livro
Rafael, Luimar e Tatiane
Página 50
1. Descreva o método setTitle da classe Frame.
Resp.: Usado para definir o título para a janela do aplicativo.
2. É possível saber se uma janela criada com a classe JFrame pode ou não ser
redimensionada com uma chamada ao método:
Public boolean isResizable( )
Esta afirmação é:
a) verdadeira.
b) falsa.
Resp.: Esta afirmação é verdadeira, pois com o método posso redimencionar bastando
informa se ele recebe true ou false.
3. Desenhe a hierarquia de classes Java partindo da classe Java.lang.Object e indo até
javax.swing.JFrame e responda às questões seguintes:
a) Container herda de window?
Resp : Não conforme a hierarquia das classes a classe window é quem herda da classe
container.
b) Frame herda de component?
Sim, pois todas as classes em comum herdam da classe component, não diretamente porque
antes dela vem a window.
4. O método setSize usado para definir a altura e a largura de uma janela é originalmente
definido em qual classe?
Resp.: classe JFrame , primeira janela.
5. Escreva um aplicativo que exiba sua janela posicionando os lados superior e esquerdo na
coordenada 50 ,50 da tela. Dica use o método setLocation.
Resp:
package exercicios;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
public class ex_livro extends JFrame {
private JPanel jContentPane = null;
public static void main(String[] args) {
ex_livro c = new ex_livro();// TODO Auto-generated method stub
}
public ex_livro() {
super();
initialize();
}
private void initialize() {
this.setSize(300, 200);
this.setLocation(new java.awt.Point(50,50));
this.setContentPane(getJContentPane());
this.setTitle("Ex_livro");
this.setVisible(true);
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
}
return jContentPane;
}
}
6. Qual o resultado do código seguinte?
Resp.: Por não ser um método Frame, não terá efeito visual, mostrando apenas a área da
tela em pixels que esta sendo utilizada:
O tamanho da Tela é: 800x600.
package exercicios;
import java.awt.*;
public class TamanhoTela {
public static void main(String args[]){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension tela = toolkit.getScreenSize();
int lar=tela.width;
int alt=tela.height;
System.out.println("O tamanho da tela é: " + lar + "x" + alt);
}
}
=================================================================
Página 66
1 ) O método addActionListener é originalmente definido na classe Componente essa
afirmação é :
a) Verdadeira
b) Falsa
Resp. Falsa, porque vem de ActionEvent (java.awt.event)
2) Escreva um aplicativo cuja janela contenha duas caixas de texto e um botão. Solicite ao
usuário que digite valores numéricos de cada uma das caixas de texto. Ao clicar no botão,
uma caixa de mensagem deve exibir a soma dos dois valores.
Resp:
package exercicios;
import java.awt.BorderLayout;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
public class ex_livro extends JFrame {
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JTextField jTxt1 = null;
private JTextField jTxt2 = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JButton jButton = null;
private JPanel getJPanel() {
if (jPanel == null) {
jLabel2 = new JLabel();
jLabel2.setBounds(new java.awt.Rectangle(60,15,140,16));
jLabel2.setText("Digite dois números");
jLabel1 = new JLabel();
jLabel1.setBounds(new java.awt.Rectangle(40,81,90,16));
jLabel1.setText("Numero 2");
jLabel = new JLabel();
jLabel.setBounds(new java.awt.Rectangle(45,53,73,16));
jLabel.setText("Numero 1");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(getJTxt1(), null);
jPanel.add(getJTxt2(), null);
jPanel.add(jLabel, null);
jPanel.add(jLabel1, null);
jPanel.add(jLabel2, null);
jPanel.add(getJButton(), null);
}
return jPanel;
}
private JTextField getJTxt1() {
if (jTxt1 == null) {
jTxt1 = new JTextField();
jTxt1.setBounds(new java.awt.Rectangle(148,51,122,20));
}
return jTxt1;
}
private JTextField getJTxt2() {
if (jTxt2 == null) {
jTxt2 = new JTextField();
jTxt2.setBounds(new java.awt.Rectangle(149,82,122,20));
}
return jTxt2;
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new java.awt.Rectangle(105,130,75,20));
jButton.setText("Soma");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
float soma;
soma=0;
float z = Float.parseFloat(jTxt1.getText());
float y = Float.parseFloat(jTxt2.getText());
soma= z+y;
JOptionPane.showMessageDialog(null,String.valueOf(soma));
}
});
}
return jButton;
}
public static void main(String[] args) {
ex_livro c = new ex_livro();// TODO Auto-generated method stub
}
public ex_livro() {
super();
initialize();}
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(true);
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanel(), java.awt.BorderLayout.CENTER);
}
return jContentPane;
}
}
3) Crie um aplicativo que permita ao usuário digitar uma frase. Quando o usuário
pressionar a tecla Enter na caixa de texto, uma caixa de mensagem deve informar a
quantidade de palavras digitadas. Não use botões nesse aplicativo.
package exercicios;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
public class livro extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField txt = null;
private JLabel jLabel = null;
/**
* This method initializes txtct
*
* @return javax.swing.JTextField
*/
private JTextField getTxt() {
if (txt == null) {
txt = new JTextField();
txt.setBounds(new Rectangle(62, 76, 161, 41));
txt.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent e) {
int y=txt.getText().length()+1;
JOptionPane.showMessageDialog(null,String.valueOf(y));
}
});
}
return txt;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
livro ct= new livro();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
livro thisClass = new livro();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public livro() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("Ex. livro");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setBounds(new java.awt.Rectangle(86,19,141,16));
jLabel.setText("Digite uma mensagem:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getTxt(), null);
jContentPane.add(jLabel, null);
}
return jContentPane;
}
}
4) Explique o método getComponents da Classe Container. Escreva um aplicativo
exemplificando seu uso.
Resp.: getComponent retorna o originador do evento, ou seja, retorna o objeto componente
que originou o evento ou zero se o objeto não for um componente.
import javax.swing.*;
import java.awt.*;
public class Controles3 extends JFrame{
Container tela;
public Controles3(){
super("Adicionando controles à janela");
tela = getContentPane();
FlowLayout layout = new FlowLayout();
layout.setAlignment(FlowLayout.LEFT);
tela.setLayout(layout);
JLabel rotulo = new JLabel("Seu Nome:");
JTextField nome = new JTextField(10);
JButton btn = new JButton("OK!");
tela.add(rotulo);
tela.add(nome);
tela.add(btn);
setSize(300, 100);
setVisible(true);
}
public static void main(String args[]){
Controles3 app = new Controles3();
int quant = app.tela.getComponentCount();
JOptionPane.showMessageDialog(null, "Numero de Controles: " + quant);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
5) Para que serve o método parselnt da classe Integer?
Resp.: o método parseInt serve para transformar um número ou texto em números inteiros.
Pág. 91
1) Defina os métodos setTexte e getText da Classe JLabel:
Resp.: setText define o texto que será exibido e getText retorna o texto que é apresentado
por este componente do texto.
2) Qual o resultado do código?
Resp.: o código nos fornece um programa com 20 botões que ao clicar neles aparece uma
caixa de diálogo com o nome do respectivo botão.
3)Analise as duas linhas de códigoseguinte e escolha a alternativa correta:
Resp.: letra c.
4)
Resp.: modificando o código para getActionCommand(); não influenciará em nada. Entao a
resposta é verdadeira.
5) Resp.: sim é possível criar.
Ex:
package exercicios;
import javax.swing.*;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JPanel;
public class livro extends JFrame{
private JButton jButton = null;
private JPanel jPanel = null;
public livro(){
super("Uso de HTML em um objeto JLabel");
initialize();
Container tela = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
tela.setLayout(layout);
JButton rotulo = new JButton("<html><font color=\"red\">Veja</font> <u>a
formatação deste</u><p> <i>texto</i>. <s>Note a quebra de linha</s></html>");
tela.add(rotulo);
setSize(300, 100);
setVisible(true);
}
/**
* This method initializes this
*
*/
private void initialize() {
this.setSize(new java.awt.Dimension(255,164));
this.setVisible(true);
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
public static void main(String args[]){
livro app = new livro();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} // @jve:decl-index=0:visual-constraint="10,10"
Download