Ol�s... Estou com o seguinte problema... Tenho um Canvas dentro de um
ScrollPane...
Qdo eu carrego uma imagem pela primeira vez, tudo funciona perfeitamente...
e as barras de rolagem aparecem se necessario... Mas qdo eu carrego uma
segunda imagem, as barras nao se ajustam ao seu tamanho...
j� tentei o doLayout() e o validate() para o scrollpane mas nao obtive
sucesso....
Algu�m pode me ajudar....
Obrigad.a....
Ligia...
------------------------------------------
import java.awt.*;
public class CadSimbolos extends java.awt.Frame {
public CadSimbolos() {
initComponents ();
imgSimb = new ImgSimbolo(scrollFig,50,50);
scrollFig.add(imgSimb);
pack ();
}
private void initComponents() {
scrollFig = new java.awt.ScrollPane();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
}
);
add(scrollFig, java.awt.BorderLayout.CENTER);
}
private void btFiguraActionPerformed(java.awt.event.ActionEvent evt) {
FileDialog fd = new FileDialog(this,"Abrir",FileDialog.LOAD);
fd.show();
if (fd.getFile()!= null)
Image i =
Toolkit.getDefaultToolkit().getImage(fd.getDirectory()+fd.getFile());
imgSimb.setImage(i);
scrollFig.validate(); file://it doesn't work
file://scrollFig.doLayout(); file://it doesn't work too
}
}
private void exitForm(java.awt.event.WindowEvent evt) {
dispose();
}
private java.awt.ScrollPane scrollFig;
ImgSimbolo imgSimb;
}
class ImgSimbolo extends Canvas {
Container pappy;
Image image;
boolean trueSizeKnown = false;
Dimension minSize;
int w, h;
public ImgSimbolo(Container parent, int initialWidth, int initialHeight)
{
pappy = parent;
w = initialWidth;
h = initialHeight;
minSize = new Dimension(w,h);
}
public Dimension getPreferredSize() {
return getMinimumSize();
}
public synchronized Dimension getMinimumSize() {
return minSize;
}
public void paint (Graphics g) {
if (image != null) {
if (!trueSizeKnown) {
int imageWidth = image.getWidth(this);
int imageHeight = image.getHeight(this);
if ((imageWidth > 0) && (imageHeight > 0)) {
trueSizeKnown = true;
file://Ooh... component-initiated resizing.
w = imageWidth;
h = imageHeight;
minSize = new Dimension(w,h);
setSize(w, h);
pappy.doLayout();
pappy.repaint();
}
}
g.drawImage(image, 0, 0, this);
}
}
public void setImage(Image i) {
this.image = i;
repaint();
}
}
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------