Czesc wszystkim! Mam problem staram sie napisac dynamiczna i plynna zmiane rozmiaru JButtonow. Moj kod wyglada tak:
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JLabel;
public class PanelRozszerzany extends Thread {
public void run() {
double Wysokosc1=0;
double Wysokosc2=1;
while(Wysokosc1<1)
{
try {
Wysokosc1 +=0.1;
Wysokosc2 -=0.1;
Layout.SrodekDol.revalidate();
Layout.SrodekDol.repaint();
Layout.SrodekDol.removeAll();
Layout.SrodekDol.setLayout(new GridBagLayout());
Layout.gr3.insets = new Insets(0,0,0,0);
Layout.gr3.fill = GridBagConstraints.BOTH;//ustaw na środku
Layout.gr3.gridheight = 1;
Layout.gr3.gridwidth = GridBagConstraints.REMAINDER;//szerokość na max
Layout.gr3.weighty = Wysokosc2;
Layout.gr3.weightx = 1;
Layout.SrodekDol.add(new JButton("Cos"),Layout.gr3);
Layout.gr3.insets = new Insets(0,0,0,0);
Layout.gr3.fill = GridBagConstraints.BOTH;
Layout.gr3.gridheight = 1;
Layout.gr3.gridwidth = GridBagConstraints.REMAINDER;//szerokość na max
Layout.gr3.weighty = Wysokosc1;
Layout.gr3.weightx = 1;
Layout.SrodekDol.add(new JButton("Animacja"),Layout.gr3);
Layout.SrodekDol.repaint();
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Jest to tylko wycinek kodu oczywiscie.Uzywam tutaj GridBagLayouta i w jego wlasciwosiach zmieniam weighty od wartosci 0 do 1 w 1 buttonie w drugim odwrotnie. Po odpaleniu tego zauwazylem ze program ma z tym problem i na pewien czas w ogole znikaja przyciski pozniej sie pojawiaja zmienione pozniej znowu znikaja itp itd.... czyli ogolnie nie jest to ani plynne ani fajne. Prosze o pomoc :)