Swing按钮组件

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

 

一、提交按钮组件

Swing中的提交按钮由JButton对象表示,其构造方法主要有以下几种:

1、public JButton()

2、public JButton(String text)

3、public JButton(Icon icon)

4、public JButton(String text,Icon icon)

使用上述构造方法,在按钮上不仅能显示文本标签,还可以显示图标,示例如下:

import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;

public class JButtonTest extends JFrame{
	public JButtonTest() {
		URL url = MyImageIcon.class.getResource("AIshibie.jpg");
		Icon icon = new ImageIcon(url);
		setLayout(new GridLayout(3,2,5,5));
		Container c = getContentPane();
		for(int i=0;i<5;i++) {
			JButton J = new JButton("button"+i);
			c.add(J);
			if(i%2==0) {
				J.setEnabled(false);
			}
		}
		JButton jb = new 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 自动生成的方法存根
				JOptionPane.showMessageDialog(null, "弹出对话框");
			}
		});
		c.add(jb);
		setTitle("按钮组合");
		setSize(400,400);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	public static void main(String args[]) {
		new JButtonTest();
	}
}

运行结果如下:

 

二、单选按钮组件

单选按钮是Swing组件中JRadioButton类的对象,该类是JToggleButton的子类,而JToggleButton类又是AbstarctButton类的子类,所以控制单选按钮的诸多方法都是AbstrctButton类中的方法

1、单选按钮

可以使用JRadioButton类中的构造方法创建单选按钮对象,JRadioButton类的常用构造方法主要有:

(1)public JRadioButton()

(2)public JRadioButton(Icon icon)

(3)public JRadioButton(Icon icon,boolen selectd)

(4)public JRadioButton(String text)

(5)public JRadioButton(String text,Icon icon)

(6)public JRadioButton(String text,Icon icon ,boolean selected)

通过上述方法可以设置单选按钮的图标、文字和是否选中

 

2、按钮组

在Swing中存在一个ButtonGroup类,用于产生按钮组,如果希望将所有的单选按钮放置在按钮组中,需要实例化一个JRadioButton对象,并使用该对象调用add()方法添加单选按钮。示例如下:

JRadioButton jr1 = new JRadionButton();
JRadioButton jr2 = new JRadionButton();
JRadioButton jr3 = new JRadionButton();
ButtonGroup group = new ButtonGroup();
group.add(j1)
group.add(j2)
group.add(j3)

 

三、复选框组件

复选框用JCheckBox类的对象表示,它同样继承与ABstractButton类,所以复选框组件的属性设置来源于AbstractButton类,常用构造方法如下:

1、public JCheckBox()

2、public JCheckBox(Icon icon,Boolean checked)

3、public JCheckBox(String text,Boolean checkeed)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要把带自定义图案的Swing按钮组件画在图片上,可以使用Java的Graphics2D类来完成。具体步骤如下: 1.创建一个BufferedImage对象,作为背景图片。 2.创建一个JPanel对象,并将自定义图案的Swing按钮组件加入到该面板中。 3.使用SwingUtilities类的convertComponentToImage()方法将该面板转换为一个Image对象。 4.使用Graphics2D类的drawImage()方法,将该Image对象绘制到BufferedImage对象上。 5.最后,使用Graphics2D类的drawImage()方法,将所有组件绘制到BufferedImage对象上。 以下是示例代码: ```java import java.awt.*; import java.awt.image.BufferedImage; import javax.swing.*; public class ButtonOnImageExample extends JFrame { public ButtonOnImageExample() { super("Button On Image Example"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建背景图片 BufferedImage image = new BufferedImage(400, 400, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = image.createGraphics(); g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, image.getWidth(), image.getHeight()); // 创建带有自定义图案的按钮 JButton button = new JButton("Button"); button.setPreferredSize(new Dimension(100, 30)); button.setBackground(Color.RED); button.setForeground(Color.WHITE); button.setOpaque(true); button.setBorderPainted(false); // 创建面板,并将按钮加入到面板中 JPanel panel = new JPanel(); panel.add(button); // 将面板转换为Image对象 Image panelImage = SwingUtilities.convertComponentToImage(panel); // 绘制面板和按钮到背景图片上 g2d.drawImage(panelImage, 50, 50, null); g2d.drawImage(button.getIcon().getImage(), 75, 75, null); // 显示背景图片 JLabel label = new JLabel(new ImageIcon(image)); getContentPane().add(label); pack(); setLocationRelativeTo(null); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new ButtonOnImageExample().setVisible(true); } }); } } ``` 这段代码创建了一个400x400大小的背景图片,并在图片上绘制了一个带有自定义图案的Swing按钮组件。最后,将背景图片显示在窗口上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值