Salve a tutti,
ne approfitto per salutare la comunity dato che sono nuovo, sia di questo forum che di Java.

Pongo subito la mia domanda:
realizzo una gui con la collocazione a runtime di un certo numero di jCheckBox definite da un'interrogazione ad un database, alcune di queste ultime dovrebbero implementare delle "actionPerfomed", ma non so se la cosa sia fattibile e se si, come.

Eternamente grato a chi mi risponderà

Di seguito il codice in questione:


Premetto che le classi di supporto: MyScrollPane e MyPanel non sono altro che delle estensioni delle classiche componenti in cui definisco solo le "preferenze"

codice:
package Scroller;

import java.awt.BorderLayout;
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSeparator;

public class Scroller extends JFrame{
    private Scroller scrollpane;
    static Connection conn;

    
    public Scroller(){
    
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(0, 240, 0));
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        setLocation(600, 10);
        setMinimumSize(new java.awt.Dimension(300, 700));
        setPreferredSize(new java.awt.Dimension(320, 700));
        this.setVisible(true);
    }
    
    public static void main(String[] args) throws SQLException, ClassNotFoundException{
        Scroller scrollpane = new Scroller();
        
        MyPanel p = new MyPanel();
        MyScrollPane sp = new MyScrollPane(p);
        ResultSet rs=null;
        Statement st=null;
/*
 *
 * Database interrogation and connection
 *
 */        
        String query="select name from base;";
        String query2="select name from extra;";
       
        Class.forName("org.sqlite.JDBC");
        conn=DriverManager.getConnection("jdbc:sqlite:optionals.sqlite");        

        st = conn.createStatement();
        rs = st.executeQuery(query);
/*-- END DB SECTION --*/        
        
/*-- COMPONENT POSITIONING --*/ 
    //BASE COMPONENT
    //BASE CONFIGURATION LABEL    
        JLabel base=new JLabel("Base Configuration:", JLabel.LEFT);
        base.setFont(new Font("Tahoma",Font.BOLD,12));
        base.setForeground(new java.awt.Color(38, 172, 210));
        p.add(base);
    //jCHECKBOX LIST
        while(rs.next())
        {
            String var1 = rs.getString("name");
            p.add(new JCheckBox(var1));
        } 
        JSeparator jsep=new JSeparator();
    //END BASE COMPONENT
    //SEPARATOR
        p.add(jsep);
    //EXTRA COMPONENT
    //EXTRA COMPONENT LABEL
        JLabel extra=new JLabel("Extra Optionals:", JLabel.LEFT);
        extra.setFont(new Font("Tahoma",Font.BOLD,12));
        extra.setForeground(new java.awt.Color(38, 172, 210));
        p.add(extra);
    //REDEFINITION OF QUERY
        rs = st.executeQuery(query2);
    //jCHECKBOX LIST
        while(rs.next())
        {
            String var1 = rs.getString("name");
            p.add(new JCheckBox(var1));
        }       
    //END BASE COMPONENT
        
    //ADDING SCROLLPANE TO jFRAME
        scrollpane.add(sp, BorderLayout.CENTER);    
    }
}
Domanda strana: Durante l'esecuzione mi si apre la finestra ma le componenti appaiono solo se compio un'azione tipo resize sulla finestra stessa. Da cosa dipende?

Ancora mille grazie a tutti!
Palf