2016-04-05 24 views
0

Hiç bir GUI oluşturmaya çalışmadım ve muhtemelen üzerinde takılması gereken bir şey olmayan bir şey üzerinde sıkışmış durumdayım. Metni eylemsiz olarak ayarlamak için metin alanını nasıl alabilirim? SetText'i kullanmayı denedim ... Arama düğmesini tıkladığımda ayarlayabileceğimi biliyorum ancak bunu yapmamı ve sorgu dizesine eklemem gerektiğini düşünmüyorum. Herhangi bir yardım veya yön çok takdir edilmektedir.JavaFx Metin Alanı ayarlanmış metin

import javafx.application.Application; 
    import javafx.geometry.Insets; 
    import javafx.scene.Scene; 
    import javafx.scene.control.Button; 
    import javafx.scene.control.ComboBox; 
    import javafx.scene.control.Label; 
    import javafx.scene.control.TextField; 
    import javafx.scene.layout.GridPane; 
    import javafx.stage.Stage; 

    public class gui extends Application { 

     Stage window; 
     ComboBox<String> dropDown; 
     Button button; 
     TextField searchString; 
     String dropField; 
     String inputText; 
     String queryText; 


     public static void main(String[] args) { 

      Application.launch(args); 
     } 

     @Override 
     public void start(Stage primaryStage) throws Exception { 
      window = primaryStage; 
      window.setTitle("Deep Search"); 

      GridPane layout = new GridPane(); 
      layout.setPadding(new Insets(10, 10, 10, 10)); 
      layout.setVgap(8); 
      layout.setHgap(10); 

      //ComboBox Label 
      Label comboLabel = new Label("Field:"); 
      GridPane.setConstraints(comboLabel, 0,0); 

      //ComboBox 
      dropDown = new ComboBox<>(); 
      dropDown.getItems().addAll(
        "all_fields", 
        "identifier", 
        "component", 
        "de_manager", 
        "de_priority", 
        "engineer", 
        "found", 
        "headline", 
        "integrated_releases_text", 
        "product", 
        "project", 
        "severity", 
        "status", 
        "submitted_on", 
        "submitter_id", 
        "version_text" 
      ); 
      dropDown.setPromptText("Select Search Field"); 
      dropDown.setOnAction(e -> setSearchField()); 
      GridPane.setConstraints(dropDown, 2, 0); 

      //search box 
      searchString = new TextField(); 
      searchString.setOnAction(e -> setSearchText()); 
      searchString.setPromptText("Enter search string..."); 
      GridPane.setConstraints(searchString, 2, 2); 

İşte metin alanı. Burada, kullanıcı girdiği zaman metin ayarlanır. Düğmeyi tıklatıldığında yukarıdaki açılan kutuda yapılan seçim ile bir sorguya eklendiği için eylemsiz metni nasıl ayarlayabildiğimi bilmek isterim.

  //Search button 
      button = new Button("Search"); 
      button.setOnAction(e -> queryMethod()); 
      GridPane.setConstraints(button, 2, 10); 

      layout.getChildren().addAll(comboLabel, dropDown, searchString, button); 

      Scene scene = new Scene(layout, 300, 200); 
      window.setScene(scene); 
      window.show(); 
     } 

     private void setSearchField(){ 

      dropField = dropDown.getValue(); 
     } 

     private void setSearchText(){ 

      inputText = searchString.getText(); 

     } 

     private void queryMethod(){ 

      queryText = "SELECT identifier, component, de_manager, de_priority, engineer, found, headline, " + 
        "integrated_releases_text, product, project, severity, status, submitted_on, submitter_id, " + 
        "version_text FROM BUG WHERE " + dropField + ":" + inputText; 
     } 

    } 

cevap

0

O ne istediğini çok net değil, ama ben sadece queryMethod() metin alanından metin almak istiyorum düşünüyorum:

private void queryMethod(){ 

     queryText = "SELECT identifier, component, de_manager, de_priority, engineer, found, headline, " + 
       "integrated_releases_text, product, project, severity, status, submitted_on, submitter_id, " + 
       "version_text FROM CDETS_ETL_BUG WHERE " + dropField + ":" + searchString.getText(); 
    } 
+0

Evet, bu tam olarak istediğim şey. Çok teşekkür ederim! – anshanno

İlgili konular