Ik heb een JFrame met daarin links een JScrollPane en rechts 3 JPanel's onder elkaar. Nu is het zo dat als ik een item uit het ScollPane kies, dat hij één JPanel moet updaten met nieuwe gegevens.
Dat doet hij ook, althans... de goede methodes voert hij uit. Echter laat hij niet de nieuwe informatie zien. Nu weet ik dat je het jpanel moet updaten, maar zowel met updateUI() en repaint() blijft hij de oude informatie tonen.
Dit is de huidige code: (jaja, ik weet dat de naamgeving bagger is, maar at los ik later nog even op.)
Hij voert dus de de constructor uit en meteen (van de parent-klasse) ook showToets() waarmee de gegevens voor het scollpane worden ingeladen. Op het moment dat er een waarde geselecteerd wordt, moet hij valeChanged uitvoeren, ook dat gebeurt en vervolgens dus dat paneltje refreshen.
hiëarchie van JPanels:
Dat doet hij ook, althans... de goede methodes voert hij uit. Echter laat hij niet de nieuwe informatie zien. Nu weet ik dat je het jpanel moet updaten, maar zowel met updateUI() en repaint() blijft hij de oude informatie tonen.
Dit is de huidige code: (jaja, ik weet dat de naamgeving bagger is, maar at los ik later nog even op.)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| public class PanelList extends JPanel implements ListSelectionListener {
private DefaultListModel model;
private JPanel overzicht;
private BorderLayout layout;
private JScrollPane scrollPane;
private JList listbox;
private JPanel answerPane, viewDocent, viewStudent, viewScore;
private Toets toets;
/** Creates a new instance of PanelList */
public PanelList() {
this.setLayout( new BorderLayout() );
this.buildList();
this.buildOverview();
this.setVisible(false);
this.setSize(new Dimension(800, 600));
}
public void showToets(Toets toets){
this.toets = toets;
viewDocent = new JPanel();
answerPane.add(viewDocent());
viewStudent = new JPanel();
answerPane.add(viewStudent(0));
viewScore = new JPanel();
answerPane.add(viewScore(0));
}
public JPanel viewStudent(int student){
viewStudent.setSize(700, 150);
TitledBorder border = BorderFactory.createTitledBorder("Student Antwoorden");
border.setTitlePosition(TitledBorder.TOP);
viewStudent.setBorder(border);
return viewStudent;
}
// Handler for list selection changes
public void valueChanged( ListSelectionEvent event )
{
System.out.println(listbox.getSelectedIndex());
viewStudent(listbox.getSelectedIndex());
viewStudent.updateUI();
}
} |
Hij voert dus de de constructor uit en meteen (van de parent-klasse) ook showToets() waarmee de gegevens voor het scollpane worden ingeladen. Op het moment dat er een waarde geselecteerd wordt, moet hij valeChanged uitvoeren, ook dat gebeurt en vervolgens dus dat paneltje refreshen.
hiëarchie van JPanels:
code:
1
2
3
4
5
6
7
8
9
10
11
| PanelList
|
-- JScrollPane
|
-- answerPane
|
-- viewDocent
|
-- viewStudent
|
-- viewScore |
[ Voor 31% gewijzigd door RickyHeijnen op 21-08-2006 17:31 ]