como permitir que digite apenas em letras maiúsculas dentro do jcombobox?
tente adptar:
Não da certo pra jcombobox
Vc pode fazer de duas formas, verificar se o CapsLock tá ligado, ou converter tudo pra UpperCase.
- Verificar o Caps Lock:
.
public static void main(String[] args) {
boolean capsLigado = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK );
if (capsLigado) {
System.out.println( "Caps Lock ligado!" );
} else {
System.out.println( "O Caps Lock está desligado, você só poderá digitar neste campo se o mesmo estiver ligado!" );
}
}
- ToUpperCase:
.
public static void main(String[] args){
String X = ""; //A String X
X = "abner"; //Um nome atribuído a String
System.out.println(X); //Imprime esse nome
X = X.toUpperCase(); //Esse .toUpperCase deixa tudo maíusculo
System.out.println(X); //Imprime esse nome com o .toUpperCase setado
}
poderia ser esse 1 método só que não tinha interesse de verificar se o caps lock esta ligado ja nesse 2 ex. não iria da certo pois é um caso de Combobox e não da pra setar um texto e sim .additem() ai ficaria complicado mostra ja todo maiuscu quando fosse digitando…
e também não da pra colocar released que não funciona no combobox
Mas cara, o que você quer fazer? Adicionar um item ou pesquisar algum item?
ao digitar… tenho o jcombobox e varias texto dentro dele… caso não encontre o que procura ele escreve um novo no jotacobox ai queria que quando ele estivesse escrevendo as letras independentemente se o caps lock estivesse ligado ou não as letras aparecessem todas maiusculas… eu conseguir com um jTextField mas com o Jcombobox não…
Sua pergunta inicial não tem nada a ver com isso que vc ta falando agora. Vc tem que ser específico de cara. Você tá usando banco de dados?
tem tudo haver… minha pergunta é só saber como escrever maiusculo dentro de um jcombobox…
Liga o CAPS LOCK.
Bom, eu vou ter mais um pouco de paciência.
Deixa o jComboBox como editable. Ele por padrão vem desabilitado. -Isso vai deixar você escrever na mesma.
Creio que vc tá recuperando os dados de algum lugar. Quando fizer essa recuperação, coloca o toUpperCase.
Exemplo:
ConectaBanco conecta = new ConectaBanco(); //Classe de conexão
public void preencherCombo(String SQL, JComboBox combo, String coluna) {
conecta.conexao(); // Inicia a conexão pra o método ter sucesso.
conecta.executaSQL(SQL); //Aqui seria a sua SQL, exemplo: "SELECT * FROM cadastro"
try {
combo.removeAllItems(); //Remove todos os itens, por exemplo: se tiver alguns itens por padrão, ele remove tudo.
conecta.rs.first();
do { //Aqui começa a repetição
combo.addItem(conecta.rs.getString(coluna).toUpperCase()); //Isso recupera e já deixa em maíusculo.
combo.setSelectedItem(null); //Isso é pra quando o seu form abrir, não deixar nenhum item selecionado.
} while (conecta.rs.next()); // Aqui "termina" a repetição
} catch (SQLException ex) {
//JOptionPane.showMessageDialog(null, "Erro ao receber dados");
ex.printStackTrace(); // Caso haja algum erro, vai mostrar na Saída.
}
conecta.desconecta(); // Fecha a conexão aberta após falha/sucesso, pra não ter um acúmulo de conexões.
}
Na hora de chamar esse método:
public static void main(String[] args) {
new PreencherCbo().preencherCombo("SELECT * FROM cadastro", jComboBox, "nome");
//Em ordem:
//SQL: "SELECT * FROM cadastro"
//JComboBox: É o nome da sua comboBox, coloca o nome dela ali.
//Coluna: Suponhamos que você quer recuperar a coluna "nome" da sua tabela de cadastro, coloca entre as aspas "nome".
}