Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Caricare immagini in java

    Ciao a tutti, sto implementando un progetto per l'università di una gestione di uno spogliatoio. Ma non riesco ad arrivare ad un soluzione per un problema che ho...vorrei caricare l'immagine di ogni giocatore, come posso fare?
    Naturalmente l'immagine deve essere salvata in un archivio e si dovrebbe rimuovere e modificare, se il giocatore nella lista cambia o viene cancellato.
    p.s ho dato un occhiata qua, ma non credo ci sia quello cerco http://docs.oracle.com/javase/tutorial/2d/index.html
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Caricare immagini in java

    Originariamente inviato da mrjack85
    vorrei caricare l'immagine di ogni giocatore, come posso fare?
    Per "caricare" una immagine esiste più di un modo ... non uno solo.
    Bisogna valutare: dove deve stare fisicamente la immagine (ed eventualmente in che relazione con la applicazione), con quale API si vuole caricarla e dove si vuole poi visualizzarla.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ti potresti spiegare un pò meglio...l'immagine cmq la volevo inserire in una jtext se è possibile, e deve essere caricata dal mio pc per esempio, per esempio una volta partita un l'applicazione io inserisco i dati, nome, cognome, ruolo ecc ecc e tramite drag adn drop o tramite la finestra Filechoser inserire un immagine. Non so se mi sono spiegato....

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mrjack85
    l'immagine cmq la volevo inserire in una jtext
    jtext ... cosa?

    Originariamente inviato da mrjack85
    deve essere caricata dal mio pc per esempio, per esempio una volta partita un l'applicazione io inserisco i dati, nome, cognome, ruolo ecc ecc e tramite drag adn drop o tramite la finestra Filechoser inserire un immagine.
    Se è l'utente che deve poterla scegliere, allora JFileChooser è la soluzione giusta per la selezione.

    Per il caricamento in generale dipende da:
    - quale/i formato/i devi poter supportare.
    - se il caricamento deve essere sincrono o asincrono.
    - se la immagine deve essere "mutabile" (cioè ottenerne un Graphics per disegnarci sopra).

    Se devi solo visualizzarla e oltretutto in componenti tipo JLabel, JButton o altri che trattano un Icon, allora usa javax.swing.ImageIcon. Vedi i costruttori per il caricamento.

    P.S. ImageIcon per il caricamento si affida al Toolkit di AWT che carica le immagini in modo asincrono e che sono poi "read-only". Il Toolkit però supporta solo GIF, JPEG e da Java 1.3 anche PNG.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da andbin
    jtext ... cosa?

    Se è l'utente che deve poterla scegliere, allora JFileChooser è la soluzione giusta per la selezione.

    Per il caricamento in generale dipende da:
    - quale/i formato/i devi poter supportare.
    - se il caricamento deve essere sincrono o asincrono.
    - se la immagine deve essere "mutabile" (cioè ottenerne un Graphics per disegnarci sopra).

    Se devi solo visualizzarla e oltretutto in componenti tipo JLabel, JButton o altri che trattano un Icon, allora usa javax.swing.ImageIcon. Vedi i costruttori per il caricamento.

    P.S. ImageIcon per il caricamento si affida al Toolkit di AWT che carica le immagini in modo asincrono e che sono poi "read-only". Il Toolkit però supporta solo GIF, JPEG e da Java 1.3 anche PNG.
    Si esatto l'utente deve scegliere l'immagine da caricare! per formati sicuramente jpeg per il resto non mi interessa.
    L'utente tramite l'interfaccia deve avere la possibilità di caricare l'immagine, in questo caso, del giocatore e poi quando si va a consultare l'archivio apparte tutte le caratteristiche del giocatore dovrebbe comparire l'immagine relativa ( ti riferisci a questo?).
    Inoltre ti volevo chiedere dato che le caratteristiche del giocatore dialogano con un database MySql, come posso far salvare queste immagini?

    Grazie mille per i suggerimenti e scusa per la mia "ignoranza" in materia!

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mrjack85
    Si esatto l'utente deve scegliere l'immagine da caricare! per formati sicuramente jpeg per il resto non mi interessa.
    Bene, quindi la scelta con JFileChooser è ok e per il formato JPEG, allora qualunque API del framework scegli, va bene per caricare la immagine.

    Originariamente inviato da mrjack85
    dovrebbe comparire l'immagine relativa ( ti riferisci a questo?).
    Intendevo non tanto dove nella tua interfaccia utente ma in quale componente. I componenti Swing come JLabel o JButton (e qualche altro) gestiscono un Icon la cui implementazione principale è ImageIcon (ripeto: vedi documentazione javadoc).

    Originariamente inviato da mrjack85
    dato che le caratteristiche del giocatore dialogano con un database MySql, come posso far salvare queste immagini?
    Se vuoi salvare la immagine su database, si può benissimo. Sulla tabella dovresti mettere un campo di tipo "BLOB" e a seconda della API che usi per accedere al database (direttamente JDBC? o altro?) vai poi a scrivere lo stream della immagine su quel campo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Leggendo il javadoc sono riuscito a trovare questo, ma cercando di riscrivere il codice il risultato non è quello che cercavo...infatti mi fa la ricerca dell'immagine, viene caricata ma non viene mostrata...viene caricato solo il nome del file ti rimando alla pagina dove ho preso informazioni
    http://docs.oracle.com/javase/tutori...lechooser.html

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da mrjack85
    ma cercando di riscrivere il codice il risultato non è quello che cercavo...
    Continui a denunciare problemi nel codice che scrivi, ma non lo riporti sul forum.

    Metti qui le parti salienti del codice che hai scritto interessate dai problemi che denunci, così è possibile suggerirti come intervenire per correggerle e migliorarle; in caso contrario, si continua a parlare dell'astratto, e riportare collegamenti alla documentazione che ben conosciamo serve a poco.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9

    Re: Moderazione

    Originariamente inviato da alka
    Continui a denunciare problemi nel codice che scrivi, ma non lo riporti sul forum.

    Metti qui le parti salienti del codice che hai scritto interessate dai problemi che denunci, così è possibile suggerirti come intervenire per correggerle e migliorarle; in caso contrario, si continua a parlare dell'astratto, e riportare collegamenti alla documentazione che ben conosciamo serve a poco.
    Ciao alka hai ragione! volevo postare tutto il codice ma è un pò lungo se considero le varie classi ecc ecc....vi posto il codice che ho trovato nel java doc....e che non mi da il risultato voluto

    codice:
    package components;
    
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.SwingUtilities;
    import javax.swing.filechooser.*;
    
    /*
     * FileChooserDemo.java uses these files:
     *   images/Open16.gif
     *   images/Save16.gif
     */
    public class FileChooserDemo extends JPanel
                                 implements ActionListener {
        static private final String newline = "\n";
        JButton openButton, saveButton;
        JTextArea log;
        JFileChooser fc;
    
        public FileChooserDemo() {
            super(new BorderLayout());
    
            //Create the log first, because the action listeners
            //need to refer to it.
            log = new JTextArea(5,20);
            log.setMargin(new Insets(5,5,5,5));
            log.setEditable(false);
            JScrollPane logScrollPane = new JScrollPane(log);
    
            //Create a file chooser
            fc = new JFileChooser();
    
            //Uncomment one of the following lines to try a different
            //file selection mode.  The first allows just directories
            //to be selected (and, at least in the Java look and feel,
            //shown).  The second allows both files and directories
            //to be selected.  If you leave these lines commented out,
            //then the default mode (FILES_ONLY) will be used.
            //
            //fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            //fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    
            //Create the open button.  We use the image from the JLF
            //Graphics Repository (but we extracted it from the jar).
            openButton = new JButton("Open a File...",
                                     createImageIcon("images/Open16.gif"));
            openButton.addActionListener(this);
    
            //Create the save button.  We use the image from the JLF
            //Graphics Repository (but we extracted it from the jar).
            saveButton = new JButton("Save a File...",
                                     createImageIcon("images/Save16.gif"));
            saveButton.addActionListener(this);
    
            //For layout purposes, put the buttons in a separate panel
            JPanel buttonPanel = new JPanel(); //use FlowLayout
            buttonPanel.add(openButton);
            buttonPanel.add(saveButton);
    
            //Add the buttons and the log to this panel.
            add(buttonPanel, BorderLayout.PAGE_START);
            add(logScrollPane, BorderLayout.CENTER);
        }
    
        public void actionPerformed(ActionEvent e) {
    
            //Handle open button action.
            if (e.getSource() == openButton) {
                int returnVal = fc.showOpenDialog(FileChooserDemo.this);
    
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    //This is where a real application would open the file.
                    log.append("Opening: " + file.getName() + "." + newline);
                } else {
                    log.append("Open command cancelled by user." + newline);
                }
                log.setCaretPosition(log.getDocument().getLength());
    
            //Handle save button action.
            } else if (e.getSource() == saveButton) {
                int returnVal = fc.showSaveDialog(FileChooserDemo.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    //This is where a real application would save the file.
                    log.append("Saving: " + file.getName() + "." + newline);
                } else {
                    log.append("Save command cancelled by user." + newline);
                }
                log.setCaretPosition(log.getDocument().getLength());
            }
        }
    
        /** Returns an ImageIcon, or null if the path was invalid. */
        protected static ImageIcon createImageIcon(String path) {
            java.net.URL imgURL = FileChooserDemo.class.getResource(path);
            if (imgURL != null) {
                return new ImageIcon(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }
    
        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event dispatch thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("FileChooserDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            //Add content to the window.
            frame.add(new FileChooserDemo());
    
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    
        public static void main(String[] args) {
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    //Turn off metal's use of bold fonts
                    UIManager.put("swing.boldMetal", Boolean.FALSE); 
                    createAndShowGUI();
                }
            });
        }
    }

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Moderazione

    Originariamente inviato da mrjack85
    codice:
        public void actionPerformed(ActionEvent e) {
    
            //Handle open button action.
            if (e.getSource() == openButton) {
                int returnVal = fc.showOpenDialog(FileChooserDemo.this);
    
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    //This is where a real application would open the file.
                    log.append("Opening: " + file.getName() + "." + newline);
                } else {
                    log.append("Open command cancelled by user." + newline);
                }
                log.setCaretPosition(log.getDocument().getLength());
    Scusa ... ma che cosa pretendi che faccia "da solo" questo codice? Io ti dico: nulla...

    JFileChooser non "apre" un bel niente, ti fornisce solo un java.io.File (una "astrazione" di un pathname) e poi passarlo ad una qualche API del framework (dipende da cosa si deve caricare) per caricare effettivamente la immagine, documento o quello che è ... è compito tuo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.