Click to See Complete Forum and Search --> : GUI Reflect Changes


Hind
05-27-2006, 02:21 PM
Hi,

I have a set of Lists to be managed using JList manager which contains a next button that display a next List. Althogh the next list will appeared, the other components of the JFrame doesn't affect by this change for example the previous button still embedded and so on.

I tested the other parts by creating a new frame every time the next button is clicked and every thing goes OK.

Thanks,
Hind

Cytael
05-28-2006, 08:39 PM
sounds like you just need to explicitly remove the stuff you don't want shown...aside from that, posting some code snippets would help...

Hind
05-29-2006, 01:07 AM
How can I show the reflect to all other components.

Code:
public void ListChooser( Object[] original, Object[] chosen )
{
this.original = original;
this.chosen = chosen;

if(freq == 0)
getJFrame();
else{
getOriginalList();
// SwingUtilities.updateComponentTreeUI(jFrame);
}
}

private JList getOriginalList() {
if (originalList == null) {
jFrame.setContentPane(getJContentPane());
originalList = new JList();
originalList.setAutoscrolls(true);
}
originalModel = new DefaultListModel();
for( int i = 0; i < original.length ; i++ ){
originalModel.addElement( original[ i ]);
}

// SwingUtilities.updateComponentTreeUI(jFrame);

clusterList.updateUI();

//getJContentPane().revalidate();
getJFrame().setVisible(true);

return clusterList;
}

private JButton getNextButton() {
if (nextButton == null) {
nextButton = new JButton();
nextButton.setText("Next");
final ClusteringDemo cd = new ClusteringDemo();
nextButton.setEnabled(freq < ClusteringDemo.getClustersSize()-1);
if(nextButton.isEnabled()){
nextButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
if(originalModel.getSize()!= 0){
cd.manageClusters(++freq);
clusterLabel.setText(
"Cluster ["+ (freq+1) + " / "+ ClusteringDemo.getClustersSize() +"]" );
}

else
cd.manageClusters(++freq);

}

});
}
}
return nextButton;
}

//At other class
public void manageClusters(int freq){
....
choose.ListChooser(members, nodes);

}