给数据库添加一个登陆界面需要学习swing,目前已知,可能还有更高级的吧
- Jframe代表一个窗口,通过操作其api里面的方法就可以建窗口,添加内容
package j01;
import javax.swing.*;
import java.awt.*;
public class J01 {
public static void creatJframe(){
JFrame frame=new JFrame("占扑大师");
//建一个窗口,调用构造方法,名字为占扑大师
//内容面板添加contentpanel,首先得到内容面板
Container container=frame.getContentPane();
container.setLayout(new FlowLayout());//NEW 一个流动布局赋值
//添加组件
container.add(new JLabel("郭飞宇"));
container.add(new JButton("点我"));
//窗口大小
frame.setSize(400,500);
//显示
frame.setVisible(true);
}
总之就是
- swing是基于awt,swing大都比awt形同类型的方法前多一个J字母
- 内部类也可以实现接口
- 添加功能显示时间
- 添加这种方是时间是静止的,还是用up推荐的吧
package j02;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MyFrame extends JFrame {
// JLabel timeLable=new JLabel("YY年MM月DD日");
JLabel timeLable=new JLabel("YY:MM:DD");
JButton button =new JButton("显示时间");
public void showtime() {
SimpleDateFormat he = new SimpleDateFormat("HH:MM:SS");
String f = he.format(new Date());
timeLable.setText(f);
}
// SimpleDateFormat e=new SimpleDateFormat("YYYY年mm月dd日");
// Date a=new Date();
// String f=e.format(a);
public MyFrame(String title){
super(title);
//内容面板添加contentpanel,首先得到内容面板
Container container=getContentPane();
container.setLayout(new FlowLayout());//NEW 一个流动布局赋值
//添加组件
container.add(button);
container.add(timeLable);
container.add(new JLabel("郭飞宇"));
container.add(new JButton("点我"));
//创建监听器,把监听器注册给按钮,监听器随便创建,但需要实现监听活动接口类
MyButtonListioner listener=new MyButtonListioner();
//监听器给了按钮
button.addActionListener(listener);
}
public class MyButtonListioner implements ActionListener{
@Override//接口实现
public void actionPerformed(ActionEvent e) {
System.out.println("哈哈,你点击了按钮");
MyFrame.this.showtime();
}
}
}
- 主类代码
package j02;
public class J01 {
public static void creatJframe(){
MyFrame frame=new MyFrame("占扑大师");
//建一个窗口,调用构造方法,名字为占扑大师
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//窗口大小
frame.setSize(400,500);
frame.setVisible(true);
}
public static void main(String[] args) {
creatJframe();
}
}
看到一第一个类太过臃肿,使用匿名内部类
此时去掉了实现类方法