Я ни в коем случае не программист, и я узнал большую часть того, что я знаю, работая на форумах и просматривая примеры, которые в основном написаны вами, замечательными людьми.Я дошел до точки с Java, что я пытаюсь создать кнопки в кадре.По сути, я хочу прочитать слова из файла, создать кнопку для каждого слова, а затем позволить мне выбрать эту кнопку для отображения параметров (которые будут закодированы позже).Я знаю, что на этот вопрос уже был дан ответ, но ни один из ответов на самом деле не дал мне никакого разъяснения (опять же, я как новичок в этом, так что непрограммное жаргонное / упрощенное объяснение очень ценится, но, конечно, не требуется :)).
Мой код для создания моих переменных кнопок (desireFile читается из System ранее в программе):
File fileIn = new File(desireFile);
Scanner fileReader = new Scanner (fileIn);
int wordNum = 0;
while(fileReader.hasNext()){
String wordReader = fileReader.next();
buttonVal = new JButton (wordReader);
buttonVal.addActionListener(new ButtonListener());
buttonVal.setEnabled(true);
contentPane.add(buttonVal, BorderLayout.NORTH);
wordNum++;
}
Где я использую wordNum только для того, чтобы убедиться, что мой цикл увеличивается правильно.Тогда у меня есть мой класс ButtonListener:
class ButtonListener implements ActionListener {
ButtonListener() {
}
public void actionPerformed(ActionEvent e) {
System.out.println("You clicked the button");
}
}
Я заставляю это работать, он создает мои переменные кнопки и всякий раз, когда я нажимаю на любую из этих кнопок, он печатает «Вы нажали кнопку» в консоли.Проблема, с которой я сталкиваюсь, заключается в том, что это не то, что я хочу сделать в конце концов.Мне нужно, чтобы действие было переменным в зависимости от результатов основного класса (например, если текст в файле гласит «это собака», мне нужна кнопка для «этого», чтобы сделать что-то отличное от кнопки «есть»),Другая проблема состоит в том, что, поскольку входные данные файла каждый раз являются переменными, я не знаю, как бы я настроил операторы if / else (поскольку слово может быть буквально чем угодно, то есть кнопкой что угодно, нет?)
Опять же, я просто наслаждаюсь программированием как хобби и ценю любую помощь, если бы вы могли найти какие-либо объяснения для меня (или дать мне ссылки, которые хорошо с этим справляются), я был бы признателен за это.До сих пор у меня все было хорошо в Java, но эти кнопки меня озадачили.Спасибо за помощь гуру