Visualizzazione dei risultati da 1 a 10 su 16

Discussione: immagini nelle jTable

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    72
    ho questo:
    import java.sql.*;
    import javax.swing.*;
    import java.io.File;
    import java.io.FileInputStream;
    import javax.swing.ImageIcon;
    import javax.swing.JFileChooser;
    import net.proteanit.sql.DbUtils;
    cosa posso fare(a parte darmi all'ippica XD), ciao grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da ciberp Visualizza il messaggio
    ho questo:
    import java.sql.*;
    import javax.swing.*;
    import java.io.File;
    import java.io.FileInputStream;
    import javax.swing.ImageIcon;
    import javax.swing.JFileChooser;
    import net.proteanit.sql.DbUtils;
    E allora? Non so cosa sia quel net.proteanit.sql.DbUtils. Immagino abbia a che fare con l'accesso a DB ma non posso sapere come e non saprei altro.
    Se hai fatto una query, avrai qualcosa nella colonna del result-set per la immagine, giusto? Cosa?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    72

    non capisco

    Quote Originariamente inviata da andbin Visualizza il messaggio
    E allora? Non so cosa sia quel net.proteanit.sql.DbUtils. Immagino abbia a che fare con l'accesso a DB ma non posso sapere come e non saprei altro.
    Se hai fatto una query, avrai qualcosa nella colonna del result-set per la immagine, giusto? Cosa?
    ciao andbin scusami ma non riesco a capire mi puoi spiegare meglio?, ciao

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da ciberp Visualizza il messaggio
    ciao andbin scusami ma non riesco a capire mi puoi spiegare meglio?, ciao
    Ehm ... dovresti spiegare tu meglio cosa stai usando. Parli di "tabella del database access". Bene, che codice stai usando per leggere materialmente i dati di quella tabella? Puoi mostrare il codice? O non l'hai ancora scritto?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    72

    ti spiego

    ti faccio vedere il codice:
    codice:
    public class aesdJFrame extends javax.swing.JFrame {
    Connection conn=null;
    ResultSet rs=null;
    PreparedStatement pst=null;
    private void UpdateJTable(){
        String sql="select * from Tabella1";
        try{
            pst=conn.prepareStatement(sql);
            rs=pst.executeQuery();
            jTable2.setModel(DbUtils.resultSetToTableModel(rs));
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }}
        public aesdJFrame() {
            initComponents();
        }                    
        private void initComponents() {
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
            txtid = new javax.swing.JTextField();
            cmdsave = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            txtname = new javax.swing.JTextField();
            txtaddress = new javax.swing.JTextField();
            txtage = new javax.swing.JTextField();
            jScrollPane2 = new javax.swing.JScrollPane();
            jTable2 = new javax.swing.JTable();
            jLabel5 = new javax.swing.JLabel();
            txtsearch = new javax.swing.JTextField();
            cmdupdate = new javax.swing.JButton();
            cmddelete = new javax.swing.JButton();
            cmdcombo = new javax.swing.JButton();
            cmbprint = new javax.swing.JButton();
            jLabel6 = new javax.swing.JLabel();
            jButton1 = new javax.swing.JButton();
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                new String [] {
                    "Title 1", "Title 2", "Title 3", "Title 4"
                }
            ));
            jScrollPane1.setViewportView(jTable1);
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowOpened(java.awt.event.WindowEvent evt) {
                    formWindowOpened(evt);
                }
            });
            cmdsave.setText("Save");
            cmdsave.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    cmdsaveMouseClicked(evt);
                }
            });
            jLabel1.setText("id");
            jLabel2.setText("Name");
            jLabel3.setText("Address");
            jLabel4.setText("age");
            jTable2.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                new String [] {
                    "ID", "Name", "Address", "Age", "foto"
                }
            ));
            jTable2.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    jTable2MouseClicked(evt);
                }
            });
            jScrollPane2.setViewportView(jTable2);
            jLabel5.setText("age");
            txtsearch.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyReleased(java.awt.event.KeyEvent evt) {
                    txtsearchKeyReleased(evt);
                }
            });
            cmdupdate.setText("Update");
            cmdupdate.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    cmdupdateMouseClicked(evt);
                }
            });
            cmddelete.setText("Delete");
            cmddelete.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    cmddeleteMouseClicked(evt);
                }
            });
            cmdcombo.setText("Combo");
            cmdcombo.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    cmdcomboMouseClicked(evt);
                }
            });
            cmbprint.setText("Print");
            cmbprint.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    cmbprintMouseClicked(evt);
                }
            });
            jButton1.setText("Seleziona Foto");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 484, Short.MAX_VALUE)
                        .addComponent(jLabel2)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel3)
                                .addComponent(jLabel4))
                            .addGap(18, 18, 18)
                           .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(cmdsave)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel5)
                                    .addGap(18, 18, 18)
                                    .addComponent(txtsearch, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(37, 37, 37)
                                    .addComponent(jButton1))
                                .addGroup(layout.createSequentialGroup()
                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(txtid, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(txtaddress, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(txtage, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(txtname, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(cmbprint)
                                        .addComponent(cmdcombo)
                                        .addComponent(cmddelete)
                                        .addComponent(cmdupdate))))))
                    .addContainerGap())
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(340, 340, 340)
                        .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(38, Short.MAX_VALUE)))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addGroup(layout.createSequentialGroup()
                            .addContainerGap()
                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel1)
                                .addComponent(txtid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cmdupdate))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                          .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel2)
                                .addComponent(txtname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cmddelete))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel3)
                                .addComponent(txtaddress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cmdcombo))
                            .addGap(12, 12, 12)
                          .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel4)
                                .addComponent(txtage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cmbprint))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                          .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(cmdsave)
                                .addComponent(jLabel5)
                                .addComponent(txtsearch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton1)
                            .addGap(14, 14, 14)))
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(214, Short.MAX_VALUE)))
            );
            pack();
        }                        
                                 
     private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
            conn=Connect.ConnectDB();
            UpdateJTable();
        }                                 
        private void jTable2MouseClicked(java.awt.event.MouseEvent evt) {                                     
            int row=jTable2.getSelectedRow();
            txtid.setText(jTable2.getModel().getValueAt(row, 0).toString());
            txtname.setText(jTable2.getModel().getValueAt(row, 1).toString());
            txtaddress.setText(jTable2.getModel().getValueAt(row, 2).toString());
            txtage.setText(jTable2.getModel().getValueAt(row, 3).toString());
        }                                    
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                     
            JFileChooser fc=new JFileChooser();
            fc.showOpenDialog(this);
            File f=fc.getSelectedFile();
            String path=f.getAbsolutePath();
            jLabel6.setIcon(new ImageIcon(path));

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    72
    non ho messo gli import vari che sono quelli messi in precedenza e alcuni comandi tipo il delete e salva e altri comandi vari perchè non centra e per questo l'ho dovuto attaccare tutto, nel comando save che non ho messo c'è una query di insert, il database è access, il programma che uso per programmare in java è netbeans, così intendevi?, ciao grazie

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da ciberp Visualizza il messaggio
    non ho messo gli import vari che sono quelli messi in precedenza e alcuni comandi tipo il delete e salva e altri comandi vari perchè non centra e per questo l'ho dovuto attaccare tutto, nel comando save che non ho messo c'è una query di insert, il database è access, il programma che uso per programmare in java è netbeans, così intendevi?, ciao grazie
    Beh, non serviva tutta la "sbrodolata" di codice fumoso, noioso, illeggibile generato dal IDE .... il punto "chiave" è uno solo:

    Quote Originariamente inviata da ciberp Visualizza il messaggio
    codice:
            jTable2.setModel(DbUtils.resultSetToTableModel(rs));
    Dato il ResultSet (e presumo utilizzando anche i metadati cioè ResultSetMetaData), quel metodo "resultSetToTableModel" va a creare una istanza di un certo table model X che contiene ed "espone" tutti i dati.

    Ripeto che io non conosco quel DbUtils. Le domande potrebbero essere quindi:

    - quale è e come è fatta la implementazione di questo table model? (io non lo so)
    - che cosa "espone" come Class per la colonna della immagine? (io non lo so)
    - come estrae materialmente i dati della immagine? (io non lo so)

    Il punto è tutto lì. Quel DbUtils chi l'ha fatto? (io non lo so). È eventualmente configurabile? (io non lo so).
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.