Tablodaki bir sınıftaki girdilerin çeşitli özniteliklerini görüntüleyen ve kullanıcının ikincil bir giriş penceresinden yeni bir girdi eklemesine izin veren basit bir nesne veritabanı uygulaması üzerinde çalışıyorum.Bir JavaFX FXML uygulamasında garip görünürlük sorunları
Ana:
public class Main extends Application {
Stage theStage;
Scene mainWindowController;
@Override
public void start(Stage primaryStage) throws Exception{
theStage = primaryStage;
Parent root = FXMLLoader.load(getClass().getResource("MainWindow.fxml"));
primaryStage.setTitle("Steam Database");
mainWindowController = new Scene(root, 800, 550);
primaryStage.setScene(mainWindowController);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ikincil pencerelerden biri için bir kontrolör
: çizgide
import static sample.MainWindowController.*;
public class CreateDeveloperWindowController {
/*
*/
@FXML
private TextField newDeveloperNameTextField;
@FXML
private TextField newDeveloperPassTextField;
private void handleCreateDeveloperButton() {
String proposedNewDevName = newDeveloperNameTextField.getText();
String proposedNewDevPass = newDeveloperPassTextField.getText();
if (proposedNewDevName.equals("") || proposedNewDevPass.equals("")) {
mainWindowController.textMessageDisplay.setText("Name and password must not be empty!");
} else {
allDevelopers.add(new Developer(proposedNewDevName, proposedNewDevPass));
}
}
/*
*/
}
sorun denetleyicisi olduğu,
mainWindowController.textMessageDisplay.setText("Name and password must not be empty!");
alıyorum Üzerinde "Bir sembol çözülemiyor" hatası var, ancak nedenini ayırt edemiyorum. Bir çözüm "Ana" eklemektir. Önünde ve static
değişkenini bildirir, ancak eklemek istediğim diğer işlevler için sorun oluşturur. Sorularım:
Bu neden ortaya çıkıyor?
mainWindowController
değişkeni,Main
sınıfı içinde bildirildiğinden, bildiğim kadarıyla uygulamada herhangi bir yerden görülebilir olmalıdır.Bunu nasıl çözerim; Bu çizgiyi nasıl çalıştırabilirim?
, yani hata alıyorum. –
Ancak, CreateDeveloperWindowController ana sınıfta görmüyor mu? Onu içe aktarsam bile, "Statik olmayan bir değişken statik bir bağlamdan referans alınamaz" hatasını verir, bu yalnızca değişken statik bildirerek çözülebilir, bu da söz konusu sorunda bahsettiğim soruna neden olur - statik, diğer şeylerin yolunda olduğu için – Sargon1
ekleyeceğim * "Ama CreateDeveloperWindowController ana sınıfta görmemeli mi?" * Hayır, neden görüyordu? Bu sadece Java'nın (ya da bildiğim başka bir dilin) çalıştığı şey değil. –