Non-static method cannot be referenced from a static context

Alguma ideia de como posso corrigir? Ele acusa o erro do título onde tem jPBarMenu e jPBtnMenu. Queria fazer um método pra agilizar certos buttons, pois se não teria que colar esse código em todos que fosse usar isso.

public static void FecharMenu(){
        if (jPBarMenu.getWidth() == 135) {
            jPBtnMenu.setBackground(new Color(235,116,116));
            Thread th = new Thread(){
                public void run(){
                    try {
                        for (int i = 135; i >= 0; i--) {
                            Thread.sleep(1);
                            jPBarMenu.setSize(i, 369);
                        }
                    } catch (Exception e) {
                    }
                }
            };th.start();
            jPBarMenu.setSize(0, HEIGHT);
        }    
};

jPBarMenu e jPBtnMenu são variáveis de instância (i.e. não estáticas) e não podem ser acessadas de um método estático (FecharMenu).

Possíveis soluções:

  1. Remover o modificador static do método
  2. Adicionar o modificador static nas variáveis com o erro
  3. Pedir os objetos (o BarMenu e o BtnMenu) via parâmetro
1 curtida

Certo, obrigado!