Запрос метода?

хорошо. Я написал вышеупомянутый код, и я должен назвать его от другого класса. как я могу сделать это? плюс он дает мне эту ошибку с DefaultTableModel prodt = (DefaultTableModel) protable.getModel (); . ошибка - простол нестатической переменной, не может быть сослан от статического контекста.

public static void refreshProtable() {
    try {
        Statement s1 = Db.connectDb().createStatement();
        ResultSet rs1 = s1.executeQuery("SELECT * FROM product WHERE status='" + 0 + "'");

        DefaultTableModel prodt = (DefaultTableModel) protable.getModel();
        while (rs1.next()) {
            Vector v1 = new Vector();
            v1.add(rs1.getString("pid"));
            v1.add(rs1.getString("pname"));
            v1.add(rs1.getString("sp_rt"));
            v1.add(rs1.getString("sp_wh"));
            v1.add(rs1.getString("um"));
            Statement s2 = Db.connectDb().createStatement();
            ResultSet rs2 = s2.executeQuery("SELECT * FROM stock WHERE pid='" + rs1.getString("pid") + "'");
            if (rs2.next()) {
                v1.add(rs2.getString("qty"));
            }
            prodt.addRow(v1);
            s2.close();
        }
        s1.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
0
nl ja de
Пожалуйста, включайте код, где вы объявляете простол.
добавлено автор Mansfield, источник
Пожалуйста, добавьте тег языков - не только, чтобы помочь другим быть уверенными в какой язык you' ре, работающее с, это должно также позволить маркеру синтаксиса работать правильно над вашим кодом.
добавлено автор Damien_The_Unbeliever, источник

4 ответы

Любая отметка ваша переменная простол статичный или делает метод нестатичным.

частная статическая протаблица DefaultTableModel;

общественная статическая пустота refreshProtable() {...}

3
добавлено
Необходимо создать случай того класса во время щелчка кнопки и затем назвать метод.
добавлено автор Srinivas, источник
но я должен назвать этот метод от другого класса после кнопки щелкнувшим? если я сделаю метод нестатичным, я все еще буду в состоянии назвать его?
добавлено автор Nayana Rajapaksha, источник

необходимо сделать простол как статичный, поскольку можно получить доступ только к статическим переменным от статического метода.

private static DefaultTableModel protable;

public static void refreshProtable() { }

переменная, которую вы пытаетесь назвать, является переменной уровня случая;

статическая переменная

  • Это является переменной, которая принадлежит классу а не возразить (случай)

  • Статические переменные инициализируется только однажды, в начале выполнения. Эти переменные будут инициализированы сначала перед инициализацией любых переменных экземпляра

  • единственная копия, которая будет разделена всеми случаями класса

  • <к литию>

    статическая переменная может получить доступ непосредственно имя класса и не нуждается ни в каком объекте

  • Синтаксис:.

статический метод

  • Это - метод, который принадлежит классу а не объекту (случай)
  • статический метод может получить доступ только статичный данные. Это не может получить доступ к нестатическим данным (переменные экземпляра)

  • статический метод может назвать только другие статические методы и не может назвать нестатический метод от него.

  • <к литию>

    статический метод может получить доступ непосредственно имя класса и не нуждается ни в каком объекте

  • Синтаксис:.

  • статический метод не может относиться к “этому” или “супер” ключевым словам в так или иначе

0
добавлено

Так как метод статичен, вы называете его, используя имя класса, в котором это.

Например,

class A {
    public static void b() {
       //do something
    }
}

Был бы назван следующим образом:

A.b();

It might be handy to refresh yourself on how static variables work, here would be a starting point: http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

0
добавлено

Можно сделать функцию как нестатичную или сделать прообъект таблицы статичным.

Одним словом, вы не можете сослаться на нестатическую переменную в статической функции.

но можно сослаться на статическую переменную в нестатической функции

0
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async