Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как получить переменную из Main класса в OnTabCompliter

Метки:
Теги Теги
class java

Trolerne

Активный участник
Пользователь
Баллы
66
В классе:
Код:
public class OnTabComplete implements TabCompleter {
мне нужно получить переменную из main класса:
когда я пытаюсь инициировать ее вот-так:
Код:
RDEHMain main = new RDEHMain();
//RDEHMain - главный класс
Мне пишет initial intilization.
Что делать?
 
В классе:
Код:
public class OnTabComplete implements TabCompleter {
мне нужно получить переменную из main класса:
когда я пытаюсь инициировать ее вот-так:
Код:
RDEHMain main = new RDEHMain();
//RDEHMain - главный класс
Мне пишет initial intilization.
Что делать?
В конструктор класса передай, new OnTabComplete(this) ну и там локальной переменной присвой.
 
В конструктор класса передай, new OnTabComplete(this) ну и там локальной переменной присвой.
Я не понимаю как:
Код:
private OnTabComplete a = new OnTabComplete(this);
и как получить значение переменной из главного класса
 
Я не понимаю как:
Код:
private OnTabComplete a = new OnTabComplete(this);
и как получить значение переменной из главного класса
что такое Java? Объектно Ореинтированный Язык. Чтобы получить конкретный объект, конкретного класса в котором ты находишься если ты не в сингтон пишешь? написать 4 буквы "this". Возвращаясь к первому вопросу, не плохо было бы тебе её выучить, а не задавать примитивные вопросы
 
что такое Java? Объектно Ореинтированный Язык. Чтобы получить конкретный объект, конкретного класса в котором ты находишься если ты не в сингтон пишешь? написать 4 буквы "this". Возвращаясь к первому вопросу, не плохо было бы тебе её выучить, а не задавать примитивные вопросы
Можно просто строчку кода или ссылочку на гайд?
 
Можно просто строчку кода или ссылочку на гайд?
ну такими "просто строчку" ты далеко не уедешь. Это примитивные принципы языка. Надо создавать что-то своё, а не просить написать других
 
Здесь получатся берется конфиг в другом классе, а как именно получить например HashMap из другого класса?
Создай в своём классе Main пременную любую например hashmap.
Например:
Код:
public class Main extends JavaPlugin {
    public Map<String, String> hashmap = new HashMap<String, String>();

    @Override
    public onEnable() {}
}

Потом ты со своего класса если создашь правильно конструктор как показано в alexandrage сможешь получить эту переменную через:
Код:
plugin.hasmap;
 
Создай в своём классе Main пременную любую например hashmap.
Например:
Код:
public class Main extends JavaPlugin {
    public Map<String, String> hashmap = new HashMap<String, String>();

    @Override
    public onEnable() {}
}

Потом ты со своего класса если создашь правильно конструктор как показано в alexandrage сможешь получить эту переменную через:
Код:
plugin.hasmap;
Код:
    public OnTabComplete(Plugin plugin) {
        this.plugin = plugin;
    }
- вот конструктоh, но все равно не работает plugin.itemmap;
 
Кстати да он пишет по своему но конструктор должен для этого импортировать твой плагин:
Код:
private PLUGIN_NAME plugin;
public OnTabCompleter(PLUGIN_NAME plugin) {
    this.plugin = plugin;
}
 
Я попробовал сделать вот-так
Код:
    private RDEHMain main;
        public List<String>hatlist(){
            List<String>a = new ArrayList<String>();
            for(Map.Entry entry:main.itemmap.entrySet()) {
                a.add(entry.getKey().toString());
            }
            return a;
        }
Но itemmap получается null
 
Оно должно быть таким...
Код:
        private RDEHMain main;
        public YOUR_CLASS_NAME(RDEHMain main) {
           this.main = main;
       }
        public List<String>hatlist(){
            List<String>a = new ArrayList<String>();
            for(Map.Entry entry:main.itemmap.entrySet()) {
                a.add(entry.getKey().toString());
            }
            return a;
        }
 
Оно должно быть таким...
Код:
        private RDEHMain main;
        public YOUR_CLASS_NAME(RDEHMain main) {
           this.main = main;
       }
        public List<String>hatlist(){
            List<String>a = new ArrayList<String>();
            for(Map.Entry entry:main.itemmap.entrySet()) {
                a.add(entry.getKey().toString());
            }
            return a;
        }
Спасибо огромное!
 

Поделиться этой страницей

Назад
Верх