Maximizar a janela sem atualizar a tela

5 respostas
F

Como faria para quando eu maximizasse a janela, nao pudesse atualizar a tela do paint()? ou se eu posso utilizar um outro metodo?

5 Respostas

ViniGodoy

E por que você iria querer isso?

F

Porque a cada repaint() eu aumento a coordenada x e quando maximizo a imagem vai mais para frente e eu nao quero isso…

ViniGodoy

E por que você aumenta a coordenada x?

F

Entao, eu preciso andar com a imagem para frente que permitiria os usuários as criarem frases com as imagens…poxa to repetindo muito as palavras :stuck_out_tongue:

Eis o código:

package Codigo; 

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


public class Janela1 extends JFrame { 
int pWidth, pHeight; 
CarregarImagens imagens; 
int posX; 
int posY; 
int y1[] = {50,50,50,50,50,50,50,150,150,150,150,150,150,150,250,250,250,250,250,250,250}; 
static Image nome3[] = new Image[21]; 
PintarImagem pi; 
EventImagem ei; 
JPanel inferior,superior; 
String s; 
int xis = 50; 
Image ima; 

public Janela1(int x, int y, CarregarImagens ci) { 

pWidth =x; 
pHeight = y; 
imagens = ci; 

Container c = getContentPane(); 
c.setLayout(null); 

setTitle("Escolha uma opção"); 
setBackground(Color.white); 
setVisible(true); 
setSize(pWidth,pHeight); 
setResizable(true); 


superior = new PintarImagem(pWidth,pHeight,imagens); 
c.add(superior); 
superior.setBounds(0,0,pWidth,pHeight); 
superior.setBorder(BorderFactory.createLineBorder(Color.red,03)); 
superior.addMouseListener(new Tratador()); 
} 

private class Tratador extends MouseAdapter { 
public void mousePressed(MouseEvent e) { 
String s;// --ö) 
posX = e.getX(); 
posY = e.getY(); 
repaint(); 
} 
} 

public void paint(Graphics g) { 
super.paint(g); 
for(int i = 0; i <=20;i++) { 
if(((posX >= pi.x1[i])&&(posX <= pi.x1[i] + 90))&& 
((posY >= y1[i])&&(posY <= y1[i] + 90))) { 
if(xis < pWidth -100) { 
try { 
s = (String)imagens.id.get(i); 
nome3[i] = imagens.getImage(s, i); 
g.drawImage(nome3[i],xis,pHeight-150,null); 
xis = xis + 100; 
} 
catch(Exception e) { 
e.printStackTrace(); 
} 
} 
} 
} 
} 

}
F

manow, se vc conseguiria mudar de paint para paintComponent, pois quando mudo para o paintComponent, o programa não executa e paint sim…se vc puder me dar uma dica para mudar o método fico agradecido, pois sei que paint mexe diretamente com JFrame e paintComponent mexe diretamente com os componentes…ai pode ser que resolva o problema da maximização da janela…

Criado 3 de março de 2012
Ultima resposta 4 de mar. de 2012
Respostas 5
Participantes 2