Galera boa noite a todos, sou novato aqui no forum procurei mas não achei algo que respondesse minha dúvida em pots anteriores a esse.
A questão é a seguinte fiz esse código, que me parece ter algum tipo de falha, ele compila, mostra a janela, mas não mostra nenhum componte, por exemplo crie o botão e adicionei, porém o mesmo não aparece, está faltando alguma coisa?
a classe main está separa desse código
[code]import javax.swing.*;
public class aplicativo extends JFrame
{
public aplicativo()
{
super(“java!”);
}
public void criaJanela ()
{
JFrame janela= new JFrame();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton butao= new JButton();
JTextField texto= new JTextField ();
JRadioButton butao1= new JRadioButton();
janela.getContentPane().add(butao);
janela.add(butao);
janela.add(texto);
janela.add(butao1);
pack();
setVisible(true);
}
}[/code]
Iai,
tenta esse ai:
[code]import javax.swing.*;
import java.awt.FlowLayout;
class aplicativo extends JFrame
{
private JButton butao;
private JTextField texto;
private JRadioButton butao1;
public aplicativo()
{
super("java!");
criaJanela();
}
public void criaJanela ()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
butao= new JButton("OK");
texto= new JTextField (10);
butao1= new JRadioButton("Sim");
this.add(butao);
this.add(texto);
this.add(butao1);
this.setSize(500, 500);
this.setVisible(true);
}
}
public class Teste{
public static void main(String[] args){
aplicativo app = new aplicativo();
}
} [/code]
vc num tinha chamado o método criaJanela(), e estamos colocando todos os componentes sem nenhum gerenciador de Layout, ai todos os componentes ficam um em cima do outro
flw, espero ter ajudado
A chamada ao metódo criaJanela() está sendo colocada em uma classe que crie chamada rodaAplicativo, eu consigo criar a janela, porém a mesma, não fica no tamanho definido e os butões e outros componentes não aparecem
iai cara,
esses erros que vc disse estavam msm acontecendo, mas tenta executar o código q eu postei, ta funcionando.
flw
como sua classe aplicativo é um JFrame já que vc colocou, public class aplicativo extends JFrame
não precisava criar outro objeto pra JFrame, basta fazer como o colega acima citou, e adicionar direto na sua classe.
Ahhhh agora entendi, obrigado pela dica galera… vlw a força, vcs ainda vão me ver muito por aqui, iniciante na linguagem da nisso hehehe