2016-12-14 14 views
1

Ich habe TextArea und TextField in meiner App. Ich habe es geschafft, Fokus auf TextField am Anfang und machte TextArea unmöglich zu bearbeiten. Ich möchte auch irgendwie die Möglichkeit ausschalten, es mit z. B. Mausklick oder TAB Radfahren zu konzentrieren.JavaFX - Deaktivieren der möglichen Fokus auf TextArea

Gibt es einen geeigneten Weg, es zu tun?

+1

den Knoten deaktivieren sollte es tun. – Mordechai

Antwort

1

Sie müssen verwenden:

textArea.setFocusTraversable(false); 
textArea.setMouseTransparent(true); 

Beispiel Demonstration:

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.TextArea; 
import javafx.scene.layout.BorderPane; 
import javafx.stage.Stage; 

/** 
* @author StackOverFlow 
* 
*/ 
public class Sample2 extends Application { 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     BorderPane pane = new BorderPane(); 

     // Label 
     TextArea textArea1 = new TextArea("I am the focus owner"); 
     textArea1.setPrefSize(100, 50); 

     // Area 
     TextArea textArea2 = new TextArea("Can't be focused "); 
     textArea2.setFocusTraversable(false); 
     textArea2.setMouseTransparent(true); 
     textArea2.setEditable(false); 

     // Add the items 
     pane.setLeft(textArea1); 
     pane.setRight(textArea2); 

     // Scene 
     Scene scene = new Scene(pane, 200, 200); 
     primaryStage.setScene(scene); 

     // Show stage 
     primaryStage.show(); 

    } 

    /** 
    * Application Main Method 
    * 
    * @param args 
    */ 
    public static void main(String[] args) { 
     launch(args); 
    }