JAVA上机作业二

一基础题

在这里插入图片描述

Public
javafx MyJAVAFXextends Application

Public void start (Stage primary Stage)

舞台:窗体,stage对象

主舞台:由JVM自动创建的一个stage

主舞台是自动生成的

Stage
stage=new Stage();

调用stage.setResizable(false)实现

可以

在这里插入图片描述

面板是一个容器类,可以自动的将节点布置在一个希望的位置和大小

节点是可视化组件

Pane.getChildren().add(new
Node)

不可以

可以

在这里插入图片描述

getFamilies()可以获得一个可用字体系列的名字列表

二编程题

在这里插入图片描述在这里插入图片描述

import javafx.application.*;

import javafx.scene.*;

import javafx.scene.image.ImageView;

import javafx.scene.layout.GridPane;

import javafx.scene.layout.Pane;

import javafx.geometry.*;

import javafx.stage.*;



public class Testimageview extends Application{



@Override

public void start(Stage primaryStage) {

Pane pane =new GridPane();

pane.setPadding(new Insets(5,5,5,5));

ImageView  image = new ImageView("image/flag5.gif");

ImageView image2 = new ImageView("flag1.gif");

ImageView image3 = new ImageView("flag2.gif");

ImageView image4 = new ImageView("flag6.gif");

((GridPane) pane).add(image,0,0);

((GridPane) pane).add(image2,0,1);

((GridPane) pane).add(image3,1,0);

((GridPane) pane).add(image4,1,1);



Scene scene =new Scene(pane);

primaryStage.setTitle("ShowFlag");

primaryStage.setScene(scene);

primaryStage.show();



}

}

在这里插入图片描述
在这里插入图片描述

import javafx.application.*;

import javafx.scene.*;

import javafx.scene.control.Label;

import javafx.stage.*;

import javafx.scene.layout.*;

import javafx.scene.paint.Color;

import javafx.scene.text.Font;

import javafx.scene.text.FontPosture;

import javafx.scene.text.FontWeight;

import javafx.geometry.*;

public class showtypeface extends Application{

@Override

public void start (Stage primaryStage)

{

    HBox pane=new HBox(10);

    pane.setPadding(new Insets(20,20,20,20));

    for(int i=0;i<5;i++) {

        Label write=new Label("JAVA");

     write.setFont(Font.font("TimesRomes",FontWeight.BOLD,FontPosture.ITALIC,22));

        write.setRotate(90);

        HBox.setMargin(write, new Insets(20,0,20,0));

        write.setTextFill(Color.color(Math.random(), Math.random(),Math.random(),Math.random() ));

        pane.getChildren().add(write);

        

        }

    Scene scene=new Scene(pane);

    primaryStage.setTitle("显示字体");

    primaryStage.show();

}

}

( 游戏:显示一个象棋棋盘)请写一个程序显示一个象棋棋盘,其中每个黑白单元格都是一个填

充了黑色或者白色的Rectangle, 如图c 所示。

在这里插入图片描述

import javafx.application.*;

import javafx.stage.*;

import javafx.scene.*;

import javafx.scene.layout.GridPane;

import javafx.scene.layout.Pane;

import javafx.scene.paint.Color;

import javafx.scene.shape.Rectangle;

import javafx.geometry.*;

import javafx.beans.*;

public class showchess extends Application{

     @Override

     public void start(Stage
primaryStage) {

              GridPane pane = new GridPane();

              for(int column =0;column<8;column=column+2)

              {

                      for(int row = 0;row<8;row=row+2) {

                               pane.add(getSquare(column,row,pane,0), column,row);

                      }

              }

              for(intcolumn=1;column<8;column=column+2) {

                      for(int row=1;row<8;row=row+2) {

                               pane.add(getSquare(column,row,pane,1),column,row
 );

                      }

              }

              for(int column =0;column<8;column=column+2)

              {

                      for(int row = 0;row<8;row=row+2) {

                               pane.add(getSquare(column,row,pane,1),column,row);

                      }

              }

              for(int column=1;column<8;column=column+2) {

                      for(int row=1;row<8;row=row+2) {

                               pane.add(getSquare(column,row,pane,0),column,row
);

                      }

              }

              Scene scene=new Scene(pane);

              primaryStage.setTitle("棋盘");

              primaryStage.show();

     }

     public Rectangle getSquare(int column,int row,GridPane pane,int m) {

              Rectangle gezi =new Rectangle();

              gezi.xProperty().bind(pane.widthProperty().divide(8).multiply(row));

              gezi.xProperty().bind(pane.heightProperty().divide(8).multiply(column));

              gezi.widthProperty().bind(pane.widthProperty().divide(8));

              gezi.heightProperty().bind(pane.heightProperty().divide(8));

              if(m==0) {

                      gezi.setFill(Color.WHEAT);

                      gezi.setStroke(Color.WHEAT);

              }else if (m==1)

              {

                      gezi.setFill(Color.BLACK);

                      gezi.setStroke(Color.BLACK);

              }

     

     return gezi;

     }

}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值