黑马程序员_图形用户界面_总结、实例练习

-------------------------- android培训java培训、期待与您交流! --------------------------

 

当我学习完图形用户界面视频后,我参考了一些其他的资料,这里我做个总结,也顺便做了一个例子

AWT (Abstract Window Toolkit) APIJava 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT支持图形用户界面编程的功能包括: 用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。

java.awt包中提供了GUI设计所使用的类和接口。

java.awt包提供了基本的java程序的GUI设计工具。

主要包括下述三个概念:
  组件--Component
  容器--Container
  布局管理器--LayoutManager

AWT来生成图形化用户界面时,组件和容器的概念非常重要。组件是各种各样的类,封装了图形系统的许多最小单位,例如按钮、窗口等等;而容器也是组件,它的最主要的作用是装载其它组件,但是象Panel这样的容器也经常被当作组件添加到其它容器中,以便完成杂的界面设计。布局管理器是java语言与其它编程语言在图形系统方面较为显著的区别,容器中各个组件的位置是由布局管理器来决定的,共有5种布局管理器,每种布局管理器都有自己的放置规律。事件处理机制能够让图形界面响应用户的操作,主要涉及到事件源、事件、事件处理者等三方,事件源就是图形界面上的组件,事件就是对用户操作的描述,而事件处理者是处理事件的类。因此,对于AWT中所提供的各个组件,我们都需要了解该组件经常发生的事件以及处理该事件的相应的监听器接口。

我所做的小例子:

基本类

package util;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Frist extends JFrame {

JTextField t1,t2,t3,t4,t5,t6,t7;
JLabel l0,l1,l2,l3,l4,l5,l6,l7,l8;
JButton b1,b2,b3,b4,b5,b6,b7,b8;
Font font=new Font("宋体",1,14);
Font font1=new Font("宋体",1,20);
Font font2=new Font("宋体",1,15);
JPanel jp=(JPanel)this.getContentPane();
JComboBox box;
String str1="";

Frist(){
init();
}

private void init() {
// TODO Auto-generated method stub
Toolkit tk=Toolkit.getDefaultToolkit();
Image image=tk.createImage("图标.jpg");
this.setIconImage(image);
this.setBounds(300, 250, 480, 400);
this.setVisible(true);
jp.setLayout(null);
jp.setBackground(new Color(200,210,100));
this.setTitle(" 知识竞赛记分器");
this.setLayout(null);
this.setResizable(false);
this.setDefaultCloseOperation(3);


ImageIcon image1 = new ImageIcon("1副本.jpg");
l0=new JLabel(image1);
l0.setBounds(0, 0, 480, 60);
jp.add(l0);

ImageIcon image2 = new ImageIcon("m3.jpg");
l8=new JLabel(image2);
l8.setBounds(213, 0, 260, 340);
jp.add(l8);

l1=new JLabel("第一组:six god");
l1.setBounds(30, 70, 150, 20);
l1.setFont(font);
jp.add(l1);
t1=new JTextField(10);
t1.setText("100");
t1.setFont(font1);
t1.setForeground(Color.red);
t1.setBounds(160, 70, 50, 20);
jp.add(t1);

l2=new JLabel("第二组:另 类");
l2.setBounds(30, 100, 150, 20);
l2.setFont(font);
jp.add(l2);
t2=new JTextField(10);
t2.setText("100");
t2.setFont(font1);
t2.setForeground(Color.red);
t2.setBounds(160, 100, 50, 20);
jp.add(t2);

l3=new JLabel("第三组:励志旗航");
l3.setBounds(30, 130, 150, 20);
l3.setFont(font);
jp.add(l3);
t3=new JTextField(10);
t3.setText("100");
t3.setFont(font1);
t3.setForeground(Color.red);
t3.setBounds(160, 130, 50, 20);
jp.add(t3);

l4=new JLabel("第四组:风华正茂");
l4.setFont(font);
l4.setBounds(30, 160, 150, 20);
jp.add(l4);
t4=new JTextField(10);
t4.setText("100");
t4.setFont(font1);
t4.setForeground(Color.red);
t4.setBounds(160, 160, 50, 20);
jp.add(t4);

l5=new JLabel("第五组:独领风骚");
l5.setBounds(30, 190, 150, 20);
l5.setFont(font);
jp.add(l5);
t5=new JTextField(10);
t5.setText("100");
t5.setFont(font1);
t5.setForeground(Color.red);
t5.setBounds(160, 190, 50, 20);
jp.add(t5);

l6=new JLabel("第六组:we can");
l6.setBounds(30, 220, 150, 20);
l6.setFont(font);
jp.add(l6);
t6=new JTextField(10);
t6.setText("100");
t6.setFont(font1);
t6.setForeground(Color.red);
t6.setBounds(160, 220, 50, 20);
jp.add(t6);

l7=new JLabel("第七组: First ");
l7.setBounds(30, 250, 150, 20);
l7.setFont(font);
jp.add(l7);
t7=new JTextField(10);
t7.setText("100");
t7.setFont(font1);
t7.setForeground(Color.red);
//t7.setEnabled(false);
//t7.setFont(font1);
t7.setBounds(160, 250, 50, 20);
jp.add(t7);

String str[]={"选择组","第一组","第二组","第三组","第四组","第五组","第六组","第七组"};
box=new JComboBox(str);
box.setBounds(30, 300, 80, 40);
box.setForeground(Color.blue);
box.setFont(font2);
jp.add(box);
box.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == box) {
int index = box.getSelectedIndex();
//cb2.getSelectedItem() 的返回值是 object
//System.out.println(box.getSelectedItem().toString());
switch (index) {
case 0:
str1="1";
break;
case 1:
str1=box.getSelectedItem().toString();
break;
case 2:
str1=box.getSelectedItem().toString();
break;
case 3:
str1=box.getSelectedItem().toString();
break;
case 4:
str1=box.getSelectedItem().toString();
break;
case 5:
str1=box.getSelectedItem().toString();
break;
case 6:
str1=box.getSelectedItem().toString();
break;
case 7:
str1=box.getSelectedItem().toString();
break;
}
}
}
});


