java windowiconified_Java 图形界面编程

简单入门

package GUI;

import java.awt.*;

/**

* GUI:Graphical user interface

*

* CLI:command line user interface

*

* awt:abstract window toolkit 抽象窗口工具包

*组件就是对象

*

*/

public class Driver {

public static void main(String[] args) {

/**

* 创建窗体对象

*/

//Frame frame=new Frame();

Frame frame=new Frame("杨钰莹");//相当于 Frame frame=new Frame(); frame.setTitle("fuck Java");

/**

* 窗体标题

*/

//frame.setTitle("fuck Java");

/**

* 设置窗体大小

*/

frame.setSize(640,480);//单位是:像素

/**

* 设置窗体位置

*/

frame.setLocation(100,200);

/**

* 调用一个方法,设置窗体可见

*/

// frame.show();//丢弃的方法

frame.setVisible(true);//推荐使用的方法

System.out.println("hello world");

}

}

关闭窗口操作

知识储备

1.事件源:事件发生的地方

2.事件: 就是要发生的事情

3.时间处理 就是针对发生的事情做出处理方案

4.事件监听 就是把 事件源 和 事件 关联起来

举例子:人受伤事件

事件源:人 具体的对象

Person p1=new Person("鲁智深");

Person p2=new Person("张飞");

事件:受伤

interface 受伤接口{

一拳();

一脚();

一块砖头();

}

事件处理:

受伤处理类 implements 受伤接口{

一拳(){

print("手残废了");

}

一脚(){

print("脚断了");

}

一块砖头(){

print("砖头碎了");

}

}

事件监听:

p1.注册监听(受伤接口);

方法 1

package GUI;

import java.awt.*;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

/**

* GUI:Graphical user interface

*

* CLI:command line user interface

*

* awt:abstract window toolkit 抽象窗口工具包

*组件就是对象

*

*/

public class Driver {

public static void main(String[] args) {

/**

* 创建窗体对象

*/

Frame frame=new Frame("杨钰莹");

/**

* 设置窗体属性

*/

frame.setBounds(100,200,640,480);

/**

* 让窗体关闭

*/

//事件源

//事件:关闭

//事件处理:关闭窗口(System.exit(0))

//事件监听

frame.addWindowListener(new WindowListener() {

@Override

public void windowOpened(WindowEvent e) {

}

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

@Override

public void windowClosed(WindowEvent e) {

}

@Override

public void windowIconified(WindowEvent e) {

}

@Override

public void windowDeiconified(WindowEvent e) {

}

@Override

public void windowActivated(WindowEvent e) {

}

@Override

public void windowDeactivated(WindowEvent e) {

}

});

//设置窗体可见

frame.setVisible(true);//推荐使用的方法

System.out.println("hello world");

}

}

方法2

package GUI;

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

/**

* GUI:Graphical user interface

*

* CLI:command line user interface

*

* awt:abstract window toolkit 抽象窗口工具包

*组件就是对象

*

*/

public class Driver {

public static void main(String[] args) {

/**

* 创建窗体对象

*/

Frame frame=new Frame("杨钰莹");

/**

* 设置窗体属性

*/

frame.setBounds(100,200,640,480);

/**

* 让窗体关闭

*/

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//设置窗体可见

frame.setVisible(true);//推荐使用的方法

System.out.println("hello world");

}

}

按钮事件小案例

package GUI;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

/**

* 需求:把 按钮 添加到窗体,并对按钮添加点击事件

* 1.创建窗体对象

* 2.创建按钮对象和

* 3.把按钮添加到窗体

* 4.窗体现实

*/

public class Driver {

public static void main(String[] args) {

//1.创建窗体对象

Frame frame=new Frame("金品梅");

//设置属性

frame.setBounds(100,200,640,480);

//设置布局为流式布局

frame.setLayout(new FlowLayout());

//2.创建按钮对象和

Button button=new Button("ok");

// button.setSize(20,10);

//3.把按钮添加到窗体

frame.add(button);

//设置窗体关闭处理

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//按钮添加事件

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println("潘金莲");

}

});

//4.窗体显示

frame.setVisible(true);

}

}

模仿QQ在一个文本框输入 在另一个文本框回显

