[JAVA] JScrollpane werkt niet

Pagina: 1
Acties:

  • CR35
  • Registratie: November 2005
  • Laatst online: 18-11 11:07
Hallo,

Ik ben al een tijdje bezig een probleem op te lossen. Ik had eerste alles zelf geschreven, wat volgens mij zou moeten werken. Dit werkte niet. Toen heb ik hier op GoT rondgekeken en was er een soortgelijke vraag en heb ik hier mijn opbouw aan aangepast. Nu werkt het echter nog steeds niet.

Ik wil een panel hebben waar door heen gescrolled kan worden. Op dit panel worden een aantal Labels met panels die een kleurtje hebben. Dit moet een legenda worden voor een taartdiagram. Dit werkt uitstekend, behalve dat er niet door heen gescrolled kan worden.

Java:
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
        JPanel pLegenda = new JPanel();
        pLegenda.setLayout(null);
        jspLegenda = new JScrollPane(pLegenda);
        int pos = 0;
        for(int i=0; i != (rijen.length); i++) 
        {
            // bepalen van hoogte voor item van leganda.
            pos = i * 30 + 5;
            // labels en panels maken en aan de panel toevoegen die in de Scrollpanel staat
            Panel p = new Panel();
            p.setBounds(20, pos, 20,20);
            p.setBackground(colors[i]);
            Label lbl = new Label();
            lbl.setBounds(50, pos, 200, 20);
            lbl.setText(rijen[i][0] + " - " + rijen[i][1]);
            pLegenda.add(p);
            pLegenda.add(lbl);
        }
        pLegenda.setPreferredSize(new Dimension(330, pos)); 
        pLegenda.revalidate();
        //jspLegenda.add(spLegenda);
        jspLegenda.revalidate();
        jspLegenda.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 
        jspLegenda.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
        //scrollpanel toevoegen aan de panel in het form.
        panelLegenda.add(jspLegenda);


Ik hoop dat het een beetje duidelijk is. Zoniet geef dit dan aan dan kan ik dit aan passen.

  • CR35
  • Registratie: November 2005
  • Laatst online: 18-11 11:07
Ok, de fout zat erin dat ik dus nog zware\awt componenten op lichte\swing componenten gebruikte(de lichte hier, de Jscrollpanel). Deze kon niet correct met de zware componenten overweg. Ik had het niet in deze hoek gezocht omdat de zware componenten goed verschenen, en deze normaal boven op de lichte componenten komen. Ik las ook op pagina´s dat mits je de componenten zag er geen problemen hoefden op te treden. In eerste instantie lukte mij het niet om de layout goed te krijgen met een normale scrollpanel, dit is echter nu wel gelukt. Uiteindelijk heb ik dus voor het gedeelte met de scrollpanel alleen awt componenten gebruikt.


Wat mij betreft kan deze dicht.

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 08:22
Als er geen goede reden voor is moet je AWT en Swing componenten nooit combineren.
Onvoorspelbaar gedrag is zo goed als gegarandeerd.

[ Voor 28% gewijzigd door Kwistnix op 17-01-2007 23:45 ]