Duvidas sobre Interface e Framework

9 respostas
Patrickppta

Pessoal. sou novato em JAVA, por isso que mando bastante duvidas aqui…

Eu gostaria de saber 3 coisas.

  1. Eu criei o Jpanel de cadastro e gostaria de colocar ele dentro no Main para executar, é necessario? Como que faz?

  2. Dentro do meu cadastro eu gostaria de colocar uma opçao de abrir uma foto para que no cadastro vá tbm a foto da pessoa… Como que farei isso?

  3. Gostaria se possivel usar uma web cam integrada no me aplicativo. Ouvi falar muito de Java Media Framework, só que não entendo muito sobre o assunto?
    Como eu utilizo? Alguem tem codigos? Como instala esse framework??

VAleu gente!

9 Respostas

R
  1. Você precisará incluir seu JPanel em um JFrame, e em seguida criar e exibir o JFrame no método main(). Segue um exemplo:
    http://download.oracle.com/javase/tutorial/uiswing/start/compile.html

  2. Carregue a imagem via ImageIO.read() e exiba-a num JLabel ou num JButton via JLabel.setIcon() ou JButton.setIcon(), respectivamente.
    http://download.oracle.com/javase/tutorial/uiswing/components/label.html

  3. Infelizmente nunca trabalhei com WebCam’s em Java, essa eu vou ficar devendo :confused:

Patrickppta

Eu não sou muito bom com ingles…
Será que você ou alguem naum tem alguem trecho de codigo ou um exemplo para me mostrar??

C

1o

public static void main(String[] args) {
  JFrame frame = new JFrame("Titulo");
  frame.getContentPane().setLayout(new GridLayout(1,1));
  frame.getContentPane().add(new MeuJPanel());
  frame.pack();//se a janela n ficar do tamanho q deseja, troque essa linha por frame.setSize(500,400);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
}
2o vc pode inserir isso num actionlistener do botao
BufferedImage foto = null;
        JFileChooser jFileChooser = new JFileChooser();  
        jFileChooser.showOpenDialog(null);  //abre uma janela p/ escolher o arquivo
        File arquivo = jFileChooser.getSelectedFile();//arquivo  
  
        try {  
            foto = ImageIO.read(arquivo); //carrega a imagem real num buffer  
        } catch (IOException ex) {  
        }  
        //jlabel  
        jLabel_Imagem.setIcon(new ImageIcon(foto));
Esse trecho possui alguns erros, mas ja carrega a imagem, um dos problemas seria redimensionar a imagem num jlabel mais informaçoes [url]http://www.guj.com.br/java/236277-redimensionar-imagem-automaticamente-em-jlabel[/url] [url]http://www.guj.com.br/java/30919-redimensionar-imagem[/url]

3o

passo

Obs:todo codigo foi feito em txt, entao pode conter erros de sintaxe

Patrickppta

Amigos aqui do GUJ estou muito feliz por vocês me ajudarem… Estou tentando no maximo fazer o que vocês me pediram mais sempre esta dando erro, entaum vou mandar o dogido para vocês verem assim vocês podem analisar melhor a situaçao o problema abraços

package reconhecimentofacial;


public class Cadastro extends javax.swing.JFrame {
    private String arquivo;

