import java.awt.*;
public class GUITest {
public static void main(String[] args){
Frame f = new Frame("我是标题栏");
Panel p = new Panel();
Panel p2 = new Panel();
f.setSize(300,200);
f.setBackground(Color.PINK);
f.setLayout(new GridLayout(2,1));
// f.setLayout(new FlowLayout(FlowLayout.CENTER,100,100));
Panel pp = new Panel();
p.setLayout(new BorderLayout());
p.add(new MyButton("cancel",100,100),BorderLayout.EAST);
p.add(new MyButton("cancel",100,100),BorderLayout.WEST);
pp.setLayout(new GridLayout(2,1));
pp.add(new MyButton("cancel",100,100));
pp.add(new MyButton("cancel",100,100));
p.add(pp,BorderLayout.CENTER);
Panel pp2 = new Panel();
p2.setLayout(new BorderLayout());
p2.add(new MyButton("cancel",100,100),BorderLayout.EAST);
p2.add(new MyButton("cancel",100,100),BorderLayout.WEST);
pp2.setLayout(new GridLayout(2,2));
pp2.add(new MyButton("cancel",100,100));
pp2.add(new MyButton("cancel",100,100));
pp2.add(new MyButton("cancel",100,100));
pp2.add(new MyButton("cancel",100,100));
p2.add(pp2,BorderLayout.CENTER);
// p.setLayout(null);
// p.setVisible(true);
f.add(p);
f.add(p2);
// f.pack();
f.setVisible(true);
System.out.println("HelloGUI");
}
}
class MyButton extends Button {
MyButton(String title,int width,int height){
super(title);
// setSize(width,height);
}
}
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.awt.event.KeyEvent.*;
public class GUIPaint {
public static void main(String[] args){
new YourFrame("这是标题",200,200,800,800);
}
}
class YourFrame extends Frame {
ArrayList<Point> points = null;
YourFrame(String title,int x,int y,int width,int height){
super(title);
points = new ArrayList<>();
setBounds(x,y,width,height);
addMouseListener(new YourFrameMouseListener());
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
super.keyPressed(e);
switch (e.getKeyCode()){
case KeyEvent.VK_UP:
System.out.println("UP");
break;
case KeyEvent.VK_DOWN:
System.out.println("DOWN");
break;
case KeyEvent.VK_LEFT:
System.out.println("LEFT");
break;
case KeyEvent.VK_RIGHT:
System.out.println("RIGHT");
break;
}
System.out.println("Key 键盘事件发生 键:" + e.getKeyChar());
}
});
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
setVisible(false);
System.out.println(e);
System.exit(0);
}
});
setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
Color c = g.getColor();
Iterator<Point> pIter = points.iterator(); //取存放Point点的ArrayList的容器的游标
Point p = null;
g.setColor(Color.BLACK);
while(pIter.hasNext()){ //利用游标取出所有的Point panit函数每次调用需要重新画出所有的points容器中的对象
p = pIter.next();
g.fillOval(p.x-(50/2),p.y-(50/2),50,50);
}
g.setColor(c);
}
//Adapter已经帮助实现了所有的事件响应方法,继承只需要重写自己需要重写的方法的部分,
// 否则必须自己实现所有的方法
class YourFrameMouseListener extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
Point p = new Point(e.getX(),e.getY());
points.add(p);
repaint();
}
}
}