Dúvidas na GUI

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?

sim , a falta da tag [code].

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:

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:

deixe assim:

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

veja se resolve.

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.

Peço desculpas ViniGodoy;
O exemplo foi tirado do Livro Deitel;
Capítulo 04;
Eu o transcrevi para o netbeans e apareceu o erro;

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