javan小案例。

图形化。

上面的这个包有时候用的时候会乱码。

为什么

从服务器到客户端是需要网络传输的,所以浏览器只是做数据展示而已,这个客户端要么是浏览器,要么就是安装包,就是所谓的前端。

而Java一般都是做后端的语言,所以跟前端很少接触,于是乎就是这样了。

面向对象↑

JFRAME这是一个类。

宽高不是JFRAME的独有属性,而是共用的属性,和继承很像。

一层一层的继承关系。

顶级父类宽和高。

这个是用super关键字调用父类的CTVISIBLE。

判断布尔值如果是Ture的话就执行show方法,如果是first的话就执行hide方法

横杠就是已过时已过时的方法还是可以用的,直接show也可以调用方法。

只看这段代码的逻辑:是的,它仅仅是调用了父类中的 setVisible 方法。

这段代码是子类重写了 setVisible 方法,但方法体内只有 super.setVisible(b); 这一行代码------ super 代表父类,因此这行代码的作用就是直接调用父类对应的 setVisible 方法,没有添加任何额外的逻辑。

报错

这个代码的报错是由语法错误+静态上下文使用不当导致的,具体错误点及原因如下:

错误1:方法嵌套定义(语法错误)

Java中方法不能嵌套定义,但你在 main 方法(属于 App 类的静态方法)内部,直接写了 public LoginJFrame() 方法的定义------这违反了Java的语法规则,所以编译器会提示"意外的标记""无法解析方法"。

错误2:static上下文不能使用 this

main 方法是static(静态)方法,静态方法属于"类本身",而非"类的实例对象";而 this 关键字代表"当前类的实例对象",因此在static方法中使用 this (比如 this.setSize() 、 this.setVisible() )是非法的,会触发"无法从static上下文中引用'App.this'"的报错。

错误3:代码意图与写法不符

从注释"想开启登录界面就创建登录界面"能看出,你的实际意图是创建 LoginJFrame 类的实例对象,但错误地写成了"在main里定义方法",而非"创建对象"。

修正后的代码示例

假设 LoginJFrame 是一个已定义的窗口类(继承自 JFrame ),正确写法应该是:

java

public class App {

// 程序主入口(static方法)

public static void main(String\[\] args) {

// 创建LoginJFrame的实例对象(开启登录界面)

LoginJFrame loginFrame = new LoginJFrame();

// 设置登录界面大小

loginFrame.setSize(400, 300);

// 设置登录界面可见

loginFrame.setVisible(true);

}

}

补充说明

如果 LoginJFrame 类还未定义,需要先创建这个类(继承 JFrame ),例如:

java

import javax.swing.JFrame;

// 定义登录窗口类

public class LoginJFrame extends JFrame {

// 构造方法(初始化窗口)

public LoginJFrame() {

// 可在这里添加登录界面的组件(如输入框、按钮等)

}

}

Main中是不是只能创建对象之后再调用?而不能直接在里面定义方法,只能在类中定义。

对的。

这是无参构造括号为空就是无参,创建这个对象时就会直接调用方法体的数据。

可以直接用继承改写这些东西。

一直置顶的意思就是说点击了之后不会关闭。

ture布尔值判断,点击后不会被覆盖,如果里面是fLASE的话,程序就会直接不给你弹窗。

底下的3,每一个int数字都代表着一种关闭模式。

0123

2是多个界面开启只有你关闭最后一个界面的时候,它才会把所有的代码停掉。

所有设置2才会有效。

3只要关掉一个,虚拟机就会结束。

菜单。

接下来就是添加图片,首先是分割图片,花了一点时间分割好了

然后就是初始化图片添加管理容器。

不知道怎么创建对象就看源码。

坐标。

需要获取文件夹的名字才能创建对象。

相关推荐
ps酷教程34 分钟前
Jackson 解决没有无参构造函数的反序列化问题
java
NiceCloud喜云39 分钟前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
_日拱一卒2 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
隔窗听雨眠2 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
智慧物业老杨2 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
源码宝3 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区3 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
金銀銅鐵3 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【63】AI Agent 长期记忆
java·人工智能·spring
憧憬成为java架构高手的小白4 小时前
苍穹外卖--day09
java·spring boot·百度