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"
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?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); } }
Ancora mille grazie a tutti!
Palf

Rispondi quotando

) e l'evento legato ad alcuni di essi dovrà poi causare effetti su un secondo Jpanel (che verrò poi).
) e mi sto applicando su java da meno di dieci giorni (incluso il tempo speso per bestemmiare win8 e Derby - circa 2gg
) ed ammetto che mi piace molto come linguaggio di programmazione

(faccio le cose sempre belle complesse)
