swing各组件重绘外观
来源:互联网 发布:淘宝10天不发货会怎样 编辑:程序博客网 时间:2024/04/28 14:16
JPanle、JButton、JLabel等等组件,若想实现漂亮的外观,可以通过实现paintComponent(Graphics g)来完成。
示例:自定义JButton的鼠标经过与鼠标离开的效果。
一、新建NewButton类
package background;import java.awt.Graphics;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;import javax.swing.JButton;public class NewButton extends JButton {ImageIcon icon = null;public NewButton(){setBorder(null);//取消边框icon = new ImageIcon("button1.png");this.addMouseListener(new MouseAdapter() {@Overridepublic void mouseExited(MouseEvent e) {//鼠标离开icon = new ImageIcon("button1.png");repaint();//重绘图形,调用paintComponent}@Overridepublic void mouseEntered(MouseEvent e) {//鼠标经过icon = new ImageIcon("button2.png");repaint();}});}public void paintComponent(Graphics g){int x=0,y=0;g.drawImage(icon.getImage(), x, y, 95, 32, this);}}
二、主窗口JFrameDemo
package background;import javax.swing.ImageIcon;import javax.swing.JFrame;public class JFrameDemo extends JFrame {public JFrameDemo(){super("Jpanel Background Demo");//窗口标题NewButton b2 = new NewButton();this.getContentPane().add(b2);//将button加入窗口this.setSize(95, 32);this.setLocationRelativeTo(null);//设置窗口居中this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}/** * @param args */public static void main(String[] args) {new JPanelDemo();}}
通过实现paintComponent可以实现各个组件的自定义外观。
- swing各组件重绘外观
- Swing探索---------Swing外观
- Java开源Swing外观
- 开源java swing外观
- Swing更改外观
- swing外观-1
- Java开源Swing外观
- 我对Swing各组件的认识
- Swing Synth外观定制UI
- Java Swing 外观框架BeautyEye
- Swing 外观框架 BeautyEye 使用
- 最新的Swing外观,定制UI不在话下
- 最新的Swing外观,定制UI不在话下
- 最新的Swing外观,定制UI不在话下
- 最新的Swing外观,定制UI不在话下
- Swing 可插入外观LookAndFeel浅析
- java swing jtable外观属性一
- 封装的Swing设置外观的类
- 诊断 Java 代码: 轻松掌握 Java 泛型
- java中Socket应用
- 关于C++ 字节对齐 (结构体)
- 20110830
- Effective Java 读后感
- swing各组件重绘外观
- OpenSSL命令行工具验证数字签名
- 热塑性弹性体(来自百度百科)
- 说好的每日总结·2011年8月30日
- Trimslice版MeeGo智能电视
- android alertdialog的按钮点击后不消失
- 认识Android
- virtualbox四种联网方式在linux下的实现
- AC自动机算法详解