Dodaj do ulubionych

java swing

23.06.06, 13:58
Mam problem z tym programem. Po uruchomieniu i kliknieciu w OK actionPerformed
wywoluje repaint obiektu ukladWsp. Tak ma byc. Ale dzieje sie cos jeszcze, bo
w okienku obok pola tekstowego pojawia mi sie maly kwadrat.
Sama matoda repaint nie powoduje bledu, poniewaz przy zmianie rozmiarow okna
jest ona wywolywana i okno zachowuje sie prawidlowo. Ponadto, gdy pojawi sie
juz kwadrat (po kliknieciu OK), kwadrat znika wlasnie przy zmienianiu
rozmiarow okna. Usunalem linie ukladWsp.repaint(); z actionPerformed i wtedy
po klikaniu w OK kwadrat sie nie pojawial. Tylko ze program bez tego nie
dziala heh.
Pojawiajacy sie kwadrat to niby nic, ale kod, ktory zamiescilem, to fragment
wiekszego programu, w ktorym po klikniuciu OK dzieje sie duzo wieksze
spustoszenie w okienku.
Moze jest blad w kodzie, a moze mam problem z kompem. Pracuje na win98se, java
1.4.2, athlonXP. Czy komus jeszcze w okienku pojawia sie dziwny kwadrat? Jesli
ktos zna ten problem, prosze o pomoc.

import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

public class okno extends JFrame implements ActionListener {

public static void main(String[] arguments) {
new okno();
}

UkladWsp ukladWsp = new UkladWsp();
JTextArea dane = new JTextArea(8, 6);
JButton make = new JButton("OK");

public okno() {
super("Uklad wspolrzednych");
setSize(200, 180);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
make.addActionListener(this);
dane.setLineWrap(true);
dane.setWrapStyleWord(false);
JPanel pane = new JPanel();
pane.add(ukladWsp);
pane.add(dane);
pane.add(make);
setContentPane(pane);
show();
}

public void actionPerformed(ActionEvent evt) {
if(evt.getSource() == make) {
System.out.println("klik()");
ukladWsp.repaint();
}
}

class UkladWsp extends JPanel {
public void paintComponent(Graphics comp) {
System.out.println("repaint()");
}
}
}
Obserwuj wątek
    • tomix6 Re: java swing 26.06.06, 22:48
      Tu sa screeny dzialania programu na moim kompie.
      www.fotosik.pl/pokaz_obrazek/7bbca88f752fa3c1.html
      www.fotosik.pl/pokaz_obrazek/bd53b22f1d639f7b.html
      A tutaj wiecej elementow w okienku. Metody actionPerformed i repaint
      pozostawilem niezmienione.
      www.fotosik.pl/pokaz_obrazek/d6b5e7fcf24a701e.html
      www.fotosik.pl/pokaz_obrazek/08b0412aac421fbc.html

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka