java组件使用_Java中awt基本组件及其使用方法

1,按钮  此类创建一个标签按钮。当按下该按钮时,应用程序能执行某项动作。它有两种构造方法:  public Button()  构造一个标签字符串为空的按钮。  public Button(String label)  构造一个带指定标签的按钮。  当用户鼠标单击按钮时,AWT事件处理系统将向按钮发送一个ActionEvent事件对象,如果应用程序需要对此做出反应,那么就需要注册事件监听程序并实现ActionListener接口。  public void addActionListener(ActionListener l)添加指定的动作侦听器,以接收发自此按钮的动作事件。当用户在此按钮上按下或释放鼠标时,发生动作事件。如果 l 为 null,则不抛出任何异常,也不执行任何动作。

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Color;

import java.awt.Frame;

import java.awt.TextField;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

/**

* @author  Amy  E-mail:chuxiumin03@126.com

* @date    创建时间:2017年10月9日 上午11:05:20

* @version 1.0

*/

public class TestButton {

/**

* @Title: main

* @Description: TODO(使用AWT图形用户界面的Button组件例子)

* @param args

* @return:  void

* @throws

*/

public static void main(String[] args) {

String s1="You have Pressed the Button";

String s2="You have released the Button";

Frame frame  = new Frame();

Button button = new Button("click me");

TextField tf = new TextField();

button.setForeground(Color.blue);

frame.setTitle("button example");

frame.add(tf,BorderLayout.CENTER);

frame.add(button,BorderLayout.SOUTH);

frame.setVisible(true);

frame.pack();

// 窗体关闭

frame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){

System.exit(0);

}});

// 增加鼠标响应事件

button.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {

tf.setText(s2);

}

@Override

public void mousePressed(MouseEvent e) {

tf.setText(s1);

}

@Override

public void mouseExited(MouseEvent e) {

}

@Override

public void mouseEntered(MouseEvent e) {

}

@Override

public void mouseClicked(MouseEvent e) {

}

});

}

}

运行结果:    2,复选框  public class Checkbox extends Component implements ItemSelectable, Accessible  复选框是一个可处于“开”(true) 或“关”(false) 状态的图形组件。单击复选框可将其状态从“开”更改为“关”,或从“关”更改为“开”。  构造方法有四种:  Checkbox()  使用空字符串标签创建一个复选框。  Checkbox(String label)  使用指定标签创建一个复选框。  Checkbox(String label, boolean state)  使用指定标签创建一个复选框,并将它设置为指定状态。  Checkbox(String label, boolean state, CheckboxGroup group)  构造具有指定标签的 Checkbox,并将它设置为指定状态,使它处于指定复选框组中。  Checkbox(String label, CheckboxGroup group, boolean state)  创建具有指定标签的 Checkbox,并使它处于指定复选框组内,将它设置为指定状态。  方法摘要:  addItemListener(ItemListener l)  添加指定的项侦听器,以接收来自此复选框的项事件。  要想对复选框进行相应就需要实现ItemListener内部的itemStateChanged方法。通过ItemEvent的getItemSelectable可以获得改变的复选框对象,通过getStateChange可以获得改变后的状态。

import java.awt.BorderLayout;

import java.awt.Checkbox;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Panel;

import java.awt.TextField;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.KeyEvent;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import java.io.File;

import javax.print.DocFlavor.URL;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JCheckBox;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

/**

* @author  Amy  E-mail:chuxiumin03@126.com

* @date    创建时间:2017年10月9日 下午3:19:06

* @version 1.0

*/

