`
天使的羽翼
  • 浏览: 19032 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

小玩JButton _告别生硬的按钮

阅读更多

一、运行后,窗体上显示两个自制按钮


 


二、鼠标放上按钮后效果:

 

三、制作步骤:

(1)预先做好的按钮的图片(见附件按钮图标)

(2)调用JButton的父类AbstractButton类的三个方法:

    setIcon(Icon defaultIcon)                   设置按钮的默认图标。
    setPressedIcon(Icon pressedIcon)   设置按钮的按下图标。
    setSelectedIcon(Icon selectedIcon) 设置按钮的选择图标。

(3)AbstractButton的子类:

   JButtonJCheckBoxJRadioButton JMenuItem

所以以上四个组件均可用同样的方法进行美化。

 


四、具体的代码实现:

 

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;

public class FancyButton extends JButton {

	private ButtonAction ba;
	/**
	 * 构造器
	 * @param icon:按钮默认的图标
	 * @param pressed:鼠标点击按钮显示的图标
	 * @param rollover:鼠标放在按钮上显示的图标
	 */
  public FancyButton(Icon icon, Icon pressed, Icon rollover) {
    setFocusPainted(false);
    //设置翻转效果
    setRolloverEnabled(true);
    //鼠标放在按钮上替换显示的图标
    setRolloverIcon(rollover);
    //鼠标点击按钮替换显示的图标
    setPressedIcon(pressed);
    //将按钮设置为无边框
    setBorderPainted(false);
    //设置按钮为透明,无填充效果,只显示替换的图标
    setContentAreaFilled(false);
    ba=new ButtonAction(icon);
    this.setAction(ba);
  }

  public static void main(String[] args) {

    FancyButton b1 = new FancyButton(
      new ImageIcon("images/2.png"),
      new ImageIcon("images/8.png"),
      new ImageIcon("images/9.png"));
    FancyButton b2 = new FancyButton(
      new ImageIcon("images/14.png"),
      new ImageIcon("images/15.png"),
      new ImageIcon("images/16.png"));
    JFrame f = new JFrame( );
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container c = f.getContentPane( );
    c.setLayout(new FlowLayout( ));
    c.add(b1);
    c.add(b2);
    //调整此窗口的大小,以适合其子组件的首选大小和布局。
    f.pack( );
    f.setVisible(true);
  }

  public class ButtonAction extends AbstractAction{
		public ButtonAction(Icon icon){
		    putValue(SHORT_DESCRIPTION, "鼠标放上按钮,图标改变了哦!");
		    putValue(SMALL_ICON,icon);
		}
		@Override
		public void actionPerformed(ActionEvent e) {}
	}


}

 

  • 大小: 7.2 KB
  • 大小: 83 KB
3
2
分享到:
评论

相关推荐

    Java Swing JButton按钮的实现示例

    Java Swing JButton 按钮的实现示例 Java Swing JButton 按钮是 Java 中最常用的 GUI 组件之一,用于在用户界面中提供交互方式。JButton 按钮可以根据需要自定义外观和行为,下面将对 JButton 按钮的实现示例进行...

    Java swing 中JButton的使用

    在 Java Swing 中,`JButton` 是一个非常重要的组件,用于创建按钮。本文将详细介绍 `JButton` 的基本用法、如何设置按钮的图标、文本位置、快捷键以及如何处理按钮点击事件。 #### 一、引入必要的包 在开始编写...

    java 在JButton上设置快捷键

    有时候,为了提高用户体验和交互效率,我们希望为`JButton`添加快捷键或者访问键(accelerator key)。在本篇文章中,我们将详细探讨如何在Java中为`JButton`设置快捷键。 首先,我们需要了解快捷键的基本概念。...

    Java程序设计:031804_按钮组件:JButton.ppt

    JButton 组件可以用来创建普通的按钮、带图片的按钮、带文字的按钮等多种样式的按钮。 JButton 的构造方法 JButton 组件提供了多种构造方法,用于创建不同的按钮样式: 1. `public JButton()`:创建一个普通的...

    java swing JButton 圆角按钮 鼠标监听变色(有注释简单易懂可直接运行)

    java swing JButton 圆角按钮 带变色(有注释,简单易懂适用于初学者 程序可直接运行)

    Swing中JTABLE中添加JBUTTON控件

    而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户提供更丰富的交互体验,例如编辑、删除或自定义操作。本文将详细讲解如何在`JTable`中添加`JButton`控件,...

    EX.rar_ex_按钮 视图

    在各种编程语言和框架中,都有专门的方法和类来创建和管理按钮,例如在Java Swing中有JButton,Python的Tkinter库中有Button,而在iOS的Swift中,我们可以使用UIButton。 然后,我们来了解“视图”。视图是用户界面...

    java JButton美化Demo.rar

    JButton 美化,主要实现圆角矩形,根据鼠标动作变化,主要代码: Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.GREEN); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints....

    使用 AbstractTableModel 构建Table 在表格中添加JButton按钮

    使用 AbstractTableModel 构建Table 在表格中添加JButton按钮,之前在网上找了2天没有找到好用的程序,最终终于找到一个好用的例子。 不要使,我退你们分。。 sing the Swing JTable class can quickly become a ...

    扫雷小游戏源码,主要展示了jbutton的灵活使用

    【扫雷小游戏源码解析与JButton应用】 扫雷,这个经典的Windows系统自带的小游戏,以其简单的规则和挑战性深受玩家喜爱。在这个源码中,我们主要关注的是它如何使用Java编程语言,特别是JButton组件来实现游戏逻辑...

    Java——jbutton

    在给定的代码段中,我们看到作者创建了一个自定义的`JButton`类`JButton_Bg`,并实现了按钮的不同状态下的背景效果,包括正常状态、获得焦点状态、被按下状态和被释放状态。 为了实现这些效果,代码中使用了`...

    java重写jbutton

    java 中重写jbutton,改变按钮特点,写出自己想要的按钮

    JButton去除边框

    在Java Swing库中,`JButton`是用于创建按钮组件的基本类。`JButton`具有默认的外观,包括边框,这通常是用户界面设计的一部分。然而,在某些情况下,我们可能希望自定义`JButton`的外观,比如去除边框,以达到特定...

    JButton设置透明

    在Java Swing库中,`JButton`是一种常用的GUI组件,用于创建按钮。有时为了美观或者设计的需求,我们可能需要让按钮变得透明。然而,并不是所有的透明化方法都能达到理想的效果。本文将详细介绍如何正确地设置`...

    java 设置默认按钮

    在Java Swing库中,我们可以使用`JButton`组件来创建用户界面中的按钮。当你需要在窗口或对话框中设置一个默认按钮,这个按钮通常会在用户按下回车键时触发其动作事件。设置默认按钮是提高应用程序用户体验的重要...

    Jtable 中放入多个按钮

    这样,每个单元格实际上就是一个包含多个按钮的小容器。 1. **创建自定义`TableCellRenderer`**: 首先,你需要继承`DefaultTableCellRenderer`类,并重写`getTableCellRendererComponent`方法。在这个方法中,你...

    SwingHacks学习笔记(2)-----自定义JLabel,JButton

    自定义JButton的一个常见需求是实现按钮的悬停效果,即当鼠标移动到按钮上时,按钮的外观发生变化。这可以通过设置按钮的rollover图标和添加鼠标监听器来实现。例如,我们可以用`setRolloverIcon()`设置鼠标悬停时...

Global site tag (gtag.js) - Google Analytics