Actualize a JScrollPane
Hi everyone in the forum,
i am developing a screen with a JScrollPane, which contains some line of text formatted as radioButtons. The point is that when i am trying to actualize the contain of the ScrollPane, nothing happens, i mean, i can see no change, i am doing sometrhing wrong, any idea? The function actualize is called when a button in the app is clicked, meanwhile the collisionConfiguration is called just the first time when the window is created
Many Thanks
privatestatic JComponent collisionConfiguration(String[] collision,int selected){
JPanel collisionPanel=new JPanel(new BorderLayout());
//box which will content the isotopes as checkboxes
Box box = Box.createVerticalBox();
JScrollPane pScroll =new JScrollPane(box, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
actualizeCollisions(collision, selected);
collisionPanel.add(scrollPaneForListBox, BorderLayout.CENTER);
collisionPanel.setBorder(BorderFactory.createTitledBorder("Parameters"));
return collisionPanel;
}
privatestaticvoid actualizeCollisions(String[] collision,int selected){
if (scrollPaneForListBox !=null){
scrollPaneForListBox.removeAll();
}
collision= configColisiones(collision);
if (collision.length != 0){
final JList listCollisions =new JList( createDataCollisions(collision) );
listCollisions.setCellRenderer(new RadioListRender());
listCollisions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
listCollisions.setBorder(new EmptyBorder(0,4,0,0));
CheckableItem item = (CheckableItem)listCollisions.getModel().getElementAt(selected -1);
item.setSelected(true);
listCollisions.addMouseListener(new MouseAdapter(){
publicvoid mouseClicked(MouseEvent e){
final String collision_selected;
int index = listCollisions.locationToIndex(e.getPoint());
CheckableItem item;
//deselect all the radio buttons
for (int i=0;i<listCollisions.getModel().getSize();i++){
item = (CheckableItem)listCollisions.getModel().getElementAt(i);
item.setSelected(false);
}
listCollisions.repaint();
//select the one we are interested in
item =(CheckableItem)listCollisions.getModel().getElementAt(index);
item.setSelected(! item.isSelected());
collision_selected = String.valueOf(index);
Rectangle rect = listCollisions.getCellBounds(index, index);
listCollisions.repaint(rect);
}
});
//Add the scrollbar in case there were too many isotopes
scrollPaneForListBox.add(listCollisions);
scrollPaneForListBox.repaint();
}
}
>

