GUI编程
1、简介
GUI的核心技术:Swing AWT(即将淘汰 )
需要jre环境
界面不美观
为什么要学习?
可以写出自己心中想要的一些小工具
工作时候,也可能需要维护到Swing界面,概率极小
了解MVC架构,了解监听!
2、AWT
2.1 AWT介绍
包含了很多类和接口,用于图形用户界面编程。
元素:窗口、按钮、文本框
java.awt.*
组件(Component)
基本组件
button
TextArea
Label
…
容器(Container)
Window
Frame
Dialog(弹窗)
Panel(面板)
Applet
2.2组件和容器
frame
package com.gui;
import java.awt.*;
//GUI的第一个界面
public class TestFrame {
public static void main(String[] args) {
Frame frame = new Frame(“第一个JAVA图像界面窗口”);
//设置可见性
frame.setVisible(true);
//设置窗口大小
frame.setSize(400,400);
//设置背景颜色
frame.setBackground(new Color(180, 48, 48));
//窗口弹出的初始位置
frame.setLocation(200,200);
//设置窗口大小固定
frame.setResizable(false);
}
}
发现窗口关闭不掉,停止java程序。
使用封装
package com.gui;
import java.awt.*;
public class TestFrame2 {
public static void main(String[] args) {
//展示多个窗口
MyFrame myFrame1 = new MyFrame(100, 100, 200, 200, Color.blue);
MyFrame myFrame2 =new MyFrame(300,100,200,200,Color.red);
MyFrame myFrame3 =new MyFrame(100,300,200,200,Color.yellow);
MyFrame myFrame4 =new MyFrame(300,300,200,200,Color.green);
}
}
class MyFrame extends Frame{
static int id=0;//可能存在多个窗口,我们需要一个计数器
public MyFrame(int x,int y,int w,int h,Color color){
super(“MyFrame”+(++id));
//设置窗口大小、窗口弹出的初始位置
setBounds(x, y, w, h);
//设置背景颜色
setBackground(color);
//设置可见性
setVisible(true);
}
}
效果
Panel
通过panel将窗口进行划分,对frame进行布局
package com.gui;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//Panel 可以看成一个空间,但是不能单独存在 Panel需要放到frame上
public class TestPanel {
public static void main(String[] args) {
Frame frame = new Frame();
//布局的概念
Panel panel = new Panel();
//设置布局
frame.setLayout(null);
//坐标
frame.setBounds(300,300,500,500);
frame.setBackground(new Color(69, 206, 63));
//panel设置坐标,相对于frame
panel.setBounds(50,50,400,400);
panel.setBackground(new Color(205, 39, 25));
//frame.add(panel)
frame.add(panel);
//设置可见性
frame.setVisible(true);
//监听事件,监听窗口关闭事件 SYstem。exit(0) 解决无法关闭
//适配器模式:
frame.addWindowListener(new WindowAdapter() {
//点击窗口关闭的时候需要做的事情
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
panel布局
2.3布局管理器
FlowLayout(流式布局)
package com.gui;
import java.awt.*;
public class TestFlowLayout {
public static void main(String[] args) {
Frame frame = new Frame();
//组件—按钮
Button button1 = new Button(“Button1”);
Button button2 = new Button(“Button2”);
Button button3 = new Button(“Button3”);
//设置为流式布局
//frame.setLayout(new FlowLayout());默认居中
frame.setLayout(new FlowLayout(FlowLayout.LEFT));
frame.setSize(200,200);
//添加按钮
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.setVisible(true);
}
}
BorderLayout(默认布局)
package com.gui;
import java.awt.*;
public class TestBorderLayout {
public static void main(String[] args) {
Frame frame = new Frame(“TestBorderLayout”);
Button east = new Button(“East”);
Button west = new Button(“West”);
Button south = new Button(“South”);
Button north = new Button(“North”);
Button center = new Button(“Center”);
frame.add(east,BorderLayout.EAST);
frame.add(west,BorderLayout.WEST);
frame.add(south,BorderLayout.SOUTH);
frame.add(north,BorderLayout.NORTH);
frame.add(center,BorderLayout.CENTER);
frame.setSize(300,300);
frame.setVisible(true);
}
}
GridLayout(表格布局)
package com.gui;
import java.awt.*;
public class TestGridLayout {
public static void main(String[] args) {
Frame frame = new Frame(“TestGridLayout”);
Button btn1 = new Button(“btn1”);
Button btn2 = new Button(“btn2”);
Button btn3 = new Button(“btn3”);
Button btn4 = new Button(“btn4”);
Button btn5 = new Button(“btn5”);
Button btn6 = new Button(“btn6”);
frame.setLayout(new GridLayout(3,2));
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(btn4);
frame.add(btn5);
frame.add(btn6);
frame.pack();//Java函数 自动选择最优位置
frame.setVisible(true);
}
}
2.4布局练习
实现以下界面:
GUI布局练习
package com.gui;
import java.awt.*;
public class ExerciseLayout {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setLayout(new GridLayout(2,1));
//设置窗口大小
frame.setSize(400,400);
//需要使用到的画布 在frame的基础上划分两个界面
Panel top = new Panel(new BorderLayout());
Panel topMiddle = new Panel(new GridLayout(2,1));
Panel bottom = new Panel(new BorderLayout());
Panel bottomMiddle = new Panel(new GridLayout(2,2));
//向画布中添加元素
top.add(new Button(“T-left”),BorderLayout.EAST);
top.add(new Button(“T-right”),BorderLayout.WEST);
top.add(topMiddle,BorderLayout.CENTER);
topMiddle.add(new Button(“TMid-top”));
topMiddle.add(new Button(“TMid-bottom”));
bottom.add(new Button("B-left"),BorderLayout.EAST);
bottom.add(new Button("B-right"),BorderLayout.WEST);
bottom.add(bottomMiddle,BorderLayout.CENTER);
bottomMiddle.add(new Button("bMid-top1"));
bottomMiddle.add(new Button("bMid-top2"));
bottomMiddle.add(new Button("bMid-bottom1"));
bottomMiddle.add(new Button("bMid-bottom2"));
//添加画布到容器
frame.add(top);
frame.add(bottom);
//设置窗口大小固定
frame.setResizable(false);
//设置可见
frame.setVisible(true);
<a href="https://github.com/users/fghdfghdf245/projects/337">https://github.com/users/fghdfghdf245/projects/337</a>
https://github.com/users/fghdfghdf245/projects/338
https://github.com/users/fghdfghdf245/projects/339
https://github.com/users/fghdfghdf245/projects/340
https://github.com/users/fghdfghdf245/projects/341
https://github.com/users/fghdfghdf245/projects/342
https://github.com/users/fghdfghdf245/projects/343
https://github.com/users/fghdfghdf245/projects/344
https://github.com/users/fghdfghdf245/projects/345
https://github.com/users/fghdfghdf245/projects/346
https://github.com/users/fghdfghdf245/projects/347
https://github.com/users/fghdfghdf245/projects/348
https://github.com/users/fghdfghdf245/projects/349
https://github.com/users/fghdfghdf245/projects/350
https://github.com/users/fghdfghdf245/projects/351
https://github.com/users/fghdfghdf245/projects/352
https://github.com/users/fghdfghdf245/projects/353
https://github.com/users/fghdfghdf245/projects/354
https://github.com/users/fghdfghdf245/projects/355
https://github.com/users/fghdfghdf245/projects/356
https://github.com/users/fghdfghdf245/projects/357
https://github.com/users/fghdfghdf245/projects/358
https://github.com/users/fghdfghdf245/projects/359
https://github.com/users/fghdfghdf245/projects/360
https://github.com/users/fghdfghdf245/projects/361
https://github.com/users/fghdfghdf245/projects/362
https://github.com/users/fghdfghdf245/projects/363
https://github.com/users/fghdfghdf245/projects/364
https://github.com/users/fghdfghdf245/projects/365
https://github.com/users/fghdfghdf245/projects/366
https://github.com/users/fghdfghdf245/projects/367
https://github.com/users/fghdfghdf245/projects/368
https://github.com/users/fghdfghdf245/projects/369
https://github.com/users/fghdfghdf245/projects/370
https://github.com/users/fghdfghdf245/projects/371
https://github.com/users/fghdfghdf245/projects/372
https://github.com/users/fghdfghdf245/projects/373
https://github.com/users/fghdfghdf245/projects/374
https://github.com/users/fghdfghdf245/projects/375
https://github.com/users/fghdfghdf245/projects/376
https://github.com/users/fghdfghdf245/projects/377
https://github.com/users/fghdfghdf245/projects/378
https://github.com/users/fghdfghdf245/projects/379
https://github.com/users/fghdfghdf245/projects/380
https://github.com/users/fghdfghdf245/projects/381
https://github.com/users/fghdfghdf245/projects/382
https://github.com/users/fghdfghdf245/projects/383
https://github.com/users/fghdfghdf245/projects/384
https://github.com/users/fghdfghdf245/projects/385
https://github.com/users/fghdfghdf245/projects/386
https://github.com/users/fghdfghdf245/projects/387
https://github.com/users/fghdfghdf245/projects/388
https://github.com/users/fghdfghdf245/projects/389
https://github.com/users/fghdfghdf245/projects/390
https://github.com/users/fghdfghdf245/projects/391
https://github.com/users/fghdfghdf245/projects/392
https://github.com/users/fghdfghdf245/projects/393
https://github.com/users/fghdfghdf245/projects/394
https://github.com/users/fghdfghdf245/projects/395
https://github.com/users/fghdfghdf245/projects/396
https://github.com/users/fghdfghdf245/projects/397
https://github.com/users/fghdfghdf245/projects/398
https://github.com/users/fghdfghdf245/projects/399
https://github.com/users/fghdfghdf245/projects/400
https://github.com/users/fghdfghdf245/projects/401
https://github.com/users/fghdfghdf245/projects/402
https://github.com/users/fghdfghdf245/projects/403
https://github.com/users/fghdfghdf245/projects/404
https://github.com/users/fghdfghdf245/projects/405
https://github.com/users/fghdfghdf245/projects/406
https://github.com/users/fghdfghdf245/projects/407
https://github.com/users/fghdfghdf245/projects/408
https://github.com/users/fghdfghdf245/projects/409
https://github.com/users/fghdfghdf245/projects/410
https://github.com/users/fghdfghdf245/projects/411
https://github.com/users/fghdfghdf245/projects/412
https://github.com/users/fghdfghdf245/projects/413
https://github.com/users/fghdfghdf245/projects/414
https://github.com/users/fghdfghdf245/projects/415
https://github.com/users/fghdfghdf245/projects/416
https://github.com/users/fghdfghdf245/projects/417
https://github.com/users/fghdfghdf245/projects/418
https://github.com/users/fghdfghdf245/projects/419
https://github.com/users/fghdfghdf245/projects/420
https://github.com/users/fghdfghdf245/projects/421
https://github.com/users/fghdfghdf245/projects/422
https://github.com/users/fghdfghdf245/projects/423
https://github.com/users/fghdfghdf245/projects/424
https://github.com/users/fghdfghdf245/projects/425
https://github.com/users/fghdfghdf245/projects/426
https://github.com/users/fghdfghdf245/projects/427
https://github.com/users/fghdfghdf245/projects/428
https://github.com/users/fghdfghdf245/projects/429
https://github.com/users/fghdfghdf245/projects/430
https://github.com/users/fghdfghdf245/projects/431
https://github.com/users/fghdfghdf245/projects/432
https://github.com/users/fghdfghdf245/projects/433
https://github.com/users/fghdfghdf245/projects/434
https://github.com/users/fghdfghdf245/projects/435
https://github.com/users/fghdfghdf245/projects/436
https://github.com/users/fghdfghdf245/projects/437
https://github.com/users/fghdfghdf245/projects/438
https://github.com/users/fghdfghdf245/projects/439
https://github.com/users/fghdfghdf245/projects/440
https://github.com/users/fghdfghdf245/projects/441
https://github.com/users/fghdfghdf245/projects/442
https://github.com/users/fghdfghdf245/projects/443
https://github.com/users/fghdfghdf245/projects/444
https://github.com/users/fghdfghdf245/projects/445
https://github.com/users/fghdfghdf245/projects/446
https://github.com/users/fghdfghdf245/projects/447
https://github.com/users/fghdfghdf245/projects/448
https://github.com/users/fghdfghdf245/projects/449
https://github.com/users/fghdfghdf245/projects/450
https://github.com/users/fghdfghdf245/projects/451
https://github.com/users/fghdfghdf245/projects/452
https://github.com/users/fghdfghdf245/projects/453
https://github.com/users/fghdfghdf245/projects/454
https://github.com/users/fghdfghdf245/projects/455
https://github.com/users/fghdfghdf245/projects/456
https://github.com/users/fghdfghdf245/projects/457
https://github.com/users/fghdfghdf245/projects/458
https://github.com/users/fghdfghdf245/projects/459
https://github.com/users/fghdfghdf245/projects/460
https://github.com/users/fghdfghdf245/projects/461
https://github.com/users/fghdfghdf245/projects/462
https://github.com/users/fghdfghdf245/projects/463
https://github.com/users/fghdfghdf245/projects/464
https://github.com/users/fghdfghdf245/projects/465
https://github.com/users/fghdfghdf245/projects/466
https://github.com/users/fghdfghdf245/projects/467
https://github.com/users/fghdfghdf245/projects/468
https://github.com/users/fghdfghdf245/projects/469
https://github.com/users/fghdfghdf245/projects/470
https://github.com/users/fghdfghdf245/projects/471
https://github.com/users/fghdfghdf245/projects/472
https://github.com/users/fghdfghdf245/projects/473
https://github.com/users/fghdfghdf245/projects/474
https://github.com/users/fghdfghdf245/projects/475
https://github.com/users/fghdfghdf245/projects/476
https://github.com/users/fghdfghdf245/projects/477
https://github.com/users/fghdfghdf245/projects/478
https://github.com/users/fghdfghdf245/projects/479
https://github.com/users/fghdfghdf245/projects/480
https://github.com/users/fghdfghdf245/projects/481
https://github.com/users/fghdfghdf245/projects/482
https://github.com/users/fghdfghdf245/projects/483
https://github.com/users/fghdfghdf245/projects/484
https://github.com/users/fghdfghdf245/projects/485
https://github.com/users/fghdfghdf245/projects/486
https://github.com/users/fghdfghdf245/projects/487
https://github.com/users/fghdfghdf245/projects/488
https://github.com/users/fghdfghdf245/projects/489
https://github.com/users/fghdfghdf245/projects/490
https://github.com/users/fghdfghdf245/projects/491
https://github.com/users/fghdfghdf245/projects/492
https://github.com/users/fghdfghdf245/projects/493
https://github.com/users/fghdfghdf245/projects/494
https://github.com/users/fghdfghdf245/projects/495
https://github.com/users/fghdfghdf245/projects/496
https://github.com/users/fghdfghdf245/projects/497
https://github.com/users/fghdfghdf245/projects/498
https://github.com/users/fghdfghdf245/projects/499
https://github.com/users/fghdfghdf245/projects/500
https://github.com/users/fghdfghdf245/projects/501
https://github.com/users/fghdfghdf245/projects/502
https://github.com/users/fghdfghdf245/projects/503
https://github.com/users/fghdfghdf245/projects/504
https://github.com/users/fghdfghdf245/projects/505
https://github.com/users/fghdfghdf245/projects/506
https://github.com/users/fghdfghdf245/projects/507
https://github.com/users/fghdfghdf245/projects/508
https://github.com/users/fghdfghdf245/projects/509
https://github.com/users/fghdfghdf245/projects/510
https://github.com/users/fghdfghdf245/projects/511
https://github.com/users/fghdfghdf245/projects/512
https://github.com/users/fghdfghdf245/projects/513
https://github.com/users/fghdfghdf245/projects/514
https://github.com/users/fghdfghdf245/projects/515
https://github.com/users/fghdfghdf245/projects/516
https://github.com/users/fghdfghdf245/projects/517
https://github.com/users/fghdfghdf245/projects/518
https://github.com/users/fghdfghdf245/projects/519
https://github.com/users/fghdfghdf245/projects/520
https://github.com/users/fghdfghdf245/projects/521
https://github.com/users/fghdfghdf245/projects/522
https://github.com/users/fghdfghdf245/projects/523
https://github.com/users/fghdfghdf245/projects/524
https://github.com/users/fghdfghdf245/projects/525
https://github.com/users/fghdfghdf245/projects/526
https://github.com/users/fghdfghdf245/projects/527
https://github.com/users/fghdfghdf245/projects/528
https://github.com/users/fghdfghdf245/projects/529
https://github.com/users/fghdfghdf245/projects/530
https://github.com/users/fghdfghdf245/projects/531
https://github.com/users/fghdfghdf245/projects/532
https://github.com/users/fghdfghdf245/projects/533
https://github.com/users/fghdfghdf245/projects/534
https://github.com/users/fghdfghdf245/projects/535
https://github.com/users/fghdfghdf245/projects/536
https://github.com/users/fghdfghdf245/projects/537
https://github.com/users/fghdfghdf245/projects/538
https://github.com/users/fghdfghdf245/projects/539
https://github.com/users/fghdfghdf245/projects/540
https://github.com/users/fghdfghdf245/projects/541
https://github.com/users/fghdfghdf245/projects/542
https://github.com/users/fghdfghdf245/projects/543
https://github.com/users/fghdfghdf245/projects/544
https://github.com/users/fghdfghdf245/projects/545
https://github.com/users/fghdfghdf245/projects/546
https://github.com/users/fghdfghdf245/projects/547
https://github.com/users/fghdfghdf245/projects/548
https://github.com/users/fghdfghdf245/projects/549
https://github.com/users/fghdfghdf245/projects/550
https://github.com/users/fghdfghdf245/projects/551
https://github.com/users/fghdfghdf245/projects/552
https://github.com/users/fghdfghdf245/projects/553
https://github.com/users/fghdfghdf245/projects/554
https://github.com/users/fghdfghdf245/projects/555
https://github.com/users/fghdfghdf245/projects/556
https://github.com/users/fghdfghdf245/projects/557
https://github.com/users/fghdfghdf245/projects/558
https://github.com/users/fghdfghdf245/projects/559
https://github.com/users/fghdfghdf245/projects/560
https://github.com/users/fghdfghdf245/projects/561
https://github.com/users/fghdfghdf245/projects/562
https://github.com/users/fghdfghdf245/projects/563
https://github.com/users/fghdfghdf245/projects/564
https://github.com/users/fghdfghdf245/projects/565
https://github.com/users/fghdfghdf245/projects/566
https://github.com/users/fghdfghdf245/projects/567
https://github.com/users/fghdfghdf245/projects/568
https://github.com/users/fghdfghdf245/projects/569
https://github.com/users/fghdfghdf245/projects/570
https://github.com/users/fghdfghdf245/projects/571
https://github.com/users/fghdfghdf245/projects/572
https://github.com/users/fghdfghdf245/projects/573
https://github.com/users/fghdfghdf245/projects/574
https://github.com/users/fghdfghdf245/projects/575
https://github.com/users/fghdfghdf245/projects/576
https://github.com/users/fghdfghdf245/projects/577
https://github.com/users/fghdfghdf245/projects/578
https://github.com/users/fghdfghdf245/projects/579
https://github.com/users/fghdfghdf245/projects/580
https://github.com/users/fghdfghdf245/projects/581
https://github.com/users/fghdfghdf245/projects/582
https://github.com/users/fghdfghdf245/projects/583
https://github.com/users/fghdfghdf245/projects/584
https://github.com/users/fghdfghdf245/projects/585
https://github.com/users/fghdfghdf245/projects/586
https://github.com/users/fghdfghdf245/projects/587
https://github.com/users/fghdfghdf245/projects/588
https://github.com/users/fghdfghdf245/projects/589
https://github.com/users/fghdfghdf245/projects/590
https://github.com/users/fghdfghdf245/projects/591
https://github.com/users/fghdfghdf245/projects/592
https://github.com/users/fghdfghdf245/projects/593
https://github.com/users/fghdfghdf245/projects/594
https://github.com/users/fghdfghdf245/projects/595
https://github.com/users/fghdfghdf245/projects/596
https://github.com/users/fghdfghdf245/projects/597
https://github.com/users/fghdfghdf245/projects/598
https://github.com/users/fghdfghdf245/projects/599
https://github.com/users/fghdfghdf245/projects/600
https://github.com/users/fghdfghdf245/projects/601
https://github.com/users/fghdfghdf245/projects/602
https://github.com/users/fghdfghdf245/projects/603
https://github.com/users/fghdfghdf245/projects/604
https://github.com/users/fghdfghdf245/projects/605
https://github.com/users/fghdfghdf245/projects/606
https://github.com/users/fghdfghdf245/projects/607
https://github.com/users/fghdfghdf245/projects/608
https://github.com/users/fghdfghdf245/projects/609
https://github.com/users/fghdfghdf245/projects/610
https://github.com/users/fghdfghdf245/projects/611
https://github.com/users/fghdfghdf245/projects/612
https://github.com/users/fghdfghdf245/projects/613
https://github.com/users/fghdfghdf245/projects/614
https://github.com/users/fghdfghdf245/projects/615
https://github.com/users/fghdfghdf245/projects/616
https://github.com/users/fghdfghdf245/projects/617
https://github.com/users/fghdfghdf245/projects/618
https://github.com/users/fghdfghdf245/projects/619
https://github.com/users/fghdfghdf245/projects/620
https://github.com/users/fghdfghdf245/projects/621
https://github.com/users/fghdfghdf245/projects/622
https://github.com/users/fghdfghdf245/projects/623
https://github.com/users/fghdfghdf245/projects/624
https://github.com/users/fghdfghdf245/projects/625
https://github.com/users/fghdfghdf245/projects/626
https://github.com/users/fghdfghdf245/projects/627
https://github.com/users/fghdfghdf245/projects/628
https://github.com/users/fghdfghdf245/projects/629
https://github.com/users/fghdfghdf245/projects/630
https://github.com/users/fghdfghdf245/projects/631
https://github.com/users/fghdfghdf245/projects/632
https://github.com/users/fghdfghdf245/projects/633
https://github.com/users/fghdfghdf245/projects/634
https://github.com/users/fghdfghdf245/projects/635
https://github.com/users/fghdfghdf245/projects/636
https://github.com/users/fghdfghdf245/projects/637
https://github.com/users/fghdfghdf245/projects/638
https://github.com/users/fghdfghdf245/projects/639
https://github.com/users/fghdfghdf245/projects/640
https://github.com/users/fghdfghdf245/projects/641
https://github.com/users/fghdfghdf245/projects/642
https://github.com/users/fghdfghdf245/projects/643
https://github.com/users/fghdfghdf245/projects/644
https://github.com/users/fghdfghdf245/projects/645
https://github.com/users/fghdfghdf245/projects/646
https://github.com/users/fghdfghdf245/projects/647
https://github.com/users/fghdfghdf245/projects/648
https://github.com/users/fghdfghdf245/projects/649
https://github.com/users/fghdfghdf245/projects/650
https://github.com/users/fghdfghdf245/projects/651
https://github.com/users/fghdfghdf245/projects/652
https://github.com/users/fghdfghdf245/projects/653
https://github.com/users/fghdfghdf245/projects/654
https://github.com/users/fghdfghdf245/projects/655
https://github.com/users/fghdfghdf245/projects/656
https://github.com/users/fghdfghdf245/projects/657
https://github.com/users/fghdfghdf245/projects/658
https://github.com/users/fghdfghdf245/projects/659
https://github.com/users/fghdfghdf245/projects/660
https://github.com/users/fghdfghdf245/projects/661
https://github.com/users/fghdfghdf245/projects/662
https://github.com/users/fghdfghdf245/projects/663
https://github.com/users/fghdfghdf245/projects/664
https://github.com/users/fghdfghdf245/projects/665
https://github.com/users/fghdfghdf245/projects/666
https://github.com/users/fghdfghdf245/projects/667
https://github.com/users/fghdfghdf245/projects/668
https://github.com/users/fghdfghdf245/projects/669
https://github.com/users/fghdfghdf245/projects/670
https://github.com/users/fghdfghdf245/projects/671
https://github.com/users/fghdfghdf245/projects/672
https://github.com/users/fghdfghdf245/projects/673
https://github.com/users/fghdfghdf245/projects/674
https://github.com/users/fghdfghdf245/projects/675
https://github.com/users/fghdfghdf245/projects/676
https://github.com/users/fghdfghdf245/projects/677
https://github.com/users/fghdfghdf245/projects/678
https://github.com/users/fghdfghdf245/projects/679
https://github.com/users/fghdfghdf245/projects/680
https://github.com/users/fghdfghdf245/projects/681
https://github.com/users/fghdfghdf245/projects/682
https://github.com/users/fghdfghdf245/projects/683
https://github.com/users/fghdfghdf245/projects/684
https://github.com/users/fghdfghdf245/projects/685
https://github.com/users/fghdfghdf245/projects/686
https://github.com/users/fghdfghdf245/projects/687
https://github.com/users/fghdfghdf245/projects/688
https://github.com/users/fghdfghdf245/projects/689
https://github.com/users/fghdfghdf245/projects/690
https://github.com/users/fghdfghdf245/projects/691
https://github.com/users/fghdfghdf245/projects/692
https://github.com/users/fghdfghdf245/projects/693
https://github.com/users/fghdfghdf245/projects/694
https://github.com/users/fghdfghdf245/projects/695
https://github.com/users/fghdfghdf245/projects/696
https://github.com/users/fghdfghdf245/projects/697
https://github.com/users/fghdfghdf245/projects/698
https://github.com/users/fghdfghdf245/projects/699
https://github.com/users/fghdfghdf245/projects/700
https://github.com/users/fghdfghdf245/projects/701
https://github.com/users/fghdfghdf245/projects/702
https://github.com/users/fghdfghdf245/projects/703
https://github.com/users/fghdfghdf245/projects/704
https://github.com/users/fghdfghdf245/projects/705
https://github.com/users/fghdfghdf245/projects/706
https://github.com/users/fghdfghdf245/projects/707
https://github.com/users/fghdfghdf245/projects/708
https://github.com/users/fghdfghdf245/projects/709
https://github.com/users/fghdfghdf245/projects/710
https://github.com/users/fghdfghdf245/projects/711
https://github.com/users/fghdfghdf245/projects/712
https://github.com/users/fghdfghdf245/projects/713
https://github.com/users/fghdfghdf245/projects/714
https://github.com/users/fghdfghdf245/projects/715