任务1、创建Animal类,继承Animal类创建Cat类、Dog类和Bird类
- Animal的类图
- Cat的类图
- Dog的类图
- Bird的类图
任务2、创建Shape接口,创建Circle类和Rectangle类实现Shape接口
- Shape接口的类图(getCircumference和getArea是抽象方法,getType是缺省方法,getPI是静态方法)
- Circle的类图
- Rectangle的类图
任务3、显示一个Swing窗口
- 创建
LoginFram
类,继承JFrame
package net.huawei.p03.t02;
import javax.swing.*;
/**
* 功能:登录窗口
* 作者:华卫
* 日期:2022年05月05日
*/
public class LoginFrame extends JFrame {
/**
* 构造方法
*
* @param title
*/
public LoginFrame(String title) {
super(title); // super表示父类的实例
initGUI(); // 初始化用户界面
}
/**
* 初始化图形用户界面
*/
private void initGUI() {
// 设置窗口属性
this.setVisible(true); // 让窗口可见
this.setBounds(200, 200, 500, 400); // 设置窗口边界(位置与大小)
this.setLocationRelativeTo(null); // 让窗口屏幕居中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出应用程序
}
public static void main(String[] args) {
// 创建登录窗口匿名对象
new LoginFrame("用户登录");
}
}
- 运行程序,查看结果
- 希望在窗口里添加一个按钮,单击它会弹出一个消息框,网页设计里通过脚本来实现,如下图所示。
package net.huawei.p03.t02;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* 功能:登录窗口
* 作者:华卫
* 日期:2022年05月05日
*/
public class LoginFrame extends JFrame {
private JButton btnLogin;
/**
* 构造方法
*
* @param title
*/
public LoginFrame(String title) {
super(title); // super表示父类的实例
initGUI(); // 初始化用户界面
eventHandling(); // 进行事件处理
}
/**
* 事件处理
*/
private void eventHandling() {
// 给登录按钮注册动作监听器,实现监听器接口,编写事件处理方法
btnLogin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "哈哈,今天立夏,欢迎登录~");
}
});
}
/**
* 初始化图形用户界面
*/
private void initGUI() {
// 创建按钮对象
btnLogin = new JButton("登录");
btnLogin.setFont(new Font("楷体", Font.PLAIN, 20));
// 获取窗口的内容面板(Container --> JPanel)
JPanel panel = (JPanel) this.getContentPane();
// 设置内容面板布局 - 流式布局
panel.setLayout(new FlowLayout());
// 将按钮对象添加到内容面板
panel.add(btnLogin);
// 设置窗口属性
this.setVisible(true); // 让窗口可见
this.setBounds(200, 200, 400, 300); // 设置窗口边界(位置与大小)
this.setLocationRelativeTo(null); // 让窗口屏幕居中
this.setResizable(false); // 让窗口不能调整尺寸
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出应用程序
}
public static void main(String[] args) {
// 创建登录窗口匿名对象
new LoginFrame("用户登录");
}
}
- 运行程序,查看结果