    /** Creates new form Cadastro */
    public Cadastro() {
        initComponents();
    }

  
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        buttonGroup2 = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jTcodigo = new javax.swing.JTextField();
        jTnome = new javax.swing.JTextField();
        jFdata = new javax.swing.JFormattedTextField();
        jLabel5 = new javax.swing.JLabel();
        jTcidade = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        jRmasculino = new javax.swing.JRadioButton();
        jRfeminino = new javax.swing.JRadioButton();
        jLabel9 = new javax.swing.JLabel();
        jFormattedTextField1 = new javax.swing.JFormattedTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTobs = new javax.swing.JTextPane();
        jLabel10 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jBsalvar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Cadastro de Usuários");
        setLocationByPlatform(true);

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/logo.png"))); // NOI18N

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 24));
        jLabel2.setText("Cadastro de Usuário");

        jLabel3.setText("NOME:");

        jLabel4.setText("NAS.");

        jLabel7.setText("COD.");

        try {
            jFdata.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }
        jFdata.setToolTipText(""); // NOI18N
        jFdata.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jFdataActionPerformed(evt);
            }
        });

        jLabel5.setText("CIDADE:");

        jTcidade.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTcidadeActionPerformed(evt);
            }
        });

        jLabel6.setText("UF:");

        jTextField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField1ActionPerformed(evt);
            }
        });

        jLabel8.setText("SEXO:");

        jRmasculino.setSelected(true);
        jRmasculino.setText("Masculino");
        jRmasculino.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRmasculinoActionPerformed(evt);
            }
        });

        jRfeminino.setText("Feminino");
        jRfeminino.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRfemininoActionPerformed(evt);
            }
        });

        jLabel9.setText("TEL:");

        try {
            jFormattedTextField1.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("####-####")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }

        jScrollPane1.setViewportView(jTobs);

        jLabel10.setText("OBS.");

        jPanel2.setBackground(new java.awt.Color(102, 102, 255));
        jPanel2.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, new javax.swing.border.MatteBorder(null)));

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 155, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 138, Short.MAX_VALUE)
        );

        jBsalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/Web-Application-Icons-Set/PNG-24/Load.png"))); // NOI18N
        jBsalvar.setMnemonic('s');
        jBsalvar.setText("Salvar");
        jBsalvar.setToolTipText("Salva o Cadastro");
        jBsalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBsalvarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel7)
                            .addComponent(jLabel4)
                            .addComponent(jLabel3)
                            .addComponent(jLabel5)
                            .addComponent(jLabel8)
                            .addComponent(jLabel10))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jTcodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTnome)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                                        .addComponent(jFdata, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jLabel9))
                                    .addComponent(jTcidade, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addGap(18, 18, 18)
                                        .addComponent(jLabel6)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jFormattedTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jRmasculino)
                                .addGap(18, 18, 18)
                                .addComponent(jRfeminino))
                            .addComponent(jScrollPane1))
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGap(33, 33, 33)
                                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jBsalvar)
                                .addGap(26, 26, 26))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jLabel1)
                        .addGap(93, 93, 93)
                        .addComponent(jLabel2)))
                .addGap(29, 29, 29))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel1))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(50, 50, 50)
                        .addComponent(jLabel2)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTcodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel7))
                        .addGap(8, 8, 8)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTnome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jFdata, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4)
                            .addComponent(jLabel9)
                            .addComponent(jFormattedTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel5)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jTcidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel6)
                                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel8)
                            .addComponent(jRmasculino)
                            .addComponent(jRfeminino)))
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(38, 38, 38)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel10)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jBsalvar)))
                .addContainerGap(22, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 521, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        pack();
    }// </editor-fold>

    private void jTcidadeActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
    }                                        

    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
    }                                           

    private void jRmasculinoActionPerformed(java.awt.event.ActionEvent evt) {                                            
               jRfeminino.setSelected(false);
    }                                           

    private void jRfemininoActionPerformed(java.awt.event.ActionEvent evt) {                                           
               jRmasculino.setSelected(false);
    }                                          

    private void jFdataActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
    }                                      

    private void jBsalvarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
    }                                        

    /** 
    * @param args the command line arguments
    */
   
     

    // Variables declaration - do not modify
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.JButton jBsalvar;
    private javax.swing.JFormattedTextField jFdata;
    private javax.swing.JFormattedTextField jFormattedTextField1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JRadioButton jRfeminino;
    private javax.swing.JRadioButton jRmasculino;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTcidade;
    private javax.swing.JTextField jTcodigo;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTnome;
    private javax.swing.JTextPane jTobs;
    // End of variables declaration

}

Não sei se isso vocês poderam fazer algo mais acho que sim…

C

1o
Vc esta usando a ferramenta do netbeans e essa classe é um jframe e n um jpanel

public static void main(String[] args) { JFrame frame = new Cadastro(); frame.setVisible(true); }

2o
posta os erros q estao dando

3o
passo

Patrickppta

Isso amigao…
É que naum esta dando erro…
É que naum consigo fazer abrir um arquivo mesmo entende
Tentei em todo lugar e nada!

Abraçao!

C

crie um projeto e rode isso

package javaapplication1;

public class Diretorio {
    public Diretorio() {
        System.out.println("Usando getClass().getResource(\"\")");
        System.out.println(getClass().getResource("").toString());
        System.out.println("Usando getClass().getClassLoader().getResource(\"\")");
        System.out.println(getClass().getClassLoader().getResource("").toString());
    }
}
package javaapplication1;

public class Main {
    public static void main(String[] args) {
        new Diretorio();
    }
}

isso ira mostrar onde o getResource esta pegando o arquivo
aki imprimiu

[color=red]Usando getClass().getResource("")
file:/C:/Documents%20and%20Settings/user/Desktop/JavaApplication1/build/classes/javaapplication1/
Usando getClass().getClassLoader().getResource("")
file:/C:/Documents%20and%20Settings/user/Desktop/JavaApplication1/build/classes/[/color]

entao colocaria a imagem no diretorio
C:/Documents%20and%20Settings/user/Desktop/JavaApplication1/build/classes/javaapplication1/imagens/logo.png
ou(depende do q for usar, eu sempre usei "etClass().getClassLoader().getResource("")")
C:/Documents%20and%20Settings/user/Desktop/JavaApplication1/build/classes/imagens/logo.png

Patrickppta

Eu fiz mais naum aconteceu nada amigao!

C

tente isso entao

try { jLabel1.setIcon(new javax.swing.ImageIcon(ImageIO.read(getClass().getClassLoader().getResource("imagens/logo.png")))); // imagem no pacote "imagens" } catch (IOException ex) { System.out.println("N encontrou a imagem imagens/logo.png"); }

try { jBsalvar.setIcon(new javax.swing.ImageIcon(ImageIO.read(getClass().getClassLoader().getResource("imagens/Web-Application-Icons-Set/PNG-24/Load.png")))); // imagem no pacote "imagens/Web-Application-Icons-Set/PNG-24" } catch (IOException ex) { System.out.println("N encontrou a imagem imagens/Web-Application-Icons-Set/PNG-24/Load.png"); }

Criado 5 de maio de 2011
Ultima resposta 7 de mai. de 2011
Respostas 9
Participantes 3