View Single Post
Staro 02.07.2011., 16:58   #1
ZMAJ
Premium
 
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
Problem u javi - gumb se prikaže tek nakon minimize ili reszize

Radim jedan program u javi s poker kartama i imam 2 problema:

1. Imam 5 slika koje predstavljaju pozadinu karata i onda kad se klikne gumb generiraj, stvori se 5 random karata. Problem je što se one ne stvore kad kliknem gumb nego tek nakon što napravim minimize prozora ili kliknem na rub prozora.

2. Kad ponovno kliknem gumb generiraj, karte se ne žele ponovo generirat.

Evo kod iz glavne klase pa ako netko vidi problem (znam da ima puno grešaka i boljih načina, ali neznam bolje ). Što se tiče actionlistenera ovakav kod sam koristio kad sam radio kalkulator i bilo mi je sve ok...
Također oko teksta na gumbu "generiraj random karte" je pravokutnik, dok mi na gumbima na kalkulatoru toga nema...

...
public class Main extends JFrame {

private static final long serialVersionUID = 1L;

public static void main(String[] args) {

final JFrame okvir = new JFrame("Evaluacija poker ruku");

okvir.setLayout(new SpringLayout());
okvir.setPreferredSize(new Dimension(780, 652));

final JButton generiraj = new JButton();
generiraj.setText("Generiraj random karte");

ImageIcon back = new ImageIcon ("Karte/back.gif");


final JButton prva = new JButton();
prva.setIcon(back);
final JButton druga = new JButton();
druga.setIcon(back);
final JButton treca = new JButton();
treca.setIcon(back);
final JButton cetvrta = new JButton();
cetvrta.setIcon(back);
final JButton peta = new JButton();
peta.setIcon(back);

okvir.add (new JLabel());
okvir.add (generiraj, new SpringLayout.Constraints(Spring.constant(20), Spring.constant(20), Spring.constant(200), Spring.constant(40)));
okvir.add (prva, new SpringLayout.Constraints(Spring.constant(10), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (druga, new SpringLayout.Constraints(Spring.constant(160), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (treca, new SpringLayout.Constraints(Spring.constant(310), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (cetvrta, new SpringLayout.Constraints(Spring.constant(460), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (peta, new SpringLayout.Constraints(Spring.constant(610), Spring.constant(80), Spring.constant(140), Spring.constant(196)));

okvir.pack();
okvir.setVisible(true);


class GenerirajListener implements ActionListener {
public void actionPerformed (ActionEvent e){

final List<Karta> spil = new ArrayList<Karta>();

String snagaTemp = null;
String bojaTemp = null;
String k = null;

for (int i = 1; i<5; i++){

for (int j = 2; j<14; j++){

Karta karta = new Karta(j, i, null);

switch( i ) {
case 1: bojaTemp = "s"; break;
case 2: bojaTemp = "d"; break;
case 3: bojaTemp = "h"; break;
case 4: bojaTemp = "c"; break;
}

switch( j ) {
case 2: snagaTemp = "2"; break;
case 3: snagaTemp = "3"; break;
case 4: snagaTemp = "4"; break;
case 5: snagaTemp = "5"; break;
case 6: snagaTemp = "6"; break;
case 7: snagaTemp = "7"; break;
case 8: snagaTemp = "8"; break;
case 9: snagaTemp = "9"; break;
case 10: snagaTemp = "T"; break;
case 11: snagaTemp = "J"; break;
case 12: snagaTemp = "Q"; break;
case 13: snagaTemp = "K"; break;
case 14: snagaTemp = "A"; break;
}

k = "Karte/"+snagaTemp+bojaTemp+".gif";
karta.setImg(k);

spil.add(karta);

}

}

Collections.shuffle(spil);

ImageIcon generirana1Icon = new ImageIcon (spil.get(0).getImg());
ImageIcon generirana2Icon = new ImageIcon (spil.get(1).getImg());
ImageIcon generirana3Icon = new ImageIcon (spil.get(2).getImg());
ImageIcon generirana4Icon = new ImageIcon (spil.get(3).getImg());
ImageIcon generirana5Icon = new ImageIcon (spil.get(4).getImg());

final JButton prvaGenerirana = new JButton();
prvaGenerirana.setIcon(generirana1Icon);
final JButton drugaGenerirana = new JButton();
drugaGenerirana.setIcon(generirana2Icon);
final JButton trecaGenerirana = new JButton();
trecaGenerirana.setIcon(generirana3Icon);
final JButton cetvrtaGenerirana = new JButton();
cetvrtaGenerirana.setIcon(generirana4Icon);
final JButton petaGenerirana = new JButton();
petaGenerirana.setIcon(generirana5Icon);

okvir.remove(prva);
okvir.remove(druga);
okvir.remove(treca);
okvir.remove(cetvrta);
okvir.remove(peta);

okvir.add (prvaGenerirana, new SpringLayout.Constraints(Spring.constant(10), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (drugaGenerirana, new SpringLayout.Constraints(Spring.constant(160), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (trecaGenerirana, new SpringLayout.Constraints(Spring.constant(310), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (cetvrtaGenerirana, new SpringLayout.Constraints(Spring.constant(460), Spring.constant(80), Spring.constant(140), Spring.constant(196)));
okvir.add (petaGenerirana, new SpringLayout.Constraints(Spring.constant(610), Spring.constant(80), Spring.constant(140), Spring.constant(196)));

}
}

GenerirajListener gl = new GenerirajListener();
generiraj.addActionListener(gl);


}

}
ZMAJ je offline   Reply With Quote