package GUI;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class Driver {

public static void main(String[] args) {

//创建窗体对象

Frame frame=new Frame("金品梅");

//设置属性

frame.setBounds(100,200,640,480);

//设置布局为流式布局

frame.setLayout(new FlowLayout());

//创建文本框

TextField textField=new TextField(20);

//创建按钮

Button button=new Button("submit data");

//创建文本域

TextArea textArea=new TextArea(12,80);

//把组建添加窗体

frame.add(textArea);

frame.add(textField);

frame.add(button);

//对按钮添加事件

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

//获取文本框的值

String tf=textField.getText().trim();

//清空数据

textField.setText(" ");

//设置给文本域

// textArea.setText(tf);

textArea.append(tf+"\t\n");

//获取光标

textField.getCursor();

}

});

//设置窗体关闭处理

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//窗体显示

frame.setVisible(true);

}

}

鼠标移动到按钮上 (单击或)自动变色

package GUI;

import java.awt.*;

import java.awt.event.*;

public class Driver {

public static void main(String[] args) {

//创建窗体对象

Frame frame=new Frame("金品梅");

//设置属性

frame.setBounds(100,200,640,480);

//设置布局为流式布局

frame.setLayout(new FlowLayout());

Button redButton=new Button("red");

Button greenButton=new Button("green");

Button blueButton=new Button("blue");

//Button redButton=new Button("red");

frame.add(redButton);

frame.add(greenButton);

frame.add(blueButton);

//对按钮添加动作事件 方法1

/*redButton.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

frame.setBackground(Color.RED);

}

});

*/

//对按钮添加鼠标点击事件 方法2

/* redButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

frame.setBackground(Color.RED);

}

});*/

//对按钮添加鼠标进入事件 方法3

redButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseEntered(MouseEvent e) {

frame.setBackground(Color.RED);

}

});

redButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseExited(MouseEvent e) {

frame.setBackground(Color.orange);

}

});

greenButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseEntered(MouseEvent e) {

frame.setBackground(Color.GREEN);

}

});

greenButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseExited(MouseEvent e) {

frame.setBackground(Color.orange);

}

});

blueButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseEntered(MouseEvent e) {

frame.setBackground(Color.BLUE);

}

});

blueButton.addMouseListener(new MouseAdapter() {

@Override

public void mouseExited(MouseEvent e) {

frame.setBackground(Color.orange);

}

});

//设置窗体关闭处理

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//窗体显示

frame.setVisible(true);

}

}

(多级)菜单

package GUI;

import java.awt.*;

import java.awt.event.*;

import java.io.IOException;

/**

* 你输入的如果是非数字 字符,就取消你键盘录入的效果

*/

public class Driver {

public static void main(String[] args) {

//创建窗体对象

Frame frame=new Frame("金品梅");

//设置属性

frame.setBounds(100,200,640,480);

//设置布局为流式布局

frame.setLayout(new FlowLayout());

//创建菜单栏

MenuBar menuBar=new MenuBar();

//创建菜单

Menu menu1=new Menu("file");

Menu menu2=new Menu("open");

//创建菜单项

MenuItem menuItem1=new MenuItem("moives");

MenuItem menuItem2=new MenuItem("pictures");

MenuItem menuItem3=new MenuItem("books");

MenuItem menuItem4=new MenuItem("text");

MenuItem menuItem5=new MenuItem("exit system");

//谁添加谁

/*menu1.add(menuItem);

menuBar.add(menu1);*/

/**

* 多级菜单

*/

menu2.add(menuItem1);

menu2.add(menuItem2);

menu2.add(menuItem3);

menu2.add(menuItem4);

menu1.add(menu2);

menu1.add(menuItem5);

menuBar.add(menu1);

//设置菜单栏

frame.setMenuBar(menuBar);

/**

* 一级菜单

*/

//添加菜单项监听

menuItem1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

frame.setTitle(menuItem1.getLabel());

}

});

menuItem2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

frame.setTitle(menuItem2.getLabel());

}

});

menuItem3.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

frame.setTitle(menuItem3.getLabel());

}

});

menuItem4.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

Runtime runtime=Runtime.getRuntime();

try {

runtime.exec("notepad");

} catch (IOException e1) {

e1.printStackTrace();

}

}

});

menuItem5.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

//设置窗体关闭处理

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//窗体显示

frame.setVisible(true);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值