Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @ytalopaulo_ o segundo modo eh melhor pois o arquivo ficara organizado como antes da exclusao podendo ser utilizado normalmente .
  2. @ytalopaulo_ para posicionar o menu mais para baixo você precisa ver em qual linha da tela está a primeira opção do menu e na chamada da função gotoxy você coloca o segundo valor , que é a variável li , somado com o valor da linha onde está a primeira opção do menu , por exemplo se essa primeira opção estiver na linha 10 então coloca li+10 assim : do{ tecla=0; if(kbhit()){ tecla = getch(); gotoxy(4,li+10);/* se a opção 1 estiver na linha 10 */ /* e coloca assim em todas as chamadas da função gotoxy */ printf(" "); @giu_d eu ainda não usei essa biblioteca Allegro , apenas vi um post sobre ela aqui no fórum já algum tempo então não sei qual é melhor/mais fácil , mas pelo que vi parece que a Allegro seja mais fácil , mas só experimentando para saber , e também não tenho ela instalada e também ainda não sei como instala-la , espero que algum colegas aqui do fórum , com mais experiência , possa te ajudar . seu código ficou muito bom e ficaria melhor se você usasse cores para destacar a opção escolhida .
  3. @Kayky Nascimento o comando timer funciona bem , como o @Simon Viegas disse , mas o timer faz a tela ficar apresentando aquela barra azul na tela se movendo para baixo e para cima , e creio que isso não seria interessante no seu jogo , então para evitar isso e a tela permanecer parada , você pode usar o comando para sem nada dentro dele para perder tempo , então seu código com algumas modificações pode ser assim : algoritmo "jogo_perguntas" // Função : // Autor : // Data : 28/07/2018 // Seção de Declarações var nota1,nota2,nota3,media : caractere procedimento pausar var x,j,tempo_de_espera : inteiro inicio escreva("") tempo_de_espera:=100000 //tempo de espera = 30 segundos escreva("Tempo ->") escreva(" .") escreva("") para j de 0 ate tempo_de_espera faca x := x+1 se x > 10000 ENTÃO x := 0 escreva(" .") escreva("") fimse fimpara escreval escreva("Digite A Resposta . . . ! ") fimprocedimento inicio escreval("Seja Bem Vindo, O Objetivo desse jogo é testar seu conhecimento sobre enzimas") escreval("|----------------------------------------------------------------------------------------------------------------") escreval("|Participantes: Kayky, Ana Julia, Ana Luiza, Lorena, Manoel ") escreval("|") escreval("|Serão 5 perguntas e no final te daremos a nota, Boa Sorte!") escreval("|") escreval("| * *") escreval("| u") escreval("|-----------------------------------------------------------------------------------------------------------------") escreval("aparecera um texto e você tera 1 minuto para ler e depois") escreval("tera que responder algumas perguntas sobre Enzimas, você esta pronto? ") escreval("") escreval("Responda com Sim ou Não") pausar leia(nota1) limpatela escreval("As enzimas são moléculas catalisadoras, presentes no organismo do ser humano") escreval("formadas por proteínas. A principal função delas é favorecer o acontecimento de") escreval("algumas reações biológicas, cada enzima é responsável por apenas um") escreval("tipo de reação química, que são essenciais para a vida.") escreval("o que São Enzimas ?") pausar leia(nota2) escreval("Qual a principal função das Enzimas?") pausar leia(nota3) fimalgoritmo
  4. @ytalopaulo_ você pode usar uma interface gráfica como o @isrnick disse , mas é uma pena que para fazer interface gráficas seja uma tarefa bem difícil , então se você quiser fazer pelo terminal você pode usar o comando kbhit() para saber se foi pressionada alguma tecla e nesse caso pegar o valor da tecla pressionada usando o comando getch() , no lugar desse scanf , assim se pressionar seta para cima ele retorna o valor 72 e se pressionar seta para baixo o valor será 80 , com isso você controla o valor da linha onde posicionar o cursor , e usa esse valor da linha no switch para ir para cada uma daquelas opções , e para posicionar o cursor na linha e coluna você pode usar essa função gotoxy() : #include <stdio.h> #include <locale.h> #include <conio.h> #include <windows.h> /* 0 1 2 3 4 5 6 7 8 */ typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY, LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = BLACK; static int __FOREGROUND = LIGHTGRAY; void textcolor (int letra, int fundo){ __FOREGROUND = letra; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letra + (__BACKGROUND << 4)); } void gotoxy(int x,int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } void adicionar_series(){ textcolor(3,14);/* primeiro cor letra segundo cor fundo */ printf("Adicionando series . . . ! tecle"); getch(); } void editar_series(){ textcolor(12,15); printf("Editando series . . . ! tecle"); getch(); } void remover_series(){ textcolor(15,12); printf("Removendo Series . . . ! tecle"); getch(); } void listar_series(){ textcolor(10,6); printf("Listando Series . . . ! tecle"); getch(); } void pesquisar_series(){ textcolor(15,0); printf("Pesquisando Series . . . ! tecle"); getch(); } void sair(){ textcolor(11,3); gotoxy(0,20); printf("Saindo . . . ! tecle\n\n"); getch(); textcolor(7,0); exit(0); } int main(){ int li=1,tecla; setlocale(LC_ALL,""); do{ textcolor(7,0); system("cls"); printf("\t\tMENU\n"); printf("\t1 - ADICIONAR SÉRIES\n"); printf("\t2 - EDITAR SÉRIES\n"); printf("\t3 - REMOVER SÉRIES\n"); printf("\t4 - lISTAR SÉRIES\n"); printf("\t5 - PESQUISAR SÉRIES\n"); printf("\t6 - SAIR\n"); printf("\t OPÇÃO: "); gotoxy(4,li); printf("->"); gotoxy(79,24); do{ tecla=0; if(kbhit()){ tecla = getch(); gotoxy(4,li); printf(" "); if(tecla==224) tecla = getch(); if(tecla == 72) li--; else if(tecla == 80) li++; if(li > 6) li=1; else if(li < 1) li=6; gotoxy(4,li); printf("->"); gotoxy(79,24); /* se não quiser que cursor fique piscando ali */ } }while(tecla != 13); system("cls"); switch(li){ case 1: adicionar_series(); break; case 2: editar_series(); break; case 3: remover_series(); break; case 4: listar_series(); break; case 5: pesquisar_series(); break; case 6: sair(); } }while(li != 6); textcolor(7,0); return 0; }
  5. @edifesf10 obrigado pela ajuda , com sua dica consegui fazer funcionar , no netbeans comecei criando um novo projeto java / applicação java e desmarquei a caixa de criar classe principal , depois criei um novo arquivo e escolhi forms GUI Swing e form Jframe coloquei o nome e finalizar e depois coloquei um jpanel e um Jbutton e cliquei no Jbutton com o botão direito do mouse e modifiquei o nome da variável para b1 , e coloquei esse código e modifiquei o nome da classe e pacote para que fique igual ao que eu coloquei , então o código ficou assim : package pac.timer_3; import javax.swing.Timer; import javax.swing.JButton; import javax.swing.JFrame; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; public class classe_timer_3 extends javax.swing.JFrame { public classe_timer_3() { initComponents(); objTimer = new Timer(((100)), taskPerformer); objTimer.setRepeats(true); objTimer.start(); } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax.swing.JPanel(); b1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); b1.setText("botão"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(b1) .addContainerGap(329, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addContainerGap(195, Short.MAX_VALUE) .addComponent(b1) .addGap(100, 100, 100)) ); 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.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); pack(); }// </editor-fold> ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { b1.setLocation(x,y); x += 10; if(x == 100) y = 80; else if(x == 200) y = 50; else if(x == 350){ objTimer.stop(); x = 0; } } }; static int x,y=100; Timer objTimer; public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(classe_timer_3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(classe_timer_3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(classe_timer_3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(classe_timer_3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new classe_timer_3().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton b1; private javax.swing.JPanel jPanel1; // End of variables declaration }
  6. @De Los Santos não sei que erro é esse , mas você já tentou deletar a pasta onde está essa versão antiga ?
  7. @Joao Pedro Martins de Paula tente instalar o netbeans , ele eh bom e nunca deu. problemas , eu apenas instalei o netbeans e a jdk e funcionou bem. .
  8. @sdadsd o código do @Lucas Da Silva Aleixo está certo , testei aqui e ele funciona bem , provável que tenha algum erro no seu código , se você puder poste seu código para que possamos ver como está e em que podemos ajudar .
  9. @Hello_World na passagem de parâmetros não precisa informa o tamanho do vetor , coloque essa linha assim : selection_sort(num/*[i]*/, 5);
  10. @tiiaguiinho seu código está bom , estava com um erro na abertura do arquivo , e para gravar tem outros modos , então seu código com algumas modificações pode ser assim : #include <iostream> #include <string.h> #include <windows.h> #include <ctype.h> #include <stdlib.h> #include <time.h> #include <conio.h> /* 0 1 2 3 4 5 6 7 8 */ typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY, /* nome e números das cores */ LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/ static int __FOREGROUND = LIGHTGRAY; void textcolor (int letras, int fundo){/* primeiro a letra segundo a cor de fundo */ __FOREGROUND = letras; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letras + (__BACKGROUND << 4)); } using namespace std; struct Pessoa{ int codigoPessoa; char cpf[15]; // NNN.NNN.NNN-NN char nome[30]; int idade; }; Pessoa p1,lPessoas[5]; // 2 variaveis do tipo Pessoa FILE * arq; int i,cont; void cadastraPessoa(){ char op='s'; do{ // DADOS DA PESSOA lPessoas[cont].codigoPessoa = rand() % 100; textcolor(14,0); cout<<"informe o cpf ----: "; textcolor(11,0); cin>>lPessoas[cont].cpf; textcolor(14,0); cout<<"informe o nome ---: "; textcolor(11,0); cin>>lPessoas[cont].nome; textcolor(14,0); cout<<"informe a idade --: "; textcolor(11,0); cin>>lPessoas[cont].idade; arq = fopen("pessoa.dat","ab"); // write binario textcolor(15,9); if (arq == NULL){ cout<<"Erro na criacao do arquivo ! "; return ; } // GRAVACAO BINARIA fwrite(&lPessoas[cont], sizeof(struct Pessoa), 1, arq); cout<<"Gravando arquivo . . . . ! "<<endl<<endl; fclose(arq); cont++; // ACRESCENTAR PESSOAS textcolor(14,0); cout<<"Quer Cdastrar Outra Pessoa S/N "; cin>>op; }while(toupper(op) != 'N'); } void listaPessoas(){ int j=0; arq = fopen("pessoa.dat","rb"); // read binario textcolor(15,9); if (arq == NULL){ cout<<"Erro na abertura do arquivo ! "; return ; } cout<<"Lendo arquivo . . . . ! "<<endl<<endl; textcolor(14,0); while(fread(&lPessoas[j], sizeof(struct Pessoa), 1, arq) > 0){ cout<<"Codigo -: "<<lPessoas[j].codigoPessoa<<endl; cout<<"CPF ----: "<<lPessoas[j].cpf<<endl; cout<<"Nome ---: "<<lPessoas[j].nome<<endl; cout<<"Idade --: "<<lPessoas[j].idade<<endl<<endl; j++; } fclose(arq); cout<<"Tecle"; getch(); } int main(){ int op; // opcao escolhida no menu // MENU do{ system("cls"); textcolor(10,0); cout<< "1. Cadastrar Pessoa"<<endl; cout<< "2. Listar pessoas cadastradas"<<endl; cout<< "3. Encerrar o Programa"<<endl; cout<< " escolha opcao: "; cin>>op; switch(op){ case 1: cadastraPessoa(); break; case 2: listaPessoas(); break; case 3: textcolor(12,14); cout << "\nEncerrando o programa . . . ! \n\n"; break; } }while(op != 3); textcolor(7,0); return 0; }
  11. @tiiaguiinho para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres como os [ i ] que sumiram do seu código , e seu código está bom , funciona bem , mas você está gravando a mesma informação 4 vezes , mas de qualquer forma seu código com algumas modificações ficaria assim : #include <iostream> #include <string.h> using namespace std; struct Pessoa{ int codigoPessoa; char cpf[15]; // NNN.NNN.NNN-NN char nome[30]; int idade; }; Pessoa p1,listaPessoas[5]; // 2 variaveis do tipo Pessoa FILE * arq; int i; int cadastraPessoa(){ Pessoa p1, listaPessoas[5]; // 2 variaveis do tipo Pessoa /*FILE * arq; int i;*/ // DADOS DA PESSOA p1.codigoPessoa = 123; strcpy(p1.cpf,"123.456.789-00"); strcpy(p1.nome,"Marcos"); p1.idade = 20; arq = fopen("pessoa.dat","wb"); // write binario if (arq == NULL) { cout << "Erro na criacao do arquivo!"; return 0; } // gravacao binaria fwrite(&p1, sizeof(struct Pessoa), 1, arq); cout << "Gravando arquivo...." << endl << endl; fclose(arq); // ACRESCENTAR PESSOAS arq = fopen("pessoa.dat","ab"); // write binario if (arq == NULL) { cout << "Erro na criacao do arquivo!"; return 0; } fwrite(&p1, sizeof(struct Pessoa), 1, arq); cout << "Gravando arquivo...." << endl << endl; fwrite(&p1, sizeof(struct Pessoa), 1, arq); cout << "Gravando arquivo...." << endl << endl; fwrite(&p1, sizeof(struct Pessoa), 1, arq); cout << "Gravando arquivo...." << endl << endl; fclose(arq); return 0; } int listaPessoas2(){ arq = fopen("pessoa.dat","rb"); // read binario if (arq == NULL) { cout << "Erro na abertura do arquivo!"; return 0; } fread(&listaPessoas[0], sizeof(struct Pessoa), 4, arq); cout << "Lendo arquivo...." << endl << endl; for(i=0;i<4;i++) { cout<<"Codigo ----: "<<listaPessoas[i].codigoPessoa<<endl; cout<<"CPF -------: "<<listaPessoas[i].cpf<<endl; cout<<"Nome ------: "<<listaPessoas[i].nome<<endl; cout<<"Idade -----: "<<listaPessoas[i].idade<<endl<<endl; } fclose(arq); return 0; } int main(){ int opc; // opcao escolhida no menu do { cout<<"1. Cadastrar pessoa"<<endl; cout<<"2. Listar pessoa cadartrada"<<endl; cout<<"3. Encerrar o programa"<<endl; cout<<" escolha opcao: "; cin>>opc; switch(opc){ case 1: cadastraPessoa(); break; case 2: listaPessoas2(); break; case 3: cout<<"Encerrando o programa . . . !"; break; } }while(opc != 3); return 0; }
  12. @Adrielle Morais para posta seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres como os [ i ] que sumiram do seu código , para colorir a fonte você precisa criar uma função que faça isso pois na linguagem c existe poucos comandos que faça isso , então seu código com algumas modificações pode ser assim : #include <stdio.h> #include <locale.h> #include <conio.h> #include <stdlib.h> #include <windows.h> #include <time.h>/*///para usar a hora*/ #define n 5 /* 0 1 2 3 4 5 6 7 8 */ typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY, LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = BLACK; static int __FOREGROUND = LIGHTGRAY; void textcolor (int letra, int fundo){/*para mudar a cor de fundo mude o background*/ __FOREGROUND = letra; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letra + (__BACKGROUND << 4)); } void mostrar_tabuleiro(int mat[5][5]); int main (){ int mat[n][n],i,j,linha,coluna,tiros=0,acertos=0; setlocale(LC_ALL,""); srand(time(NULL)); /*/// 1º passo ---- zerar matriz*/ for(i=0;i<n;i++){ for(j=0;j<n;j++){ mat[i][j] = 0; } } /*/// 2º passo ---- posicionar lanchas*/ /* zero será água e coloque 1 para lancha, 2 para submarino e etc . . . */ for(i=1;i<=5;i++){ do{ linha = rand() %5; coluna = rand() %5; }while(mat[linha][coluna] == 1); mat[linha][coluna] = 1; } /*///mostrar matriz*/ for(i=0;i<n;i++){ printf("\n"); for (j=0;j<n;j++){ printf(" %i",mat[i][j]); } } getch(); /*/// 3º passo ---- jogar*/ while (acertos < 5){ mostrar_tabuleiro(mat); tiros++; /*printf("\n");*/ printf("\n\nqual linha você deseja atacar (0-4): "); scanf("%d",&linha); printf("qual coluna você deseja atacar (0-4): "); scanf("%d",&coluna); if(mat[linha][coluna] == 0){ mat[linha][coluna] = 2; } else{ if(mat[linha][coluna] == 1){ mat[linha][coluna] = 3;/* acertou em algum objeto */ acertos++; } } printf("\ntiros -----: %d",tiros ); printf("\nacertos ---: %d",acertos); } return 0; } void mostrar_tabuleiro(int mat[5][5]){ int i,j; printf("\n"); for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(mat[i][j]==1){/* 1 é lancha */ textcolor(14,0);/* pode usar número da cor ou nome da cor */ printf("L "); } else{ if(mat[i][j]==0){/* zero é Água */ textcolor(11,0); printf(". "); } else{ if(mat[i][j]==3){ textcolor(12,0); printf("X "); } } } } printf("\n"); } textcolor(7,0); }
  13. @sdadsd para postar seu código seria melhor você postar seu código em forma de texto pois com imagem não tem como copiar então use o botão <> que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres , e essa variável TS não pode ficar dentro de parênteses como está não sei bem o motivo , mas o que importa é que para rodar seu código remova os parênteses dessa variável .
  14. @ytalopaulo_ você pode colocar um valor alto ( 1000 ) , ali no vetor na struct ao invés de usar uma variável e quando for usar em alguma função use normalmente .
  15. @sdadsd essa parte do seu código está certa , provavelmente o erro seja em outro comando , se você puder poste o código todo , assim poderemos ver onde está o erro .
  16. devair1010

    C Criar aqruivo.dat em c

    @cgm2k7 pelo que sei um arquivo na linguagem c nao.guarda imagens. mas apenas caracteres como letras e numeros , então no arquivo voce pode guardar o nome da pasta onde estão guardadas essas imagens. .
  17. @Piaoquadrado esse jogo tibia tem um grafico muito bom , e se voce quer criar grficos no c++ então voce precisa instalar a biblioteca Alegro , ou usar a API. Do Windows junto com o codeblocks , e voce disse que ja usou varios programas , então será que voce ja usou o blitz basic 3D ? ele eh bom para criar jogos com graficos e eh facill pois ele usa a linguagdm basic. . aqui informações sobre a API do Windows : http://vulms.vu.edu.pk/Courses/CS410/Downloads/Charles Petzold - Programming Windows - 5th Ed.pdf link para codeblocks e biblioteca Allegro : CodeBlocks: http://www.codeblocks.org/downloads/26 Allegro 4.4.2: https://www.allegro.cc/files/?v=4.4 codigo Para teste: http://pastebin.com/3gRrafSU
  18. @edifesf10 muito obrigado pela ajuda , valeu mesmo ! ainda estou no começo dos estudos desse java e com seu código deu pra entender melhor como construir códigos , mas não sei no que errei pois o botão está pulando do local onde está para o ponto onde clico com o mouse , e não estou vendo o botão ir deslizando vagarosamente de onde ele está até o ponto clicado no Jlabel , creio que precisa de uma função que fique sendo executada o tempo todo e dentro dessa função irá mover o botão lentamente até o ponto clicado , por favor dê uma olhada no código que fiz e veja no que errei . fiz como você explicou , criei um novo projeto e desmarquei a caixa de criar classe java depois criei um novo projeto com um JFrame e nele coloquei um jlabel e um botão e usei esse código aqui : package meu.botaoSaltitante; import java.awt.Point; public class HumJFrame extends javax.swing.JFrame { public HumJFrame() { initComponents(); } public void mouseposicao () { int x = 0, y = 0; Point p = java.awt.MouseInfo.getPointerInfo().getLocation();//Captura o click x = p.x; //passa posição para as variaveeis y = p.y; //passa posição para as variaveeis } @SuppressWarnings("unchecked") private void lb1MouseClicked(java.awt.event.MouseEvent evt) { b1.setLocation(evt.getX(),evt.getY()); int z[] = {}; //Array para redirecionar de acordo com o movimento int x = z[0]; //Repassa o valor para y int y = z[1]; //Repassa o valor para y mouseposicao(); //chama função que faz a movimentação de b1 } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new HumJFrame().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton b1; private javax.swing.JLabel lb1; // End of variables declaration }
  19. @edifesf10 @edifesf10 obrigado , seu código ficou bom e funcionou bem , mas será que tem como fazer o botão se mover um pixel de cada vez para que ele se mova devagar e não de um lugar para o outro de uma vez ? pois o que preciso mesmo é ver o botão se deslocando de onde ele está e indo para o ponto onde clico com o mouse , e se é possível não ter esse botão 2 e ao clicar na janela o botão b1 se mover para lá . como seria a função que faz o objeto ficar se movendo . agradeço desde já .
  20. @João Pedro Gomes poste o código que você já fez desse seu projeto para que possamos ver como está e em que podemos ajudar .
  21. @RIbeiroooo0 experimente instalar a versao 16.01 que eh boa e funciona muito bem sem precisar configurar nada , basta instalar e ele ja funciona bem esse eh o que eu uso e nunca deu problema. .
  22. @alecounter sim , funciona sim para. C c++ fortran. Open gl ,mas voce precisa escolher em qual linguagem voce quer na hora de criar o codigo então escolha file / new / file e ai escolha qual lingugem clicando duaz vezes nela e ai digite ou cole o seu codigo .
  23. boa noite alguém pode me ajudar aqui , estou querendo fazer uma interface na linguagem java que mova um botão em tempo de execução assim que clicar no outro botão então preciso também pegar a posição X Y do mouse onde clicou para que o botão se mova até esse ponto . tenho esse código que funciona , criado no netbeans , comecei clicando em novo projeto e escolhi java / aplicação java e desmarquei a caixa de criar classe principal, depois criei um novo arquivo clicando em java / classe java e em finalizar , mas o botão só se move um pouco a cada clicada no outro botão e eu queria que ele se movesse até o ponto onde clicou com o mouse : /* criado com ( java -- aplicação java ) e desmarcado a caixa criar classe e criado um arquivo novo com ( java -- classe java ) . */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class criar_botoes_clase extends JFrame implements ActionListener { JButton b1, b2 ; public criar_botoes_clase() //apenas cria os objetos e só vem aqui huma vez { setTitle("Acrescentando botões");//titulo da janela setBounds(400,150,500,500); //tamanho e posição da janela b1 = new JButton(); //um botão b1.setText("Sair"); //escrito no botao b1.setSize(100,25); //tamabho e altura do botão b1.setLocation(x,200); //posição do botão na janela b1.setBackground(Color.orange); //cor de fundo do botão b1.setForeground(Color.blue); b1.setFont(new Font("Sans Serif",Font.BOLD,14)); /*b1.setBorder(BorderFactory.createBevelBorder(1,Color.white,Color.black));*/ b1.setEnabled(true); b1.addActionListener(this); b1.setMnemonic(KeyEvent.VK_S); //igual a utilizar ALT+S b2 = new JButton(""); /*Cadastrar*/ b2.setSize(100,25); b2.setLocation(200,100); b2.setFont(new Font("ScriptS",Font.ITALIC,12)); /*b2.setBorder(BorderFactory.createLineBorder(Color.black,2));*/ b2.setEnabled(true); b2.addActionListener(this); b2.setMnemonic(KeyEvent.VK_C); // igual a utilizar ALT+C getContentPane().setLayout(null); getContentPane().add(b1); getContentPane().add(b2); } public void actionPerformed(ActionEvent e)//ações de cada Botão { x+=10; //toda vez que clicar em um botão ele vem aqui if(x > 390)x=0; b1.setLocation(x,200); //posição do botão na janela if(e.getSource()==b1) { System.exit(0); } if(e.getSource()==b2) { /*JOptionPane.showMessageDialog(null, "clicou no botão 2");*/ } } static int x=50,y=0; public static void main (String arg[]) { //não fica em loop aqui dentro não JFrame Ex = new criar_botoes_clase(); Ex.setVisible(true); } }
  24. devair1010

    C++ Exibir na tela a/b

    @phk1 desse jeito nao funciona , coloque assim Cout<<a/b;
  25. @Celestino Alona parece que você está rodando um projeto de console no codeblocks e por isso esse comando não está funcionando , experimente criar um arquivo simples clicando em file / new / file e nessa janela clique duas vezes no c/c++ e na próxima janela escolha c e na próxima clique nesse botão e coloque o nome do programa . e clique em finish , testei aqui e funciona .

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!