private boolean shouldBank;
private boolean started;
private long startTime;
private String areaChoice;
private FishingArea fishingArea;
public Fishing (Main s) {
this.s = s;
}
public void onStart() {
FishingMenu menu = new FishingMenu();
menu.setVisible(true);
started = true;
startTime = System.currentTimeMillis();//Gets time in milliseconds and stores it in a variable.
if(menu.exit) {
s.log("Script aborted. Exiting.");
s.stop(false);
}
shouldBank = menu.shouldBank;
fishingArea = menu.fishingArea;
areaChoice = menu.areaChoice;
}
Соответствующий FishingMenu код:Лучший способ передать переменные между классами?
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fishingArea = fishingAreas[cmbArea.getSelectedIndex()];
areaChoice = cmbArea.getSelectedItem().toString();
shouldBank = chkBank.isSelected();
exit = false;
dispose();
}
});
У меня есть FishingMenu, где пользователь выбирает свои варианты, и эти параметры используются в течение первого класса. То, как я сейчас обрабатываю это, - это установить все релевантные переменные в классе меню для публики, а затем создать переменные в основном классе и установить их равными тем из меню, которые вы можете увидеть внизу onStart(). Я знаю, что это довольно плохой способ сделать это, но я не уверен в лучшем способе этого. Я также не уверен, что предоставление этих четырех основных переменных в классе первого класса (shouldBank, start, ... и т. Д.), Как это верно, но я использую их по всему классу и снова, я не знаю лучшего способа , Любые предложения по любой проблеме?
Я пробовал делать что-то в Google, но я не был уверен, как сформулировать вопросы.
У этого метода есть '()' скобки, где вы можете передать параметр другому методу и хотя и другим классам ... – SomeJavaGuy
Рассмотрите возможность отправки более полного образца в [Codereview.SE] для обратной связи с дизайном? – JETM
@JETM Спасибо, я не знал, что существует. – SpeedOfSmell