Java语言程序设计——篇十五(2)

ops/2024/9/23 14:30:55/

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

       🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿

  • 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳🌳
    您的点赞👍、关注➕、收藏⭐️、评论📝、私信📧是我最大的支持与鼓舞!!!🌻🌻🌻

在这里插入图片描述

常用控件(1)

  • 常用控件
    • Label类
    • Button类
    • TextField类和PasswordField类
      • 实战演练
    • TextArea类
      • 实战演练
    • CheckBox类

常用控件

  • JavaFX提供大量的控件,控件类在javafx.scene.control包中,如Label、Button、TextField、PasswordField、TextArea、CheckBox、RadioButton、Slider等

Label类

  • Label表示一个标签,一个不可编辑显示区域。Label既可以显示文本,也可以显示图片。
  • 构造方法:
java"> Label(String text)Label(String text, Node graphic)
  • 常用方法:
java"> void setGraphic(Node value)void setAlignment(Pos value)void setTextFill(Paint value)void setContentDisplay(ContentDisplay value)

Button类

  • 按钮是JavaFX中最常用的控件,它可以响应用户点击事件。Button类可以显示文本、图像或者文本加图像。
  • 构造方法:
java"> Button(String text)Button(String text, Node graphic)
  • 常用方法:
java"> void setText(String text)void setGraphic(Node graphic)void setOnAction(EventHandler<ActionEvent> value)

TextField类和PasswordField类

  • TextField类表示单行文本框,通常用来接收用户输入的文本。PasswordField类表示密码框,用来接收用户输入密码。
  • 构造方法:
java"> TextField()TextField (String text)
  • TextField类定义了text、editable、alignment等属性及属性设置方法:
java"> void setText(String value)void setEditable(boolean value)void setAlignment(Pos value)void setPrefColumnCount(int value)void setPromptText(String value)void setOnAction(EventHandler<ActionEvent> v)
  • PasswordField是TextField类的子类,它用于创建密码框,密码框中输入的文本不回显,字符通常显示一个黑点。
  • 下面代码创建一个密码框:
java">     PasswordField password = new PasswordField();password.setPromptText(“请输入口令");

实战演练

问题描述:
下面程序使用文本框和密码框创建一个简单登录界面,并且为按钮设置了动作事件处理器,可以判断用户是否合法。

