Alguem pode me dar um exemplo de um programinha que tenha JButton , só pra aparecer na tela 1 botão , valeu
Ajuda basica
5 Respostas
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Janela extends JFrame{
private JButton btOK;
public Janela (String titulo){
super(titulo);
Container c = this.getContentPane();
c.setLayout(null);
setSize(380, 270);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
this.botao(c);
}
public void botao(Container c){
this.btOK = new JButton("Ok");
this.btOK.setBounds(115, 200, 60, 20);
c.add(this.btOK);
}
}
public class Main {
public static void main(String[] args) {
Janela j = new Janela("Botao");
}}
Na janela só contém o botão sem nenhuma ação ... é o que vocÊ quer fazer se não for pesquise sobre eventos...teste o código e coloque as dúvidas aqui
Segue um exemplo.
import javax.swing.JButton;
import javax.swing.JFrame;
public class ExemploButton extends JFrame {
private JButton botao;
public ExemploButton() {
botao = new JButton("Este é o JButton"); // Instancia do JButton
botao.setBounds(10, 20, 150, 20); // Localização do JButton no JFrame
setTitle("Exemplo - JButton"); // Titulo da janela
setSize(800, 600); // Tamanho da Janela
setVisible(true); // Visivel = true
setLayout(null); // Layout do JFrame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Encerra o processo ao sair
add(botao); // Adiciona o botão ao JFrame
}
public static void main(String[] args) {
new ExemploButton();
}
}
j.repaint
ExemploButton e =new ExemploButton();
e.repaint();
Os dois exemplos cometem o mesmo erro grave: não se deve chamar setVisible no construtor de JFrame.
Isso porque não se deve tornar visível um Frame que não tenha sido completamente construído.
Alguns componentes podem não aparecer o que, no melhor dos casos, força o repaint() que o colega comentou. No pior, pode simplesmente dar crash em sua aplicação, ou gerar um bug de layout que só ocorre em um determinado sistema operacional (provavelmente o do cliente). Sempre desconfie se você estiver chamando repaint() diretamente em seu código. Uma aplicação Swing não deveria jamais chamar esse método.
Além disso, é uma boa prática deixar para quem cria o formulário a escolha de quando essa pessoa quer deixa-lo visível. Assim, formulários pesados podem ser carregados durante o "loading" da aplicação, sem que necessariamente saiam aparecendo na tela.
Um exemplo de código corrigido:
import javax.swing.JButton;
import javax.swing.JFrame;
public class ExemploButton extends JFrame {
private JButton botao;
public ExemploButton() {
setTitle("Exemplo - JButton"); // Titulo da janela
setSize(800, 600); // Tamanho da Janela
setLayout(null); // Layout do JFrame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Encerra o processo ao sair
botao = new JButton("Este é o JButton"); // Instancia do JButton
botao.setBounds(10, 20, 150, 20); // Localização do JButton no JFrame
add(botao); // Adiciona o botão ao JFrame
}
public static void main(String[] args) {
new ExemploButton().setVisible(true);
}
}
Claro, esse código tem outras más práticas, como a de usar null layout. É comprensível pois esse é um exemplo mega simples. Numa aplicação real, jamais faça isso, você precisará usar gerenciadores de layout.