public class TestCheckBox  extends JPanel implements ItemListener {

/**

* @Title: main

* @Description: TODO(这里用一句话描述这个方法的作用)

* @param args

* @return:  void

* @throws

*/

/**

*

*/

JCheckBox chin;

JCheckBox glass;

JCheckBox hire;

JCheckBox teeth;

StringBuffer choice;

JLabel labelPicture;

public TestCheckBox() {

super(new BorderLayout());

//创建复选框按键,并设置快捷键,和选定

chin = new JCheckBox("chin");

chin.setMnemonic(KeyEvent.VK_C);

chin.setSelected(true);

glass= new JCheckBox("glass");

glass.setMnemonic(KeyEvent.VK_G);

glass.setSelected(true);

hire = new JCheckBox("hire");

hire.setMnemonic(KeyEvent.VK_H);

hire.setSelected(true);

teeth = new JCheckBox("teeth");

teeth.setMnemonic(KeyEvent.VK_T);

teeth.setSelected(true);

//设置一个panel,将复选框放入同一个panel

JPanel checkPanel = new JPanel(new GridLayout(0,1));

checkPanel.add(chin);

checkPanel.add(glass);

checkPanel.add(hire);

checkPanel.add(teeth);

//添加复选框的监听事件

chin.addItemListener(this);

glass.addItemListener(this);

hire.addItemListener(this);

teeth.addItemListener(this);

//将复选框的panel添加到面板的左边

add(checkPanel,BorderLayout.WEST);

//创建图片显示区

labelPicture = new JLabel();

//将图片显示区放到面板中间

add(labelPicture,BorderLayout.CENTER);

//设置面板的边界,使得控件能够与边界有一定距离

setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));

//设置初始图片

choice = new StringBuffer("cght");

//显示更新图片

upDatePicture();

}

private void upDatePicture() {

ImageIcon ii = createImageIcon(File.separator+"images"+

File.separator+"geek"+

File.separator+"geek-"+

choice.toString()+".gif");

labelPicture.setIcon(ii);

}

private ImageIcon createImageIcon(String string) {

java.net.URL url = TestCheckBox.class.getResource(string);

if(url != null)

return new ImageIcon(url);

else

System.out.println("image "+string +"not exist!");

return null;

}

public static void createAndShowGUI()

{

JFrame frame = new JFrame("复选框测试");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JComponent panel = new TestCheckBox();

frame.add(panel);

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

createAndShowGUI();

}

});

}

//接受处理复选框点击事件

@Override

public void itemStateChanged(ItemEvent e) {

//获取改变的复选按键

Object source = e.getItemSelectable();

int index = -1;

char c = '-';

if (source==chin) {

index = 0;

c = 'c';

} else if(source == glass){

index = 1;

c = 'g';

}else if(source == hire){

index = 2;

c = 'h';

}else if(source == teeth)

{

index = 3;

c = 't';

}

//判断改变的按键的改变后的状态

if(e.getStateChange() == ItemEvent.DESELECTED)

c = '-';

choice.setCharAt(index, c);

upDatePicture();

}

}

运行结果:

3,单选框  public class JRadioButton extends JToggleButton implements Accessible  实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。与 ButtonGroup 对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。(创建一个 ButtonGroup 对象并用其 add 方法将 JRadioButton 对象包含在此组中。)

import java.awt.BorderLayout;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

/**

* @author  Amy  E-mail:chuxiumin03@126.com

* @date    创建时间:2017年10月9日 下午6:04:32

* @version 1.0

*/

public class SingleBoxDemo {

/**

* @Title: main

* @Description: TODO(这里用一句话描述这个方法的作用)

* @param args

* @return:  void

* @throws

*/

public static void main(String[] args) {

SingleBox sb=new SingleBox();

sb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

sb.setVisible(true);

sb.setTitle("SingleBox");

}

}

class SingleBox extends JFrame{

private JLabel label;

private JPanel buttonPanel;

private static final int DEFAULT_SIZE=36;

private ButtonGroup group;

public SingleBox(){

setSize(400,300);

label=new JLabel("Wasting yout time is equals to wasting yout life");

label.setFont(new Font("Serif",Font.PLAIN,DEFAULT_SIZE));

add(label,BorderLayout.CENTER);

group=new ButtonGroup();

buttonPanel=new JPanel();

addRadioButton("Small",8);

addRadioButton("Mediun",12);

addRadioButton("Large",18);

addRadioButton("Extra large",36);

add(buttonPanel,BorderLayout.SOUTH);

}

public void addRadioButton(String name,final int size){

boolean selected=size==DEFAULT_SIZE;

JRadioButton Button=new JRadioButton(name,selected);

group.add(Button);

buttonPanel.add(Button);

ActionListener actionListener = new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

label.setFont(new Font("Serif",Font.PLAIN, size));

}

};

Button.addActionListener(actionListener);

}

}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值