Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96

    [Java] sfondi trasparenti

    Ciao a tutti,
    premetto che sono una programmatrice C# e non conosco java, ma attualmente mi è stato dato il compito di realizzare un software per il quale la scelta più opportuna come linguaggio è sicuramente JAVA. Così vorrei cogliere la palla al balzo per vedere di riuscire a fare qualcosa in questo linguaggio.
    Devo realizzare un software che permetta di compilare e stampare delle etichette tipo quelle da mettere sulle pulsantiere dei citofoni. Quindi l'utente dovrà scegliere quale tipo di etichetta gli interessa, quindi dovrà visualizzarla sullo schermo (una o più di una secondo quanto richiesto dall'utente) e dovrà poi poterci scrivere i nomi dentro, scegliendo anche il tipo di carattere, a compilazione finita dovrà stampare tutte le etichette.
    Sarà un programma scaricabile da internet (per questo non dovrà essere molto pesante e per questo il Framework di Visual Studio è negativo), quindi ho pensato di fare qualcosa che sia utilizzabile da browser in locale una volta scaricato quanto necessario. Inizialmente ho provato pagine HTML, ma non mi bastano, ho bisogno di qualcosa in più e ho quindi pensato ad un Applet che gira per ogni etichetta. Un applet che carichi il disegno (già in memoria) dell'etichetta scelta dall'utente e che renda disponibile sopra questa un campo testo completamente invisibile in cui non compaiano nemmeno le scrollbar in cui l'utente può scrivere. Alla sceltadei font e alla stampa ci penserò dopo.
    Voi potete indicarmi/consigliarmi quali sono gli oggetti di java che potrei utilizzare per fare questa cosa? Almeno in modo indicativo onde evitare di iniziare a studiare un oggetto che alla fine poi scopro non potrà mai essere trasparente!!

    conto sul vostro aiuto
    ciao
    Sili

  2. #2
    Bhe ci sarebbe da lavorarci un po su, che tu scelga un applet o un applicazione il risultato non cambia finche' non devi leggere file sul disco.
    Poi dipende a chi e' rivolto il programma, se e' per uso personale una GUI spartana va bene ma se devi fare qualcosa di serio le cose si complicano....
    Riguardo la stampa inizi ad avere a che fare con la serializzazione(altro inferno).
    Se riesci a trovarlo bello e pronto molto meglio!!
    A farlo tu e priva di esperienza in Java....
    Ciao
    Nulla, ma e' sempre qualcosa.

  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    diciamo che ti conviene prima di tutto darti una letta su Java, una letta veloce magari qualche guida in rete(tipo mokabyte), se sai già C# sarà roba da qualche giorno visto che i concetti di .NET sono gli stessi di java, in particolare C# ha una sintassi molto simile.

    Dopo che ti sei un pò orientato ti conviene fare un programma da scaricare ed eseguire sulla macchina, dentro il browser sarebbe complicato gestire la sicurezza, ma neanche troppo se firmi l'applet.

    Gli oggetti che ti servono sono i componenti swing(tutto il package javax.swing) che puoi anche mimetizzarli e non far vedere bordi e differenze di colori, per stampare potresti usare il package java.awt.print

    La stampa penso sia la cosa più complicata, ti posto un esempio che ho trovato e testato e gira bene:

    MindPrint.java:

    codice:
    import java.awt.print.*;
    import java.awt.*;
    
    public class MindPrint implements Printable
    {
    
    public int print(Graphics grap,
     PageFormat pageFormat, int pageIndex) throws PrinterException
    {
     if(pageIndex > 0)
     	return NO_SUCH_PAGE;
    
     System.out.println("getImageableX == " + pageFormat.getImageableX());
     System.out.println("getImageableY == " + pageFormat.getImageableY());
     System.out.println("getImageableWidth == " + pageFormat.getImageableWidth());
     System.out.println("getImageableHeight == " + pageFormat.getImageableHeight());
     
     grap.drawString("Ready to roll out!", (int)pageFormat.getImageableX(), 
       (int)pageFormat.getImageableY()+5);
     grap.setColor(Color.blue);
     grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(), 
       (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());	  
     
     return PAGE_EXISTS;
    
    }
    }

    TestPrint.java

    codice:
    import java.awt.print.*;
    
    public class TestPrint
    {
    
    public static void main(String ag[]) throws Exception
    {
      PrinterJob pj = PrinterJob.getPrinterJob();
      pj.setJobName("MindFlavor's Java test.");
      System.out.println("Job name == " + pj.getJobName());
      System.out.println("User name == " + pj.getUserName());
      pj.printDialog();
      
      pj.setPrintable(new MindPrint());
      pj.print();
      
      System.exit(-1);
    }
    
    
    }

    Tu potresti creare una classe tipo MindPrint e cui passi i dati del disegno e la stringa da scrivere, questi dati li prendi dai tuoi componenti, ad esempio crei tanti pannelli per ogni tipo di etichetta con dentro la textbox mimetizzata, ad ogni componente è associato un oggetto che magari ti crei tu che incapsula i vari dati del disegno e del testo, lo passi a MindPrint che verrà stampato.

    Prova e sappici dire che soluzioni adotterai e che problemi trovi

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    Vi ringrazio molto per le risposte, iniziavo a pensare di aver fatto una domanda troppo stupida e non meritevole di risposta...
    Devo dire che sono un po' spaventata, ma non demorderò, e ci proverò. Mi ci andrà un po' di tempo, anche perchè il tutto succederà parallelamente ad altri tremila lavori e richieste, ma vi farò certamente sapere come andrà a finire, tanto comunque dubito che non avrò bisogno ancora del vostro aiuto...

    grazie e a presto...
    ciao
    Sili

  5. #5
    Dai io sono nuovo in Java ma voglio aiutarti.
    Se mi dici la GUI dell'applicazione principale
    inizio a fornirti il layout e come impostare le varie
    funzionalita'.
    Non so... ad esempio potremmo metterci un ComboBox
    per selezionare diversi formati di stampa.
    Se ti va ci possiamo scambiare le email.
    Ciao
    Nulla, ma e' sempre qualcosa.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    Grazie molte...
    lo scambio di email mi sembra una buona idea la mia è:
    ottosili@yahoo.it

    ora sto uscendo dal lavoro, domani mattina ti scriverò appena arrivo qui nel forum o se vuoi al tuo indirizzo email
    GRAZIE FIN DA ORA!

    sili

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    Ciao ragazzi,
    finalmente sto lavorando a questo lavoro, sono riuscita a realizzare il layout grafico, ma ho trovato due problemi:
    1) ho creato un oggetto graphics per l'immagine della etichetta da visualizzare su un JPane, ma quando chiudo e riapro la finestra, oppure se passo sopra alla mia finestra un oggetto di Windows, le immagini si sporcano, viene tagliata la parte su cui mi muovo o nel caso in cui minimizzo quando riapro non ci sono più le mie immagini, come devo fare? che oggetto devo usare?

    2) vorrei mettere delle informazioni (per esempio il nome del file.gif) relative ad ogni etichetta in un file esterno, avevo pensato ad un xml. Come posso leggere questo file? In giro ho trovato del codice a riguardo, ma mi sembra davvero complesso ed arzigogolato, tanto che credo che se non c'è altra via sia più semplice leggere un file txt nel quale su ogni riga c'è il nome della etichetta, nomefile.gif

    Datemi un aiuto se potete.
    A proposito, ho deciso di programmare con Eclipse, mi è sembrato più semplice di NetBeans e inizio ad abituarmici...

    ciao a tutti
    Sili

  8. #8
    Non hai bisogno di nessun file.txt, inserisci i file.gif in una cartella, il codice Java ti consente con molta facilita' l'accesso ai nomi dei file restituendoti delle stringhe dei relativi nomi,
    tali nomi li puoi caricare dinamicamente in un comboBox, cosi' inserisci tutti i file che desideri nella cartella.
    Utilizzare un file per gestire proprieta' del programma viene in aiuto la classe Properties.
    Cerchero' di fornirti del codice relativo all'argomento via e-mail.
    Ciao
    Nulla, ma e' sempre qualcosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.