java">import javax.swing.*;  
import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  public class LoginDemo extends JFrame {  private JTextField userTextField;  private JPasswordField passwordField;  private JButton loginButton;  private JLabel messageLabel;  public LoginDemo() {  // 设置窗口标题  setTitle("登录界面");  // 设置窗口关闭行为  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 设置布局管理器  setLayout(new FlowLayout());  // 初始化组件  userTextField = new JTextField(20);  add(userTextField);  passwordField = new JPasswordField(20);  add(passwordField);  loginButton = new JButton("登录");  add(loginButton);  messageLabel = new JLabel("");  add(messageLabel);  // 为登录按钮添加事件监听器  loginButton.addActionListener(new ActionListener() {  @Override  public void actionPerformed(ActionEvent e) {  // 获取用户名和密码  String username = userTextField.getText();  String password = new String(passwordField.getPassword());  // 简单的验证逻辑  if ("admin".equals(username) && "123456".equals(password)) {  messageLabel.setText("登录成功!");  } else {  messageLabel.setText("用户名或密码错误!");  }  }  });  // 调整窗口大小  pack();  // 设置窗口可见  setVisible(true);  }  public static void main(String[] args) {  // 在事件调度线程中运行创建UI的代码,以确保线程安全  SwingUtilities.invokeLater(new Runnable() {  @Override  public void run() {  new LoginDemo();  }  });  }  
}

TextArea类

  • TextArea类实现多行文本框,它允许用户输入多行文本。
  • 构造方法:
java"> TextArea()TextArea(String text)
  • 常用方法:
java"> void setText(String value)void setEditable(boolean value)void setAlignment(Pos value) void setPrefColumnCount(int value) void setPrefRowCount(int value)
  • TextArea提供滚动支持,但通常将TextArea对象放置到一个ScrollPane对象上,让ScrollPane处理TextArea的滚动会更加方便,如下代码所示:
java">    TextArea taNode = new TextArea("多行文本区");ScrollPane  scrollPane = new ScrollPane(taNode);rootNode.setCenter(scrollPane);

实战演练

问题描述:
下面程序在一个标签上显示一个图像,在一个文本区域中显示一段长文本。

java">import javax.swing.*;  
import java.awt.*;  public class ImageAndTextDemo extends JFrame {  private JLabel imageLabel;  private JTextArea textArea;  public ImageAndTextDemo() {  // 设置窗口标题  setTitle("图像和文本演示");  // 设置窗口关闭行为  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 设置布局管理器  setLayout(new FlowLayout());  // 初始化图像标签  ImageIcon imageIcon = new ImageIcon("path/to/your/image.png"); // 替换为你的图像路径  imageLabel = new JLabel(imageIcon);  add(imageLabel);  // 初始化文本区域  textArea = new JTextArea(20, 50); // 20行50列  textArea.setText("这里是一段非常长的文本,可以在文本区域中滚动查看更多内容...");  textArea.setLineWrap(true); // 设置自动换行  textArea.setWrapStyleWord(true); // 设置断行不断字  JScrollPane scrollPane = new JScrollPane(textArea); // 为文本区域添加滚动条  add(scrollPane);  // 调整窗口大小  pack();  // 设置窗口可见  setVisible(true);  }  public static void main(String[] args) {  // 在事件调度线程中运行创建UI的代码,以确保线程安全  SwingUtilities.invokeLater(new Runnable() {  @Override  public void run() {  new ImageAndTextDemo();  }  });  }  
}

CheckBox类

  • CheckBox 类称为复选框或检查框。创建复选框需使用CheckBox类的构造方法。创建复选框的同时可以为其指明文本说明标签,这个文本标签用来说明复选框的意义和作用。
  • 例:
java">     CheckBox cb1 = new CheckBox();            CheckBox cb2 = new CheckBox("文学");  cb1.setText("体育");            cb1.setSelected(true); //当一个复选框被单击(选中或者取消选中),会触发一个ActionEvent事件。要判断一个复选框是否被选中,使用isSelected()方法。

博主用心写,读者点关注,互动传真情,知识不迷路。


http://www.ppmy.cn/ops/96819.html

相关文章

一款免费开源电脑流量监控软件,电脑流量统计工具!

TrafficMonitor是一个开源的网络速度监控工具&#xff0c;它能够在Windows平台上以悬浮窗的形式显示当前的网速、CPU和内存使用情况。该工具支持多种显示模式&#xff0c;包括悬浮窗和任务栏显示&#xff0c;并且允许用户更换不同的皮肤来自定义外观样式。此外&#xff0c;Traf…

MySQL存储过程深入指南

MySQL存储过程深入指南 存储过程是MySQL中一个强大的功能,能够显著提升数据库操作的效率和灵活性。本文将全面介绍存储过程的概念、语法、使用方法及最佳实践,帮助读者熟练掌握存储过程的使用。 1. 什么是存储过程? 存储过程(Stored Procedure)是预先编译并存储在数据库…

如何在Maya用户界面中设置Arnold摄像机?

Arnold是随Maya一起提供的、高质量的渲染引擎。Arnold是一款为满足长篇动画和视觉效果电影的需求而构建的高级蒙特卡洛光线追踪渲染器。 那么怎么在Maya用户界面中设置Arnold摄像机呢&#xff1f; 要更改Arnold摄像机设置&#xff0c;您需要使用Maya的Attribute Editor中的Arn…

【busybox记录】【shell指令】chroot

目录 内容来源&#xff1a; 【GUN】【chroot】指令介绍 【busybox】【chroot】指令介绍 【linux】【chroot】指令介绍 使用示例&#xff1a; 常用组合指令&#xff1a; 指令不常用/组合用法还需继续挖掘&#xff1a; 内容来源&#xff1a; GUN &#xff1a; Coreutils -…

低功耗神经网络

低功耗神经网络&#xff08;Low-Power Neural Networks&#xff09;是指在有限能源或资源条件下设计和实现的高效神经网络模型。这些网络旨在减少能耗&#xff0c;同时在性能上保持与传统神经网络相近的水平。随着深度学习在移动设备、物联网&#xff08;IoT&#xff09;和边缘…

day 27TCP编程

UDP特点&#xff1a; 1.不安全不可靠的传输方式 2.UDP资源开销小&#xff0c;实现机制简单 3.UDP是无连接的 针对UDP这些特性所以就有了TCP这种更可靠&#xff0c;更安全的传输方式 TCP编程函数接口

从0到1:AI与低代码如何推动企业创新

引言 在当今瞬息万变的商业环境中&#xff0c;创新已成为企业在激烈市场竞争中立于不败之地的关键驱动力。面对快速变化的市场需求、技术进步和全球化竞争&#xff0c;企业亟需打破传统的增长模式&#xff0c;从而实现真正意义上的突破性创新。“从0到1”这一理念&#xff0c;源…

三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…