Day 5 狂神说Java基础笔记(GUI10-16)

10-画笔
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Hello {
 public static void main(String[] args){
// Frame frame=new Frame("给🐖的游戏"); 
 new MyPaint().loadFrame();
 }
}
class MyPaint extends Frame{
 public void loadFrame() {
  setBounds(200, 200, 600, 500);
  setVisible(true);
 }
 public void paint(Graphics g) {
  //super.paint(g); 
  g.setColor(Color.blue);
  g.drawOval(100, 100, 100, 100);
 }
 //养成习惯,画笔用完,还原到最初的颜色
}
11-鼠标监听
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
public class Hello {
 public static void main(String[] args){
  new MyFrame("给🐖");
 }
}
class MyFrame extends Frame{
 ArrayList points;
 public MyFrame(String title) {
  // TODO Auto-generated constructor stub
  super(title);
  setBounds(200, 200, 400, 400);
  //存鼠标产生的点
  points=new ArrayList<>();
  this.addMouseListener(new MyMouseListener());
  setVisible(true);
 }
 public void paint(Graphics g) {
  //画画,监听鼠标事件  
  Iterator iterator=points.iterator();
  while (iterator.hasNext()) {
   Point point=(Point)iterator.next();
   g.setColor(Color.cyan);
   g.fillOval(point.x, point.y, 10, 10);
  }
 }
 //添加一个点到界面上面
 public void addPaint(Point point) {
  points.add(point);
 }
 //适配器模式
 private class MyMouseListener extends MouseAdapter {
  //按下,弹起,按住不放
  public void mousePressed(MouseEvent e) {
   MyFrame myFrame=(MyFrame)e.getSource();
   //点击的时候,界面上产生一个点
   myFrame.addPaint(new Point(e.getX(),e.getY()));
   //没次点击鼠标都需要重画一遍
   myFrame.repaint();
  }
 }
}
12-窗口监听
import java.awt.*;
import java.awt.event.WindowAdapter;
public class Hello {
 public static void main(String[] args){
  new WindowFrame();
 }
}
@SuppressWarnings("serial")
class WindowFrame extends Frame{
 public WindowFrame() {
  // TODO Auto-generated constructor stub
  setVisible(true);
  setBackground(Color.CYAN);
  setBounds(100,100,200,200);
  addWindowListener(new MyWindowListener());
 } 
 class MyWindowListener extends WindowAdapter{
  public void windowClosing(WindowEvent e) {
   System.exit(0);
  }
 }
}
13-键盘监听
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class Hello {
 public static void main(String[] args){
  KeyFrame keyFrame=new KeyFrame();
 }
}
class KeyFrame extends Frame{
 public KeyFrame() {
  super();
  setBounds(1, 1, 400, 400);
  setVisible(true);
  this.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent f) {
    System.exit(0);
   }
  });  
  this.addKeyListener(new KeyAdapter() {
  //键盘按下 
   @Override
   public void keyPressed(KeyEvent e) {
    // TODO Auto-generated method stub
    //获得按键内容
    int keyCode=e.getKeyCode();
    System.out.println(keyCode);
    if (keyCode==KeyEvent.VK_UP) {
     System.out.print("nihao");
    }    
   } 
  });  
 }
}
14-Swing的JFrame

AWT底层,Swing封装
窗口,面板

DISPOSE_ON_CLOSE??//没懂

标签居中,注意Container

import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class Hello {
 //init()初始化
 public void init() {
  JFrame jframe=new JFrame("给🐖的💣");
  jframe.setVisible(true);
  jframe.setBounds(1, 1, 100, 100);
  jframe.setBackground(Color.BLUE);
  jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  //设置文字,并居中
  JLabel jlabel=new JLabel("开始涉险!") ;
  jlabel.setHorizontalAlignment(SwingConstants.CENTER);
  jframe.add(jlabel);
  //容器的颜色是真正的颜色
  Container container=jframe.getContentPane();
  container.setBackground(Color.GREEN);
 }
 public static void main(String[] args){
  //建立一个窗口
  new Hello().init();
 }
}
15-JDialog

3:18 hhh

import java.awt.Color;
import java.awt.Container;
import java.awt.Dialog;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
//主窗口
public class Hello extends JFrame{
 public Hello() {
  // TODO Auto-generated constructor stub
  super("Surprise");
  this.setVisible(true);
  this.setSize(100, 100);
  this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  Container container=this.getContentPane();
  //绝对布局
  container.setLayout(null);
  JButton jButton=new JButton("try");
  jButton.setBounds(0,0,50,50);
  container.add(jButton);
  //点击按钮时弹出弹窗
  jButton.addActionListener(new ActionListener() {   
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    //弹窗
    new MyDialog();
   }
  });
 }
 public static void main(String[] args) {
  new Hello();
 }
}
//弹窗窗口
class MyDialog extends JDialog{
 public MyDialog() {
  // TODO Auto-generated constructor stub
  this.setVisible(true);
  this.setBounds(100,100,400,200);
  //弹窗默认了关闭方法,下一行会报错
  //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  Container container=this.getContentPane();
  container.setLayout(null);
  JLabel jLabel=new JLabel("where is my birthday gift?");
  jLabel.setBounds(0,0,3000,100);
  container.add(jLabel);
 }
}

Web端弹窗—layui

16-Icon,ImageIcon标签
MyImageIcon->JFrame
URL url=MyImageIcon.class.getResource();//获取图片的地址,
//图片在当前类文件夹下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值