一、运行后,窗体上显示两个自制按钮
二、鼠标放上按钮后效果:
三、制作步骤:
(1)预先做好的按钮的图片(见附件按钮图标)
(2)调用JButton的父类AbstractButton类的三个方法:
(3)AbstractButton的子类:
JButton、JCheckBox、JRadioButton、 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
分享到:
相关推荐
使用 AbstractTableModel 构建Table 在表格中添加JButton按钮,之前在网上找了2天没有找到好用的程序,最终终于找到一个好用的例子。 不要使,我退你们分。。 sing the Swing JTable class can quickly become a ...
java swing JButton 圆角按钮 带变色(有注释,简单易懂适用于初学者 程序可直接运行)
主要介绍了Java Swing JButton按钮的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java 在JButton上设置快捷键 java 在JButton上设置快捷键 java 在JButton上设置快捷键
Java swing 中JButton的使用 Java swing 中JButton的使用
Java程序设计:031804_按钮组件:JButton.ppt
JButton 美化,主要实现圆角矩形,根据鼠标动作变化,主要代码: Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.GREEN); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints....
java 中重写jbutton,改变按钮特点,写出自己想要的按钮
一个小游戏,可直接运行,更多的是jbutton的灵活使用,谢谢大家支持。
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
为了熟悉java,自己尝试实现了扫雷小游戏。具体的实现方案是通过获取Jbutton的点击事件来刷新地图,可选择不同难度并且计时,通过递归来实现空白处的自动展开,代码比较简单,有部分注释,希望能帮到有需要的同学。
基于basicUI的JButton重写,下载后直接使用,直接new就可以了…………………………………………………………………………
java按钮jbutton透明设置 不要用 setOpaque(false)的方法
类似eclipse工具栏的效果,无悬浮,按钮无边框,悬浮时候呈现边框
主要代码: @Override public void paintIcon(Component cmp, Graphics g, int x, int y) { Color lowerColor = new Color(235,255,235); ... Color highColor = new Color(81,184,77);... g2d.setRenderingHint...
java JButton的使用 java JButton的使用 java JButton的使用
JButtonForm 扩展 JButton 并创建具有任意形状的按钮。