Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA] setColor werkt niet

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Beste tweakers,

Ik zit met een klein probleem:

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
import javax.swing.*;
import java.awt.*;
 
public class Sudoku extends JFrame 
{
    Sudoku()
    {
        int s[][] = 
        { 
                { 0, 5, 6, 9, 1, 7, 8, 3, 2 }, 
                { 3, 9, 2, 6, 4, 8, 5, 1, 7 }, 
                { 1, 8, 7, 5, 3, 2, 9, 4, 6 },
                { 2, 7, 1, 4, 9, 5, 3, 6, 8 },
                { 8, 3, 5, 7, 6, 1, 4, 2, 9 },
                { 6, 4, 9, 8, 2, 3, 1, 7, 5 },
                { 7, 6, 4, 1, 5, 9, 2, 8, 3 },
                { 9, 1, 3, 2, 8, 6, 7, 5, 4 },
                { 5, 2, 8, 3, 7, 4, 6, 9, 1 }
        };

        JButton[] b = new JButton[81];
        b.setColor( Color.BLUE );
                                for ( int row = 0; row < s.length; row++ )                   
        {        
            for (int column = 0; column < s[row].length; column++) 
            { 
                                                                int idx = row * column;
                                                b[idx] = new JButton(""+s[row][column]);
                getContentPane().add(b[idx]);
            }
        

        }

    }
 
    public static void main(String args[])
    {
        Sudoku s = new Sudoku();
        s.setSize(600,600);
        s.getContentPane().setLayout(new GridLayout(9,9));
        s.setVisible(true);
        s.setTitle("Sudoku");
    }
}


Zoals jullie waarschijnlijk kunnen zien is dit een programmaatje wat de interface van een Sudoku heeft. Wanneer ik de dikgedrukte tekst weglaat kan het programma gecompiled worden en draait het naar tevredenheid. Wanneer ik de dikgedrukte tekst erin laat verschijnt de foutmelding "cannot find symbol method setColor(java.awt.Color)". In een poging tot oplossen heb ik bovenin de code onder de andere 2 imports de regel "import java.awt.Color;" toegevoegd, wat naar mijn idee al gedekt zou moeten zijn door "import java.awt.*;". Maar ook dat geeft dezelfde foutmelding.

Mijn vraag aan jullie: wat is dit voor foutmelding? Mis ik een plug-in oid of zit er een fout in m'n code?

Alvast bedankt!

Edit: de bold-tags werken niet binnen een code-tag. Dit zou dus de dikgedrukte regel moeten zijn op regelnr. 22: b.setColor( Color.BLUE );

[ Voor 3% gewijzigd door the_scientist op 14-09-2007 23:59 ]


  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 28-11 20:44
JButton kent de methode setColor niet :?

b is een array van JButtons, een array kent die methode uiteraad niet

Volgens deze api kent jButton trouwens ook niet de methode setColor

[ Voor 90% gewijzigd door Sv3n op 15-09-2007 00:03 ]

Last.fm
Films!


  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Thanks! Niet aan gedacht. Heb je misschien een idee hoe ik dit op een andere manier op kan lossen?

Ik zie overigens net dat ik de topictitel ben vergeten |:( Kan een mod die veranderen in [JAVA] setColor werkt niet?

Thanks mod ;)

Inmiddels ontdekt dat de kleur voor een JButton met button.setBackground(Color.blue); te definieren is. Weet iemand hoe ik dat toe kan passen binnen een array?

[ Voor 49% gewijzigd door the_scientist op 15-09-2007 00:12 ]


  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 28-11 20:44
Normaal zou je gewoon in je for loop voor elke JButton de property moeten setten, maar als de hele property niet bestaat wordt dat lastig ;)

Last.fm
Films!


  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
int idx = row * column;
[idx] = new JButton(""+s[row][column]);
b[idx].setBackground(Color.blue);
getContentPane().add(b[idx]);

Hij's fijn ;)

Thanks!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:10

Creepy

Tactical Espionage Splatterer

De foutmelding die je hebt lijkt me nogal duidelijk Een array van JButtons is geen JButton. Daarnaast stikt het van de tutorials hoe je bepaalde vlakken op het scherm van kleur kan laten veranderen dus bekijk die eens. En lees nu aub Programming Beleid (en met name Programming Beleid - De Quickstart) eens door en let daar met een eventueel volgende post aub op. Een foutmelding dumpen en verder niks (wat je nu doet) is hier not done.

Edit: en extra tip: je maakt nu elke keer nieuwe objecten aan wat ook wat overbodig is. Je array bestaat al uit geinstantieerde objecten die je kan blijven gebruiken i.p.v. in de array steeds nieuwe te stoppen.

[ Voor 16% gewijzigd door Creepy op 15-09-2007 00:21 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.