Titulo à janela

Como adiciono titulo a um JOptionPane?
Aqui deu erro:

olhem o código:

import javax.swing.JOptionPane;  
import java.io.File;  
import java.io.FileWriter;  
import java.io.PrintWriter;  
import java.io.IOException;  
  
public class Cadastro3 {  
      
      
    public static void menu(){  
        String opcao;  
        int a;  
        opcao = JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Ver os créditos\n4 - Sair");  
        a = Integer.parseInt(opcao);  
  
        switch (a) {  
        case 1:  
            cadastrar();
            menu();			
            break;  
  
        case 2:  
            ajuda();  
            menu();  
            break;  
			
		case 3:
            JOptionPane.showInputDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\n", "http://guj.com.br/java/262777-criando-loop-em-java", "Créditos");
            menu();			 
            break;
        case 4:  
            System.exit(0);  
            break;  
        }  
    }  
      
    public static void ajuda(){  
        JOptionPane.showMessageDialog(null, "Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.\nQue tal voltar-mos ao menu principal?", "Ajuda");  
    }  
      
    public static void cadastrar (){  
          
            do {  
                String nome_do_arquivo;  
                String nome;  
                String endereco;  
                String cep;	
                String cidade;
                String estado;
                String pais;				
                String cpf;  
                String rg;  
                String data_nascimento;  
                String numero_telefone;  
                String numero_celular;  
                String email;  
  
                nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?"); 
				
                nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");  
				
                endereco = JOptionPane.showInputDialog("Onde seu cliente mora?", "Rua _, quadra _, nº _ , Bairro");  
				
                cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?", "00000-000");
				
				cidade = JOptionPane.showInputDialog("Em qual cidade seu cliente mora?");
				
				estado = JOptionPane.showInputDialog("Em qual estado seu cliente mora?");
				
				pais = JOptionPane.showInputDialog("Em qual país seu cliente mora?");
				
                cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?", "000.000.000-00");
				
                rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");  
				
                data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?", "00/00/2000");  
				
                numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?", "000 0000-0000");  
				
                numero_celular = JOptionPane.showInputDialog("E o número de celular?", "000 0000-0000");  
				
                email = JOptionPane.showInputDialog("Ele(a) tem e-mail?", "email@provedor.com");  
  
                try {  
                    File file = new File("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+ nome_do_arquivo + ".txt");  
                    // verifica se o arquivo existe  
                    if (!file.exists()) {  
                        // se não existir cria o arquivo  
                        file.createNewFile();  
                    }  
  
                    System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+ nome_do_arquivo + ".txt");  
                    // cria um arquivo com append true para garantir a  
                    // persistência dos dados anteriores  
                    FileWriter writer = new FileWriter(file, true);  
                    PrintWriter cadastro = new PrintWriter(writer);  
  
                    if (file.length() > 0) {  
                        cadastro.println("==============================Novo Registro======================================");  
                    }  
                    cadastro.println("Cliente: " + nome + "\r\r\n"  
                            + "Endereço: " + endereco + "\r\r\n" + "CEP: "  
                            + cep + "\r\r\n" + "Cidade: " + cidade + "\r\r\n" 
							+ "Estado: " + estado + "\r\r\n" + "País: " + pais 
							+ "\r\r\n" + "CPF: " + cpf + "\r\r\n"  
                            + "RG: " + rg + "\r\r\n" + "Data de aniversário: "  
                            + data_nascimento + "\r\r\n"  
                            + "Número de telefone fixo: " + numero_telefone  
                            + "\r\r\n" + "Número de celular: " + numero_celular  
                            + "\r\r\n" + "E-mail: " + email);  
                    // descarrega garantindo que a ultima entrada no buffer será  
                    // gravada  
                    cadastro.flush();  
                    cadastro.close();  
                } catch (IOException ex) {  
                    ex.printStackTrace();  
                    JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar " + nome);  
                } catch (Exception ex) {  
                    ex.printStackTrace();  
                }				
            } while (JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?") == 0);			
        }  
      
 public static void main(String[] args) {  
        menu();
 } 
} 

Basta ler a documentação e escolher um dos métodos do JOptionPane que existam, ao invés de tentar por tentativa e erro usar o que você gostaria que existisse.

Como esse:
http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html#showInputDialog%28java.awt.Component,%20java.lang.Object,%20java.lang.String,%20int%29

JOptionPane.showMessageDialog( null, "&lt;html&gt;&lt;body&gt;Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.<br>Que tal voltarmos ao menu principal?", "Ajuda", JOptionPane.INFORMATION_DIALOG);

Também dá erro

Que erro? Você modificou as duas caixas de mensagens que tem no seu código?

Bom dia, mcirqueira!

Leia a documentação da classe para usá-la sem problemas, você está usando os métodos de forma incorreta, erro nos argumentos esperados.

ERRO 1:

O certo seria assim:

JOptionPane.showInputDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\nhttp://guj.com.br/java/262777-criando-loop-em-java", "Créditos", JOptionPane.INFORMATION_MESSAGE);

Porém acho que você não quer que o usuário faça uma entrada nesse momento, pelo que entendi é melhor você fazer assim:

JOptionPane.showMessageDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\nhttp://guj.com.br/java/262777-criando-loop-em-java", "Créditos", JOptionPane.INFORMATION_MESSAGE);

ERRO 2:

Faça o método ajuda assim:public static void ajuda(){ JOptionPane.showMessageDialog(null, "Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.\nQue tal voltarmos ao menu principal?", "Ajuda", JOptionPane.INFORMATION_MESSAGE); }Obs: “voltarmos” não tem hífen.

Abraço!

[quote=Vingdel]Bom dia, mcirqueira!

Porém acho que você não quer que o usuário faça uma entrada nesse momento, pelo que entendi é melhor você fazer assim:

JOptionPane.showMessageDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\nhttp://guj.com.br/java/262777-criando-loop-em-java", "Créditos", JOptionPane.INFORMATION_MESSAGE);

Abraço![/quote]

Sim! Não quero que o usuário coloque uma entrada, mas no lugar dele colocar uma entrada, fique o endereço do site (http://guj.com.br/java/262777-criando-loop-em-java) e o titulo “Créditos”.
Já na outra linha, que fique com o titulo “Ajuda”.

Olhem o erro que deu novamente:

import javax.swing.JOptionPane;  
import java.io.File;  
import java.io.FileWriter;  
import java.io.PrintWriter;  
import java.io.IOException;  
  
public class Cadastro3 {  
      
      
    public static void menu(){  
        String opcao;  
        int a;  
        opcao = JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Ver os créditos\n4 - Sair", "Menu");  
        a = Integer.parseInt(opcao);  
  
        switch (a) {  
        case 1:  
            cadastrar();
            menu();			
            break;  
  
        case 2:  
            ajuda();  
            menu();  
            break;  
			
		case 3:
            JOptionPane.showInputDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\n", "http://guj.com.br/java/262777-criando-loop-em-java", "Créditos", JOptionPane.INFORMATION_MESSAGE);
            menu();			 
            break;
        case 4:  
            System.exit(0);  
            break;  
        }  
    }  
      
    public static void ajuda(){  
        JOptionPane.showMessageDialog(null, "Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.\nQue tal voltar-mos ao menu principal?", "Ajuda", JOptionPane.INFORMATION_MESSAGE);  
    }  
      
    public static void cadastrar (){  
          
            do {  
                String nome_do_arquivo;  
                String nome;  
                String endereco;  
                String cep;	
                String cidade;
                String estado;
                String pais;				
                String cpf;  
                String rg;  
                String data_nascimento;  
                String numero_telefone;  
                String numero_celular;  
                String email;  
  
                nome_do_arquivo = JOptionPane.showInputDialog("Qual será o nome deste arquivo?"); 
				
                nome = JOptionPane.showInputDialog("Qual é o nome de seu cliente?");  
				
                endereco = JOptionPane.showInputDialog("Onde seu cliente mora?", "Rua _, quadra _, nº _ , Bairro");  
				
                cep = JOptionPane.showInputDialog("Qual é o CEP de seu cliente?", "00000-000");
				
				cidade = JOptionPane.showInputDialog("Em qual cidade seu cliente mora?");
				
				estado = JOptionPane.showInputDialog("Em qual estado seu cliente mora?");
				
				pais = JOptionPane.showInputDialog("Em qual país seu cliente mora?");
				
                cpf = JOptionPane.showInputDialog("Qual é o CPF de seu cliente?", "000.000.000-00");
				
                rg = JOptionPane.showInputDialog("Qual é o RG de seu cliente?");  
				
                data_nascimento = JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?", "00/00/2000");  
				
                numero_telefone = JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?", "000 0000-0000");  
				
                numero_celular = JOptionPane.showInputDialog("E o número de celular?", "000 0000-0000");  
				
                email = JOptionPane.showInputDialog("Ele(a) tem e-mail?", "email@provedor.com");  
  
                try {  
                    File file = new File("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+ nome_do_arquivo + ".txt");  
                    // verifica se o arquivo existe  
                    if (!file.exists()) {  
                        // se não existir cria o arquivo  
                        file.createNewFile();  
                    }  
  
                    System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+ nome_do_arquivo + ".txt");  
                    // cria um arquivo com append true para garantir a  
                    // persistência dos dados anteriores  
                    FileWriter writer = new FileWriter(file, true);  
                    PrintWriter cadastro = new PrintWriter(writer);  
  
                    if (file.length() > 0) {  
                        cadastro.println("==============================Novo Registro======================================");  
                    }  
                    cadastro.println("Cliente: " + nome + "\r\r\n"  
                            + "Endereço: " + endereco + "\r\r\n" + "CEP: "  
                            + cep + "\r\r\n" + "Cidade: " + cidade + "\r\r\n" 
							+ "Estado: " + estado + "\r\r\n" + "País: " + pais 
							+ "\r\r\n" + "CPF: " + cpf + "\r\r\n"  
                            + "RG: " + rg + "\r\r\n" + "Data de aniversário: "  
                            + data_nascimento + "\r\r\n"  
                            + "Número de telefone fixo: " + numero_telefone  
                            + "\r\r\n" + "Número de celular: " + numero_celular  
                            + "\r\r\n" + "E-mail: " + email);  
                    // descarrega garantindo que a ultima entrada no buffer será  
                    // gravada  
                    cadastro.flush();  
                    cadastro.close();  
                } catch (IOException ex) {  
                    ex.printStackTrace();  
                    JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar " + nome);  
                } catch (Exception ex) {  
                    ex.printStackTrace();  
                }				
            } while (JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?") == 0);			
        }  
      
 public static void main(String[] args) {  
        menu();
 } 
} 

Não existe um construtor que faça o que você quer. Não existe um construtor que aceite 3 strings e 1 int, ou que trabalhe com links.
Você tem que trabalhar com o que o Java tem, não com o que você gostaria que tivesse.

Por isso reforço, é bom ler a documentação. É ela que diz o que você pode fazer.

[quote=ViniGodoy]Não existe um construtor que faça o que você quer. Não existe um construtor que aceite 3 strings e 1 int, ou que trabalhe com links.
Você tem que trabalhar com o que o Java tem, não com o que você gostaria que tivesse.

Por isso reforço, é bom ler a documentação. É ela que diz o que você pode fazer.[/quote]
Tu não tá entendendo.
Eu não quero que fique um link, mas onde o usuário iria digitar, que fique o endereço do site para ficar mais fácil de copiar, entendeu agora?

Ok… veja o que a documentação diz sobre o showInputDialog.

Os únicos dois métodos que permitem que você passe o valor inicial é esse:

showInputDialog(Component parentComponent, Object message, Object initialSelectionValue) Shows a question-message dialog requesting input from the user and parented to parentComponent.

E esse:

showInputDialog(Object message, Object initialSelectionValue) Shows a question-message dialog requesting input from the user, with the input value initialized to initialSelectionValue.

Nenhum deixa você configurar o título da janela. Portanto, não adianta tentar passar uma terceira String, ou um inteiro, porque o método que você está tentando usar não existe. O que estou tentando deixar claro, é que só dá para usar o que existe.

Desculpa.
Só pensei que podia dar um titulo à janela JOptionPane, e ao mesmo tempo colocar um texto ou frase já pré-definida onde o usuário iria digitar alguma coisa. :frowning:

mcirqueira, boa tarde!

Faça assim, acho que é o que você quer:JOptionPane.showInputDialog(null, "Márcio Guilherme Cirqueira Ribeiro(meucanto11@gmail.com)\nGrande ajuda dos usuários do fórum Guj:\n", "Créditos", JOptionPane.INFORMATION_MESSAGE, null, null, "http://guj.com.br/java/262777-criando-loop-em-java");

Abraço!