Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Disegno su JPanel
Forum - Java - Disegno su JPanel

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2240
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:47
Domenica, 21/05/2023
Salve ragazzi.

Mi sto letteralmente esaurendo nel cercare se esiste un modo, per disegnare un JPanel giÓ impostato
nel designer.

Ho cercato su google ma niente da fare. Tutti gli esempi esistenti
dicono di creare un frame a parte via codice e di aggiungere un jpanel sempre via codice.

Mi chiedevo com'Ŕ possibile che in java non esiste  sul pannello o qualsiasi altro controllo la possibilitÓ
di fare un override direttamente su quel controllo e disegnare senza andare ad aggiungerne un altro ricreandolo
come classe.




PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1168
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:44
Mercoledý, 24/05/2023
Se hai aggiunto un Jpanel utilizzando il Design di NetBeans o simile per disegnarci sopra lo devi fare in un evento, come in C#.

Per provare la sintassi di disegno e controllare che i nomi sono riconosciuti, aggiungi un bottone ed inserisci il codice per disegnare nell'evento click.
L'evento click del bottone si attiva cliccandolo due volte da Design, come in .Net

Aggiungi anche un evento mouseDragged al jPanel1 da Design sulla finestra a destra al centro Voci: ProprietÓ, Binding, Events, Code.

Prova il codice:
Codice sorgente - presumibilmente Java

  1. private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  2.     Graphics g= jPanel1.getGraphics();
  3.     g.setColor(Color.green);
  4.     g.fillRect(10,50,40,60);
  5. }                                              
  6.  
  7. private void jPanel1MouseDragged(java.awt.event.MouseEvent evt) {                                    
  8.     Graphics g= jPanel1.getGraphics();
  9.     g.setColor(Color.white);
  10.     g.drawOval(evt.getX(),evt.getY(),2,2);
  11. }



Gli import necessari sono:

import java.awt.Color;
import java.awt.Graphics;

Ultima modifica effettuata da Carlo il 24/05/2023 alle 22:47


in programmazione tutto Ŕ permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2240
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 7:41
Giovedý, 25/05/2023
Non avevo pensato minimamente alla possibilitÓ di sfruttare un evento non del panel stesso.
Grazie per l'illuminazione carlo.

Si sto usando NetBenas.
Con Qt c++ ho dei problemi noiosi con l'uso della libreria mysql.
non andava in nessuno modo.
Non sono riuscito a utilizzare mysql in qt quindi sono passato a java.

Faccio delle prove e ti faccio sapere grazie mille


PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1168
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 14:43
Giovedý, 25/05/2023
Testo quotato

Postato originariamente da Thejuster:
Con Qt c++ ho dei problemi noiosi con l'uso della libreria mysql.
non andava in nessuno modo.
Non sono riuscito a utilizzare mysql in qt quindi sono passato a java.



Hai provato con mariaDB?
https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.3.39 ...

La compatibilitÓ Ŕ al 100% puoi scegliere quali DLL usare sulle impostazioni:
libmariadb.dll
libmysql-6.1.dll
libmysql.dll

mariaDB Ŕ gratis, importa qualsiasi database mysql, salva come mysql e si usa allo stesso modo, solo se usi la GUI l'interfaccia Ŕ disposta in modo diverso ma comunque facilmente interpretabile se si sa cosa si cerca.

Per il tuo problema specifico non so se risolve ma la possibilitÓ di provare con dll diverse potrebbe aiutare.



Ultima modifica effettuata da Carlo il 25/05/2023 alle 14:53


in programmazione tutto Ŕ permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2240
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:40
Giovedý, 25/05/2023
prover˛ anche con MariaDB.

La cosa strana e che ho qualsiasi tipo di Driver MySQL installato.

Mi funziona con .NET, Java e php tranne che con Qt C++.

Il messaggio a chiare lettere Ŕ (QMYSQL not available ) Available Driver QODCB, QODCB3.
Anche usando QODBC niente da fare. non riesce proprio a connettersi al database. 8-|


Devo provare solo con MariaDB sperando che Qt Riesca a fare qualcosa.


PM Quote