14. februar 2008 - 11:35
Der er
12 kommentarer og 1 løsning
Fjerne farve fra knap
Hejsa Jeg har en knap som bliver rød engang imellem. x = new Jbutton; x.setBackground(Color.red); Men jeg vil gerne kunne fjerne den røde farve igen, hvordan gør man det, så knappen får dens default'e farve igen. altså nogen i denne stil x.setBackground(Color.default);
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
14. februar 2008 - 11:39
#1
Jeg mener, du kan bruge removeBackground. Er dog ikke så meget inde i Java, så muligvis er det en løgn. =)
14. februar 2008 - 11:44
#2
Metoden er ikke erklæret for JButtons, så du løj desværre ;)
14. februar 2008 - 11:53
#3
Damn! =)
14. februar 2008 - 15:12
#4
Jbutton er en extension of klassen Component som har en getBackground metode. Så det vil vel blive noget i retning af x = new Jbutton; ... Color husketBaggrundsFarve = x.getBackground(); x.setBackground( Color.red ); ... x.setBackground( husketBaggrundsFarve ); mvh JakobA
14. februar 2008 - 16:21
#5
Det har jeg prøvet, og burde nok også have skrevet det. Det virker ikke (efter hensigten) Grunden til at jeg gerne vil have den originale knap farve tilbage, er fordi, det er som om der er skygge på den. Med din metode bliver knappen bare ensfarvet
14. februar 2008 - 21:04
#6
Hum. Så default er ikke bare en farve, men et billede ? Det lyder ulogisk eftersom der (såvidt jeg kan se) ikke er nogen måde at gette eller sette et billede som baggrund.
14. februar 2008 - 21:16
#7
Joe måske. Har du prøvet at lege med: Graphics husketGraphics = x.getGraphics() og x.paint( husketGraphics ); eller x.update( husketGraphics ); men jeg gætter nu. Har aldrig leget med swing
18. februar 2008 - 18:10
#8
Du gør det på følgende måde: Color defaultBackground = (Color) UIManager.get("Button.background");
19. februar 2008 - 11:40
#9
_carsten: Tak det virker :) jakoba: Jeg får en fejl med din kode: Fejl "Cannot refer to a non-final variable husketGraphics inside an inner class defined in a different method" Nogenlunde sådan har jeg puttet koden ind: Graphics husketGraphics = FallButton.getGraphics(); FallButton.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent event ) { FallButton.paint( husketGraphics ); }
19. februar 2008 - 11:40
#10
Men smid bare begge et svar, så lægger jeg lige 15point oveni
19. februar 2008 - 12:09
#11
Du kan i øvrigt ændre baggrund på ALLE knapper i din app ved UIManager.put("Button.background", new Color(100,100,100)) Men husk - det gælder alle knapper.
20. februar 2008 - 16:06
#12
Nej tak. Det var jo Carstens der duede :-)
20. februar 2008 - 22:54
#13
Ok, så lukker jeg bare :)
Kurser inden for grundlæggende programmering