- JAVAFX 学习笔记
- Stage
- 设置标题
- 设置大小
- 设置图标
- 其他的小东西
- 始终位于顶层
- Stage可见
- Scene
- 键盘鼠标事件
- 库
- 添加监听
- 监听事件自定义
- Group
- 定义group
- 添加group
- Pane
- 操作
- 按钮
- 多按钮确定时间源
- 位置设置
- 高级设置
- 单选钮与复选钮
- 文本框
- 文字
- 画图
- 图形
- 直线:
- 矩形
- 圆形
- 椭圆
- 文字
- 画图设置
- 颜色
- 文字设置
- 图片
- 插入图片
- 图形转换
primaryStage.serTitle("标题");
设置大小primaryStage.setHeight(高度); primaryStage.setWeight(宽度); primaryStage.setResizable();//括号里true是可以调整窗口大小,false则不可以 primaryStage.setMaxHeight(最大高度); primaryStage.setMaxWeight(最大宽度); primaryStage.setMinHeight(最小高度); primaryStage.setMinWeight(最小宽度); primaryStage.setFullScreen(true);设置图标
primaryStage.getIcons().add(new Image(图));
其他的小东西 始终位于顶层primaryStage.setAlwaysonTop(true);
Stage可见primaryStage.show();
Scene 键盘鼠标事件 库import javafx.input.MouseEvent;
import javafx.input.KeyEvent;
scene.setonMousePressed(this::方法名);
scene.setonMouseDrag(this::方法名);
scene.setonKeyPressed(this::方法名);
public void MouseClickListener(MouseEvent event)
{
int x,y;
x=event.getX();
y=event.getY();
//...
}
public void MouseDragListener(MouseEvent event)
{
int x,y;
x=event.getX();
y=event.getY();
}
public void KeyPressListener(KeyEvent event)
{
switch(event.getCode())
{
case UP:
...
break;
case down
...
break;
...
default;
...
break;
}
}
Group
定义group
Group root=new Group();
root.getChildren().add(加的绘画内容名字)
scene=new scene(root,宽度,高度,背景色);
Pane 操作重新画(刷新页面):pane.requestFocus();
HBOX 水平排列
VBOX 垂直排列
Button push=new Button("按钮名字);
push.setOnAction(this::类名);
public void 类名(ActionEvent event)
{
//...
}
多按钮确定时间源
//e.g.
Button redButton,blueButton;
redButton=new Button("RED");
blueButton=new Button("BLUE!");
redButton.setOnAction(this::类名);
blueButton.setOnAction(this::类名);
public void 类名(ActionEvent event)
{
if(event.getSource()==redButton)
{
//...
}
if(event.getSource()=blueButton)
{
//...
}
}
位置设置
button1.setLayoutX(x坐标); button1.setLayoutY(y坐标);高级设置
//设置填充颜色 与圆角与 周围的白边
BackgroundFill backgroundFill = new BackgroundFill(Color.RED, new CornerRadii(10), new Insets(25));
Background background = new Background(backgroundFill);
button1.setBackground(background);
//设置描边颜色 粗细 描边类型 实线 虚线
BorderStroke borderStroke = new BorderStroke(Color.GREEN, BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(10, 10, 10, 10));
Border border = new Border(borderStroke);
button1.setBorder(border);
//设置初始宽高
button1.setPrefWidth(200);
button1.setPrefHeight(50);
//设置字体等
button1.setFont(Font.font(20));
button1.setStyle("-fx-background-color: #7ccd7c;" +
"-fx-background-radius: 10;" +
"-fx-text-fill:#5cacee");
单选钮与复选钮
CheckBox box1,box2,box3;
box1=new CheckBox("Box1");
box2=new CheckBox("Box2");
box3=new CheckBox("Box3");
box1.setOnAction(this::类名);
box2.setOnAction(this::类名);
box3.setOnAction(this::类名);
public void 类名(ActionEvent event)
{
if(box1.isSelected())
{
//...
}
//重点!! 如果想要单选就加else 复选就不加else
(else)
if(box2.isSelected())
{
//...
}
//...
}
文本框
TextField text1=new TextField("初始文字");
text1.setfont(字体);
text1.setPreWidth(宽度);
text1.setOnAction(this::类名);
public void 类名(ActionEvent event)
{
String s;
s=text1.getText();
//...
}
文字
Label label=new Label("初始文字");
label.setFont(字体);
label.setText("更新的文字");
画图
图形
直线:
Line line1=new Line(起始X坐标,起始y坐标,终点x坐标,终点y坐标);
矩形Rectangle rect1=new Rectangle(左上角x坐标,左上角y坐标,宽度,高度);
圆形Circle circle1=new Circle(圆心x坐标,圆心y坐标,半径);
椭圆Ellipse ellipse1=new Ellipse(中心点x左边,中心点y坐标,半长轴长,半短轴);
文字Text text1=new Text(x轴坐标,y轴坐标,"内容");
画图设置 颜色 文字设置Font font1=new Font();
text.setFont("字体名字”,...,字号);
//默认为非粗体,正体,'...' 位置可添加FontWeight.BOLD为加粗,FontPosture.ITALIC为斜体,FontPosture.REGULAR为正体
text.setUnderline(true);//true就是有下划线,false就是没有下划线
图片
插入图片
Image img=new Image("相对路径");
ImageView imgView1=new ImageView(img);
图形转换
对象.setTranslateX(x轴方向平移量); 对象.setTranslateY(y轴方向平移量); 对象.setScaleX(缩放比例(0.0-1.0)); 对象.setScaleY(缩放比例(0.0-1.0)); 对象.setRotate(顺时针旋转的度数); 对象.getTransforms().add(new Rotate(度数,绕点x坐标,绕点y坐标));//绕 (x,y)顺时针旋转 对象.getTransforms().add(new Shear(x轴错切量(0-1,0),y轴错切量(0-1.0)));



