Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con inserimento immagini

  1. #1

    Problema con inserimento immagini

    Buonasera,
    Sto avendo un problema enorme da tre giorni e non riesco a risolverlo
    Dovrei inserire un immagine in una cartella chiamata /risorse , contenuto nella src di un file eseguibile java.
    Questi sono i vari codici che ho utilizzato


    Parte di codice della classe "FrameInserisciDisciplina
    # sfoglia.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {
    {
    JFileChooser fc = new JFileChooser();
    int sel = fc.showOpenDialog(frame);
    if (sel == JFileChooser.APPROVE_OPTION) {

    pathprecedente=(fc.getSelectedFile().getPath());
    nomefile=(fc.getSelectedFile().getName());
    percorso =("risorse");
    path=percorso+"/"+nomefile;

    immagine.setText(nomefile);


    }}}});


    JPanel PanelBottom = new JPanel();
    PanelBottom.setLayout(new GridBagLayout());
    PanelBottom.setBackground(new Color (255,185,0));

    JButton btninsdisc = new JButton(im);
    JLabel lbl= new JLabel();

    VariListener.SettaBtn(PanelBottom, btninsdisc, lbl,"Inserisci disciplina", 1, 1,im2,true);

    btninsdisc.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

    if(textnomed.getText().isEmpty()||descr.getText(). isEmpty()){
    if(textnomed.getText().isEmpty())
    {
    lblNomeD.setForeground(Color.RED);
    lblNomeD.setFont(new Font("Tahoma", Font.BOLD, 20));
    lblErrNome.setText("Il campo è vuoto");
    lblErrNome.setVisible(true);

    }
    if(descr.getText().isEmpty())
    {
    lblDesc.setForeground(Color.RED);
    lblDesc.setFont(new Font("Tahoma", Font.BOLD, 20));
    lblErrNome2.setText("Il campo è vuoto");
    lblErrNome2.setVisible(true);
    }
    }

    else
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"path im="+path + " nomefile = "+nomefile + " pathprec ="+pathprecedente);
    bool=GestioneDAO.inserimentodisc(textnomed.getText (),descr.getText(),combocal.getSelectedItem().toSt ring(),path,nomefile,pathprecedente);


    if(bool)
    {
    frame.setVisible(false);
    frame.dispose();
    FrameGestione.frame.dispose();
    new FrameGestione();

    }

    }

    })


    ;

    contentPane.add(Panel2,BorderLayout.NORTH);
    contentPane.add(PanelBottom,BorderLayout.CENTER);

    #

    ClassiDAO.InserimentoDisciplina
    #
    public static boolean inserimentodisc ( String dis ,String desc,String cal,String pathim,String nomefile,String pathprec) throws URISyntaxException{


    Connection con = DbConnection.db;
    Connection con2 = DbConnection.db;
    Statement st,st2;
    ResultSet rs;


    try {
    st = con.createStatement();
    st2 = con2.createStatement();


    rs= st.executeQuery("SELECT disciplina.nomedisciplina FROM disciplina WHERE nomedisciplina ='"+dis+"' ; ");

    if(rs.next())
    JOptionPane.showMessageDialog(null, "La disciplina "+dis+" è già stata creata, inserirne un' altra"," ",JOptionPane.WARNING_MESSAGE);

    else{


    VariListener.TraferisciFile(pathprec, pathim);





    }}
    catch (SQLException ex) {
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame, ex);
    }
    return false;


    }


    #

    VariListener.TraferisciFile

    #

    public static void TraferisciFile(String inizio,String fine)
    {
    InputStream inStream = null;
    OutputStream outStream = null;
    try{

    File afile =new File(inizio);
    File bfile =new File(fine);


    URL path=null;
    if(bfile.exists()){

    try
    {
    // mostriamo il percorso al file

    URI pathy = ClassLoader.getSystemResource(fine).toURI();
    path = pathy.toURL();
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"fine" + fine);
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"pathy" + pathy);
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"Il doc si trova nel percorso" + path);

    bfile=new File(path.getFile());
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"Nome del file " + bfile);
    System.out.println("Nome del file " + bfile);
    int i;

    // apriamo lo stream di input...
    InputStream is=path.openStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(is));
    // ...e avviamo la lettura del file con un ciclo
    do
    {
    i=br.read();
    System.out.println((char)i);
    }
    while (i!=-1);
    is.close();
    }

    // intercettiamo eventuali eccezioni
    catch (MalformedURLException e)
    {
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"Attenzione:" + e);

    }
    catch (IOException e)
    {
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"Attenzione IO:" + e);

    } catch (URISyntaxException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"Immagine"+"path im="+fine + " pathprec ="+inizio);
    inStream = new FileInputStream(afile);
    outStream = new FileOutputStream(bfile);
    byte[] buffer = new byte[1024];
    int length;
    //copy the file content in bytes
    while ((length = inStream.read(buffer)) > 0){
    outStream.write(buffer, 0, length);

    inStream.close();
    outStream.close();


    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"successo!");
    }else{
    JOptionPane.showMessageDialog(FrameInserisciDiscip lina.frame,"file inesistente");
    }
    }catch(IOException e){
    e.printStackTrace();
    }
    }
    #
    Da notare la struttura del Progetto


    PorgettoSportivo/src/risorse



    Quale può essere il problema?
    Ci sono altri modi per inserire i file in queste benedette cartelle negli eseguibili?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    357
    Prova a leggere questa discussione di qualche tempo fa, forse è proprio l'approccio che non va bene ...

  3. #3
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Prova a leggere questa discussione di qualche tempo fa, forse è proprio l'approccio che non va bene ...
    Il problema é che mi serve inserirlo all'interno di una cartella fissa,non come si fa in quel codice,che peraltro funziona
    Poi devo poter prelevare da quella cartella i file,e lo so già fare quello
    Ciò che mi manca é l'inserimento nella cartella specifica vicino a src
    Le immagini cosi come altri files devono far parte fissa del programma
    Ultima modifica di matteom96; 24-09-2017 a 22:16

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 © 2017 vBulletin Solutions, Inc. All rights reserved.