Java 按钮组件_提交按钮

本文介绍Swing中的按钮组件实现,包括使用JButton显示图标和文字、设置按钮大小、禁用状态及添加事件监听器等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按钮在Swing中是非常常见的组件,用于触发特定动作。Swing中提供多种按钮,包括提交按钮、复选框、单选按钮等,这些按钮都是从AbstractButton类中继承而来的。

提交按钮

Swing中的提交按钮(JButton)由JButton对象表示。

在Swing按钮上不仅能够显示文字,还能够显示图标。

package com.xsh;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class JButtonTest extends JFrame {

	public JButtonTest() {
		URL url = JButtonTest.class.getResource("coffee.png");	
		Icon icon = new ImageIcon(url);		//首先创建一个Icon对象
		Container container = getContentPane();	//定义一个容器
		setTitle("提交按钮组件");		//设置容器标题
		setLayout(new GridLayout(3,2,5,5));		//设置网格布局管理器
		for(int i =0; i< 5; i++) {		//在循环中创建JButton图标,并添加到容器中
			JButton jb = new JButton("button" + i, icon);
			container.add(jb);
			if(i%2  == 0) {
				jb.setEnabled(false); 	//某些按钮不可用
			}
		}
		JButton jb = new JButton();		//定义一个额外的JButton
		jb.setMaximumSize(new Dimension(90,30));	//设置按钮与图片相同大小
		jb.setIcon(icon);	//为按钮设置图标
		jb.setHideActionText(true);	
		jb.setToolTipText("图片按钮");	//设置按钮提示为文字(鼠标轻放上按钮之后的提示信息)
		jb.setBorderPainted(false);		//设置按钮边界不显示
		jb.addActionListener(new ActionListener() {		//为按钮添加点击事件监听器

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				JOptionPane.showMessageDialog(null, "弹出对话框");
				
			}
		});
		container.add(jb);	//将最后一个按钮添加到容器中
		setVisible(true);	//设置容器可见行
		setSize(600,300);	//设置容器大小
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);		//窗口关闭方式
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new JButtonTest();
	}

}

在本实例中,使用了两种方式来创建按钮:

  1. 在初始化按钮时赋予按钮图标和文字
  2. 首先创建一个没有定义图标和文字到按钮对象,然后使用setIcon()方法为这个按钮定制一个图标。

其中,setToolTipText()方法是为按钮设置提示文字(鼠标放到按钮上后会有提示信息出来),setBoundsPainted()方法设置按钮边界是否显示。

最后为按钮添加了时间监听器,当用户点击图标时候,弹出对话框的功能。

其中,setMaximumSize()方法设置按钮的大小与图标的大小一致,该方法需要的参数类型为Dimension类对象,这样看上去此图片就如同按钮一样摆放在窗体中,同时 也可以使用setEnable()方法设置按钮是否可用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值