Dekuji za radu, ale tohle nepomaha. Zjistil jsem vsak dalsi vec co mi to
dela. Pokud umistim komponentu na souradnice 0,0 tak se to vykresli
spravne pokud ji ale odsunu jinam tak se zase prekresli chybne. Ta sama
chyba se mi opakuje i na testovacim formulari ktery nema zadny layout
manager(set layout(null)). Dale si NB porad mysli ze ta moje komponenta
je jako "container" a ja nevim jak ho prinutit k tomu aby to tak nebylo.
I kdyz podle toho jak to je dedene to vypada ze to plati u kazde komponenty.
S pozdravem Radek Hubner
Rastislav Rehak napsal(a):
Dobry vecer
skuste si este prekryt metodu getPrefferedSize a keby bolo treba tak aj
getMaximumSize
Radek Hubner wrote:
Dobry den,
potreboval jsem si napsat vlastni komponentu na graficke zobrazovani
jednoho stavu a narazail jsem pri jejim pouziti na jeden problem.
Pokud pouzivam vychozi Layout manager z Net Beans 5.5 tak sem mi z
komponenty vykresluje jenom cast, v nekterych pripadech dokonce nic.
Pokud si na "kreslici" plochu necham vypsat co vraci metoda getWidth()
a getWidth() tak dostavam pri vytvoreni hodnotu 100. Pokud komponentu
zkousim zvetsovat a zmensovat tak se hodnota take zvetsuje a zmensuje.
Pro kontrolu prikladam muj jednoduchy zdrojacek.
Predem Dekuji za odpoved
S pozdravem Radek Hubner
package cz.tfnet.radek.guical.swing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JPanel;
public class JComputer extends JPanel{
public JComputer() {
;
}
public void paintComponent(Graphics g ) {
super.paintComponent(g);
g.setColor(Color.RED);
g.drawRect(getX()+5,getY()+5,getWidth() - 12, getHeight() - 12);
g.drawString(Integer.toString(getWidth()),getX() + 10, getY()
+ 10);
g.drawString(Integer.toString(getWidth()),getY() + 10, getY()
+ 20);
}
public Dimension getMinimumSize() {
return new Dimension(100,36);
}
}