javafx的Css调用和简单的常用

下边是上篇文章进阶版,鉴于引得包略多占篇幅,我只能进行省略。这个是简单的一个小登录界面,负载了一个触发事件,后面有Css样式的调用。Javafx的样式和WEB上的Css格式大概一样,学过WEB很容易就能看懂。很简单只要注意一下:子节点的建立和css文件的引用写法就可以了.
public class FxTest2 extends Application {
	@Override
	public void start(Stage primaryStage) throws Exception {
		// TODO Auto-generated method stub
		
		GridPane grid= new GridPane();   //gridpane进行样式布局,类似于表格的样式
		grid.setAlignment(Pos.CENTER);  
		grid.setHgap(10);     //设置间隔(横向)
		grid.setVgap(20);    //设置间隔(纵向)
		grid.setPadding(new Insets(25,25,25,25));   //离四周的间隔,方向依次是:上,右,下,左

                //界面内容和按钮的触发事件				
		Text newText = new Text("二周目");
		//newText.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));     //设置字体的属性
		//newText.setId("welc");          //设置子节点,为等下的Css中能顺利确定该点打下标记。
		grid.add(newText ,0,0,2,1);
		Label username = new Label("名字:");   
		grid.add(username, 0, 1);        //在表格中做好定位
		Label pass = new Label("密码:");
		grid.add(pass, 0, 2);
		TextField uninput = new TextField();
		grid.add(uninput, 1, 1);
		TextField pinput =new TextField();
		grid.add(pinput, 1, 2);		
		Text txt= new Text();
		txt.setId("clies");
		grid.add(txt, 1, 5);
		
		Button btn = new Button("登录");
		btn.setOnAction(new EventHandler() {
			
			@Override
			public void handle(ActionEvent event) {
				// TODO Auto-generated method stub
				txt.setFill(Color.CHARTREUSE);
				txt.setText(uninput.getText());
				System.out.println("啥进度还是骄傲看到");
			}
		});
		grid.add(btn, 1,3);		
				
		Scene scene = new Scene(grid);	
		primaryStage.setTitle("第二弹");
		primaryStage.setScene(scene);
		//scene.getStylesheets().add( getClass().getResource("Login.css") .toExternalForm());   ///引用Css格式的写法。
		primaryStage.show();
	}
	public static void main(String[] args){
		launch(args);
	}
   }
其所对应的运行结果是:
 
  

 
  

加上对应的css文件之后:
.root{
	-fx-background-image: url("background.jpg");
}
.button {
   -fx-text-fill: white;
   -fx-font-family: "Arial Narrow";
   -fx-font-weight: bold;

   -fx-background-color: linear-gradient(#61a2b1, #2A5058);
   -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1 );
}
.button:hover {
   -fx-background-color: linear-gradient(#2A5058, #61a2b1);
}
.label {
   -fx-font-size: 12px;
   -fx-font-weight: bold;
   -fx-text-fill: #333333;
   -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 );
}
#welc{
	-fx-font-size: 32px;
   -fx-font-family: "Arial Black";
   -fx-fill: #818181;
   -fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
   }
 #clies{
 -fx-font-size: 32px;
  -fx-font-family: "Arial Black";
   -fx-fill: #818181;
   -fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
 }
注:
1)、子节点:当需要对特点的位置进行修饰时,需要在主程序中用setid定一下位置,相当于做个标记,然后再在css文件里写出来修饰效果就如本栗子中对“二周目”的修饰。
2)、注意引用css文件的写法,已经在主程序中进行的描述。
3)、上面的所有程序都在同一个文件夹里所以不会出现路径问题,如果在不同文件夹里的话还要注意对应的路径更改。

执行出来的效果如下图所示:


你可能感兴趣的:(JavaFx学习路径)