首页 > 其他分享 >10.15日

10.15日

时间:2024-10-15 22:43:04浏览次数:1  
标签:JFrame frame Swing 组件 new 10.15 panel

1. 上层界面设计(UI 设计)
Swing 提供了多个组件(如按钮、标签、文本框等),通过这些组件,你可以构建用户可视化交互的界面。

关键组件
JFrame:代表主窗口,所有其他组件都放置在 JFrame 中。
JPanel:用于分隔不同的 UI 区域,可以嵌套使用。
JButton、JLabel、JTextField:分别用于创建按钮、文本标签和文本输入框。
布局管理器
Java Swing 提供了多种布局管理器,用来控制组件的排列方式:

FlowLayout:按添加顺序从左到右排列组件,适用于简单的 UI。
BorderLayout:将容器划分为五个区域(NORTH, SOUTH, EAST, WEST, CENTER),常用于布局大型界面。
GridLayout:将容器划分为网格,所有组件的大小相同。
BoxLayout:允许组件在垂直或水平方向上对齐。
示例代码
java
import javax.swing.*;

public class MySwingApp {
    public static void main(String[] args) {
        JFrame frame = new JFrame("上下界面设计");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        
        JPanel panel = new JPanel(); // 创建主面板
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // 垂直布局
        
        JLabel label = new JLabel("请输入信息:");
        JTextField textField = new JTextField(20);
        JButton button = new JButton("提交");
        
        // 添加组件到面板
        panel.add(label);
        panel.add(textField);
        panel.add(button);
        
        // 将面板添加到框架
        frame.add(panel);
        frame.setVisible(true);
    }
}
2. 下层界面设计(逻辑层)
逻辑层与界面层分离,通常负责数据处理、逻辑运算和业务流程的管理。为了实现上层与下层的良好分离,可以通过以下方式进行设计:

MVC 模式
MVC(Model-View-Controller)模式是 Java Swing 中常见的设计模式,旨在将数据处理(Model)、用户界面(View)和用户输入控制(Controller)分开,确保代码模块化、易维护。

Model(模型层):负责管理数据和业务逻辑。它不关心界面或用户的交互。
View(视图层):负责展示数据,是用户直接交互的部分(Swing 组件)。
Controller(控制器层):负责用户输入的处理,并将用户的操作转换为模型层的指令。
事件监听
Swing 使用事件监听器机制来捕获用户输入操作:

ActionListener:用于按钮等触发操作。通过实现 actionPerformed() 方法,监听按钮点击事件。

标签:JFrame,frame,Swing,组件,new,10.15,panel
From: https://www.cnblogs.com/sword861417845/p/18468705

相关文章

  • 10.15
    学习了如何在JavaWeb项目中进行数据库连接操作。通过JDBC连接数据库,执行SQL查询语句获取数据。importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;publicclassDatabaseAccessExample{publicstatic......
  • 2024.10.15 模拟赛
    2024.10.15模拟赛T1count简要题意给定一个长度为\(n\)的数组求其中正整数数量,\(n≤100\)solution哇,还是太难了输入的时候如果是正数就cnt++输出\(cnt\)即可人机题,不放代码了T2sigma简要题意给定\(n\)个双端队列,其中第\(i\)个队列内有\(c_i\)个整数元素。......
  • 2024.10.15 比赛反思
    2024.10.15比赛反思其实我觉得有好几次我差一点就要写反思了,但是由于运气最后没有写(最极限的一次是倒数第五)。但是终究还是逃不过啊。首先是\(T1\)还比较正常,用了大概\(50\min\),没有浪费太多时间,这点比较好。但是后面就开始出现问题了。\(T2\)是一个网格图上的问题,其实感......
  • 总结 2024.10.15
    放链接考试总结忘记了pwp后面一定都写ATDPcontest近期主线,在补dpabc370f题解思维题,暂时没怎么写有点鸽,补完dp再补晚自习晚自习again组合数学训练......
  • 24.10.15
    谁家好人往NOIp模拟赛里塞CF*3500啊。A考察\(x\)与\(<x\)的点的连边。\[\begin{aligned}&x|(y+n)\\&kx=y+n\\&y=kx-n\\&\because0<y<x\len\\&\thereforey只有1个\\\Rightarrow&k=\left\lceil\frac{......
  • 10.15
    一、测试思维的练习面试题:(1)你说下淘宝购物车的测试点?(2)给你二维码你会怎么去测试?(3)微信发朋友圈如何测试?(4)微信点赞如何测试?(5)给你一个水杯你会如何去测试?(6)你说下电梯的测试点?需求文档,功能,性能,兼容性,安全性,易用性从不同的角度去考虑如何测试?(1)需求测试需求:需求文档,......
  • 10.15
    A.小ω的距离经典数据随机,期望每次减少一半,直接暴力往前跳就行。B.小ω的匹配读懂题了就很简单了,容易发现每行只有前\(m\)个数有用,于是我们得到一个\(m\timesm\)的网格,第\(i\)行选择一个数\(j\),使得这\(m\)个前缀的并等于这\(m\)个数的并,并且并集集合大小为\(......
  • 2024.10.15人工智能学记3
    老师先讲了AI的定义:人工智能(AI)是计算机科学的一个分支,致力于创造能够模仿人类智能行为的机器或系统。这与教育学中的"智能”概念有些相似,但范围更广,包括感知、学习、推理、问题解决等能力。以及如何从教育者角度来理解AI?①规则基础系统-教学大纲和课程设置;机器学习-学生通过练......
  • 10.15 人工智能学习内容
    从教育者角度来理解AI1.规则基础系统(教学大纲和课程设置)2.机器学习(学生通过练习提高技能)3.深度学习(高阶思维能力的培养)【预训练】·扩充语料库·学生在正式教育前的知识积累【微调】·针对特定任务的专门训练·学科专业化【推理】·模型根据输入生成输出文本·学生解......
  • 10.15第三次课AI
    AI从教育者角度来理解AI规则基础系统→机器学习→深度学习教学大纲和课程设置;学生通过练习提高技能;高阶思维能力的培养预训练-扩充语料库-学生在正式教育前的知识积累微调-针对特定任务的专门训练-学科专业化推理-模型根据输入生成输出文本-学生解答问题的过程大语言......