Ich habe folgenden von Netbeans automatisch generierten Code:
[Java]
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, 337, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSlider2, javax.swing.GroupLayout.PREFERRED_SIZE, 337, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel8)))
.addContainerGap(53, Short.MAX_VALUE))
);
[/Java]
Ich möchte nun statt der fixen Anzahl an Labels und Sliders gerne beim öffnen des Fensters bzw. des Tabs via Event eine dynamische Anzahl an Labels und Sliders erzeugen. Ich hab schon begonnen:
[Java]
if(this.jTabbedPane1.getSelectedIndex() == 1)
{
// First: Remove all elements in the Panel
jPanel2.removeAll();
// Second: Get all Activities and draw a Scrollbar for every activity
ArrayList<Activity> all_activities = TRecApp.getApplication().getManager().getActiveUser().getActions().getActivities();
jLabelActivity = new javax.swing.JLabel[all_activities.size()];
jScrollActivity = new javax.swing.JScrollBar[all_activities.size()];
for(int i = 0; i < all_activities.size(); i++)
{
jLabelActivity = new javax.swing.JLabel();
jScrollActivity = new javax.swing.JScrollBar();
}
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
for(Activity a : all_activities)
{
// initialize all jlabels and buttons and add to the jPanel2Layout... but how?
}
[/Java]
Die idee ist, dass sobald der User auf den jTabbedPane1 klickt das Panel geleert wird und anschließend ein Satz von Einstellungen als Label und Slider dargestellt werden:
Lable (text der einstellung beschreibt) Slider ( von 0 - 100)
Lable (text der einstellung beschreibt) Slider ( 0 - 100 )
Lable (text der einstellung beschreibt) Slider ( 0 - 100 )
... usw. von 0 bix x mal
Hat jemand sowas schonmal gemacht oder kann mir einen Tipp geben, wie ich es am besten angehe?
Grüße, Rain
[Java]
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, 337, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSlider2, javax.swing.GroupLayout.PREFERRED_SIZE, 337, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel8)))
.addContainerGap(53, Short.MAX_VALUE))
);
[/Java]
Ich möchte nun statt der fixen Anzahl an Labels und Sliders gerne beim öffnen des Fensters bzw. des Tabs via Event eine dynamische Anzahl an Labels und Sliders erzeugen. Ich hab schon begonnen:
[Java]
if(this.jTabbedPane1.getSelectedIndex() == 1)
{
// First: Remove all elements in the Panel
jPanel2.removeAll();
// Second: Get all Activities and draw a Scrollbar for every activity
ArrayList<Activity> all_activities = TRecApp.getApplication().getManager().getActiveUser().getActions().getActivities();
jLabelActivity = new javax.swing.JLabel[all_activities.size()];
jScrollActivity = new javax.swing.JScrollBar[all_activities.size()];
for(int i = 0; i < all_activities.size(); i++)
{
jLabelActivity = new javax.swing.JLabel();
jScrollActivity = new javax.swing.JScrollBar();
}
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
for(Activity a : all_activities)
{
// initialize all jlabels and buttons and add to the jPanel2Layout... but how?
}
[/Java]
Die idee ist, dass sobald der User auf den jTabbedPane1 klickt das Panel geleert wird und anschließend ein Satz von Einstellungen als Label und Slider dargestellt werden:
Lable (text der einstellung beschreibt) Slider ( von 0 - 100)
Lable (text der einstellung beschreibt) Slider ( 0 - 100 )
Lable (text der einstellung beschreibt) Slider ( 0 - 100 )
... usw. von 0 bix x mal
Hat jemand sowas schonmal gemacht oder kann mir einen Tipp geben, wie ich es am besten angehe?
Grüße, Rain