Dúvidas na GUI

7 respostas
D

package capitulo_04;

import java.awt.Graphics;
import javax.swing.JPanel;

/**
*

  • @author Diego Gomes
    */
    public class DrawPainel extends JPanel{

    //Desenha um X a parti dos cantos do painel
    @Override
    public void paintComponent(Graphics g){

    //chama painComponent para assegurar que o painel seja exibido coretamente
     super.paintComponent(g);
     
     int width = new getWidth();
     int heigth = new getHeigth();
     
     g.drawLine(0, 0, width, heigth);
     
     g.drawLine(0, heigth, width, 0);
    

    }

}

Fica dando erro em:

int width = new getWidth();

int heigth = new getHeigth();

alguém ver algo de errado?

7 Respostas

Fellipex

sim , a falta da tag [code].

Ruttmann
ditoamozinho:
package capitulo_04;

import java.awt.Graphics;
import javax.swing.JPanel;

/**
 *
 * @author Diego Gomes
 */
public class DrawPainel extends JPanel{
  
    //Desenha um X a parti dos cantos do painel
    @Override
    public void paintComponent(Graphics g){
        
        //chama painComponent para assegurar que o painel seja exibido coretamente
        super.paintComponent(g);
        
        int width = new getWidth();
        int heigth = new getHeigth();
        
        g.drawLine(0, 0, width, heigth);
        
        g.drawLine(0, heigth, width, 0);
       
    }
    
}

Fica dando erro em: 
        int width = new getWidth();
        int heigth = new getHeigth();

alguém ver algo de errado?

Você setou dois campos do tipo int, logicamente precisa jogar valores compatíves com o tipo do campo...

Geralmente se constroem campos usando valores explícitos, ou construtores(nos casos de tipos não-primitivos)...

Com métodos da pra fazer também, só não sei de onde você tá pegando Width e Height com esses get's. E quando usa métodos na construção de um campo, não precisa usar new, ficaria assim:

int width = getWidth();
int heigth = getHeigth();

Mas coloca o erro que dá pra você pra gente analisar, tá meio vaga essa sua pergunta e teu código...

:wink:

Fellipex

bom a pergunta ficou vaga, mas o erro é bem nítido assim como citado pelo autor
ele disse que o erro estava

int width = new getWidth();
int heigth = new getHeigth();

bom neste caso é um erro de compilação e não em tempo de execução, no seu caso não é possível dar new em métodos, new em java significa que você quer criar alguma instancia de objeto, alocando um espaço de memória , no caso faça como o Ruttmann citou, se você ja tem acesso ao metodo getWidth(); ou getHeight(); simplesmente atribua a variável que voce deseja, se você não tem ai sim voce vai dar um new em alguma Classe que possue esse metodo, só para dar um exemplo para você do que eu falei:
Vamos supor que o metodo getWidth() esteja na minha classe ClasseExemplo, eu faria o seguinte

ClasseExemplo exemplo = new ClasseExemplo();
int width = exemplo.getWidth();

Valeu :smiley:

douglaskd

deixe assim:

int width = getWidth();
int heigth = getHeigth();

veja se resolve.

ViniGodoy

GUI é a sigle de “Graphical User Interface”, ou seja, interface gráfica de usuário.

Se sua dúvida é na GUI, por que não abriu o tópico no fórum de interface gráfica?

Por favor, antes pode star, leia com atenção a lista de fóruns.

Tópico movido.

D
Peço desculpas ViniGodoy;

O exemplo foi tirado do Livro Deitel;

Capítulo 04;

Eu o transcrevi para o netbeans e apareceu o erro;
D

Obrigado a todos pela a atenção. minhas dúvidas foram esclarecidas;
Era simplesmente retirar o “new”

Criado 5 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 7
Participantes 5