I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Som default er alle JComponents gennemsigtige (deres baggrund), og JLabel nedarver fra JComponent. Du kan ændre en JLabels gennemsigtighed med setOpaque(true).
ok. hvis jag setOpaque(true) kan den JLabel få korrekt bakgrund, men det virker ikke på JPanel, den er stadvek grå... =(
og egentligen er det ikke hele problemet, problemet startade då jag førsøkte ændra cursor till Cursor.WAIT_CURSOR, det virker bara ikke någonstans. det var då jag førsøgte med farver och det virkede då ikke heller. Jag tror att nær farverna virker så virker cursors =)
Grunden til at du ikke kan se noget med dit JPanel er at et JPanel ofte er helt fyldt ud med komponenter (labels og knapper etc). Derfor er der ingen baggrund synlig for dit JPanel. Hvis du eksplicit sætter størrelse af dit JPanel til at være for stor, så vil du se baggrundsfarven.
Når du arbejder med cursor skal du gøre det sådan her, og setCursor skal kaldes på den rette komponent ellers kan du ikke se cursoren: Cursor oldCursor = getCursor(); setCursor( new Cursor( Cursor.WAIT_CURSOR ) ); // her foregår der en længere beregning setCursor( oldCursor );
jag er sikker på att min JPanel ikke er totalt udfyllet og det virker ikke.
jag har gjort precis som i ditt ekspempel med min cursor, men det virker ikke heller =(. Jag har æven testat att sætta cursor på ALLE komponenter på den JPanel, på JPanel og på den JTabbedPane som holder JPanel, men det virker kun 20% av gångerna, de andra hænder inget.
og jag vet att min applet (ja det er en applet jag brokker med) blir repaint:ad førdi jag sætter en del komponenter till setEditable(false) og det kan man godt se...
Det undrer mig meget hvis ikke det virker. Prøv denne her kode, hvor du skulle kunne se den gule baggrund fra JPanel'et. JFrame f = new JFrame(); Container c = f.getContentPane(); JPanel p = new JPanel(); JLabel l = new JLabel("12345"); l.setOpaque(true); l.setForeground(Color.blue); l.setBackground(Color.red); p.add(l); p.setSize(100,100); p.setOpaque(true); p.setBackground(Color.yellow); c.add(p); f.setSize(300,300); f.show(); Ang. din cursor så er det dels vigtigt at der er et tidsinterval hvor den er skiftet så man kan nå at se den. Det burde også virke, jeg bruger mange steder den kode jeg har vist dig ovenfor, men hvis cursoren bevæger sig ind over en anden komponent kan man se den cursor der hører dertil. Prøv først ovennævnte kode og fortæl mig om det virker hos dig.
carsten >> tak før dina førsøg, det virker dock ikke ænnu. Din kod virker, men ikke min. Jag har tagit bort cursor och bruger bara setEnabled(false) på komponenter just nu, og senare nær jag får tid skall jag titta på problemet igen. Då kanske det kommer upp på eksperten igen =)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.