b1=new JButton("加 10 分");
b1.setBounds(115, 290, 80, 30);
jp.add(b1);
b1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/success.wav");//单击按钮后,实例背景音乐
//new TestMusic("music/huang.mp3");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i+=10;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i+=10;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i+=10;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i+=10;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i+=10;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i+=10;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i+=10;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});


b2=new JButton("减 10 分");
b2.setBounds(115, 325, 80, 30);
jp.add(b2);
b2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/sub.wav");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i-=10;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i-=10;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i-=10;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i-=10;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i-=10;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i-=10;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i-=10;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});



b3=new JButton("加 15 分");
b3.setBounds(200, 290, 80, 30);
jp.add(b3);
b3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/success.wav");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i+=15;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i+=15;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i+=15;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i+=15;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i+=15;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i+=15;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i+=15;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});

b4=new JButton("减 15 分");
b4.setBounds(200, 325, 80, 30);
jp.add(b4);
b4.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/sub.wav");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i-=15;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i-=15;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i-=15;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i-=15;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i-=15;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i-=15;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i-=15;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});


b5=new JButton("加 20 分");
b5.setBounds(285, 290, 80, 30);
jp.add(b5);
b5.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/success.wav");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i+=20;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i+=20;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i+=20;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i+=20;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i+=20;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i+=20;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i+=20;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});

b6=new JButton("减 20 分");
b6.setBounds(285, 325, 80, 30);
jp.add(b6);
b6.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new TestMusic("music/sub.wav");
if(str1.equals("")) {

}
if(str1.equals("1")) {

}
if(str1.equals("第一组")) {
int i=Integer.parseInt(t1.getText());
i-=20;
String s=(String.valueOf(i));
t1.setText(s);
}
if(str1.equals("第二组")) {
int i=Integer.parseInt(t2.getText());
i-=20;
String s=(String.valueOf(i));
t2.setText(s);
}
if(str1.equals("第三组")) {
int i=Integer.parseInt(t3.getText());
i-=20;
String s=(String.valueOf(i));
t3.setText(s);
}
if(str1.equals("第四组")) {
int i=Integer.parseInt(t4.getText());
i-=20;
String s=(String.valueOf(i));
t4.setText(s);
}
if(str1.equals("第五组")) {
int i=Integer.parseInt(t5.getText());
i-=20;
String s=(String.valueOf(i));
t5.setText(s);
}
if(str1.equals("第六组")) {
int i=Integer.parseInt(t6.getText());
i-=20;
String s=(String.valueOf(i));
t6.setText(s);
}
if(str1.equals("第七组")) {
int i=Integer.parseInt(t7.getText());
i-=20;
String s=(String.valueOf(i));
t7.setText(s);
}
}

});



b7=new JButton(" 归 整 ");
b7.setBounds(375, 290, 80, 30);
jp.add(b7);
b7.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
t1.setText("100");
t2.setText("100");
t3.setText("100");
t4.setText("100");
t5.setText("100");
t6.setText("100");
t7.setText("100");
}
});

b8=new JButton(" 退 出 ");
b8.setBounds(375, 325, 80, 30);
jp.add(b8);
b8.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});

this.validate();
}

}

主类

package util;

import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub


SwingUtilities.invokeLater(new Runnable(){

public void run() {
try{
// TODO Auto-generated method stub
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch (Exception exception) {
// TODO: handle exception
}
new Frist();

}

});


}

}

-------------------------- android培训java培训、期待与您交流! --------------------------

详细请查看:http://edu.csdn.net/heima

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值