私はこれに関する投稿を読んだので、静的変数を回避する方法を知っています。それらはオブジェクト指向ではなく、グローバルなどのようなものです。
しかし、ここに私の質問があります。繰り返しではないことを願っています。多くのメソッドが使用するプライベートクラス変数がいくつかあり、渡すのは面倒です。私が話しているクラスは私のメインプログラムなので、そのインスタンスはJVMが作成するインスタンスだけになります。
この場合、これらの変数が静的であるかどうかに違いはありますか?(おそらく、ユーザーが私のアプリケーションを複数回開いて、変数を静的にすると、それらは変数を共有し、互いに混同しますか?)
列挙型の内部からこれらの変数にアクセスしたいので、静的変数を使用したいと思います。ありがとう
列挙型部分のコードは次のとおりです。
enum Buttons {
OPEN_BUTTON("Open file...",false),
CHANGE_FONT_BUTTON("Change font",false),
DECOR_BUTTON("Decor font",true),
EDITOR_BUTTON("Open editor",false),
ALPHABET_BUTTON("Open alphabet browser",false),
CTEST_BUTTON("Start consonant test",false),
TESTTYPE_BUTTON("Select test type...",false),
TEST_BUTTON("Start word test",false),
QUIT_BUTTON("Quit", false);
private ButtonBase button;
Buttons(String title, boolean toggle) {
if (toggle) button = ToggleButtonBuilder.create().prefWidth(200).prefHeight(35).text(title).build();
else button = ButtonBuilder.create().prefWidth(200).prefHeight(35).text(title).build();}
void onClick(EventHandler<MouseEvent> eh) {button.setOnMouseClicked(eh);}
ButtonBase getBase() {return button;}
boolean toggled() { return ((ToggleButton)button).isSelected(); }
void setToggle(boolean on) {((ToggleButton) button).setSelected(on); }
void enable() {button.setDisable(false);}
void disable() {button.setDisable(true);}
void setText(String text) { button.setText(text);}
void clicked() {
//これは、イベントハンドラーが必要な場所です...