这样的工具栏用什么做 自己写一个继承JButton的控件,自己设置鼠标进入的JButton边框 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前我写过一个,还可以指定大小,文字/图标对齐位置等import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.border.Border;public class RolloverButton extends JButton{ public static final int STANDARDSIZE = ImageIconBuilder.STANDARDSIZE; public static final int LARGESIZE = ImageIconBuilder.LARGESIZE; public static final int SMALLSIZE = ImageIconBuilder.SMALLSIZE; public static final int HUGE = ImageIconBuilder.HUGE; public static final char STYLE_H = 'h'; public static final char STYLE_V = 'v'; ImageIconBuilder iconBuilder = ImageIconBuilder.getImageIconBuilder(); private String text = null; private int sizeFlag = STANDARDSIZE; private char styleFlag = STYLE_H; private String iconImage = null; public RolloverButton(String iconImage) { this("", iconImage, STANDARDSIZE, STYLE_H); } public RolloverButton(String iconImage, int sizeFlag) { this("", iconImage, sizeFlag, STYLE_H); } public RolloverButton(String iconImage, int sizeFlag, char styleFlag) { this("", iconImage, sizeFlag, styleFlag); } public RolloverButton(String text, String iconImage) { this(text, iconImage, STANDARDSIZE, STYLE_H); } public RolloverButton(String text, String iconImage, char styleFlag) { this(text, iconImage, STANDARDSIZE, styleFlag); } public RolloverButton(String text, String iconImage, int sizeFlag) { this(text, iconImage, sizeFlag, STYLE_H); } public RolloverButton(String text, String iconImage, int sizeFlag, char styleFlag) { this.text = text; this.sizeFlag = sizeFlag; this.styleFlag = styleFlag; this.iconImage = iconImage; try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setText(text); if (styleFlag == STYLE_V) { this.setVerticalAlignment(SwingConstants.BOTTOM); this.setVerticalTextPosition(SwingConstants.BOTTOM); this.setHorizontalTextPosition(SwingConstants.CENTER); } this.setIcon(iconBuilder.getIcon(iconImage, sizeFlag)); this.setMargin(new Insets(2, 5, 2, 5)); this.setContentAreaFilled(false); this.setBorderPainted(false); this.setFocusPainted(false); this.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { this_mouseEntered(e); } public void mouseExited(MouseEvent e) { this_mouseExited(e); } }); } void this_mouseEntered(MouseEvent e) { if (this.isEnabled()) { this.setBorderPainted(true); this.setContentAreaFilled(true); } else { this.setBorderPainted(false); this.setContentAreaFilled(false); } } void this_mouseExited(MouseEvent e) { this.setBorderPainted(false); this.setContentAreaFilled(false); }}ImageIconBuilder.getImageIconBuilder().getIcon()是我写的另一个工具类里的方法,返回一个指定大小的ImageIcon实例。另外,JToolBar有一个方法JToolBar.putClientProperty("JToolBar.isRollover", Boolean.TRUE),在metal风格下可以实现按钮呈现浮动效果 问一个用友软件的一个问题 想写一个聊天室的程序,关于数据传输的问题?? 高分!!请大家来看下,旺旺登录接口的加密字符串!!! java api Applet为什么不能看到gif图形 跪地裸求以下Java试题答案,嗷嗷急!!! 国内站点哪有下载j2se1.4的document? 初学者的几个问题 JAVA 程序员找工作的问题 Java中用socket想client发数据是不是只能发String?急 Swing 中如何嵌入网页 等着去面试的题目!
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.Border;public class RolloverButton extends JButton{
public static final int STANDARDSIZE = ImageIconBuilder.STANDARDSIZE;
public static final int LARGESIZE = ImageIconBuilder.LARGESIZE;
public static final int SMALLSIZE = ImageIconBuilder.SMALLSIZE;
public static final int HUGE = ImageIconBuilder.HUGE;
public static final char STYLE_H = 'h';
public static final char STYLE_V = 'v'; ImageIconBuilder iconBuilder = ImageIconBuilder.getImageIconBuilder(); private String text = null;
private int sizeFlag = STANDARDSIZE;
private char styleFlag = STYLE_H;
private String iconImage = null; public RolloverButton(String iconImage) {
this("", iconImage, STANDARDSIZE, STYLE_H);
} public RolloverButton(String iconImage, int sizeFlag) {
this("", iconImage, sizeFlag, STYLE_H);
} public RolloverButton(String iconImage, int sizeFlag, char styleFlag) {
this("", iconImage, sizeFlag, styleFlag);
} public RolloverButton(String text, String iconImage) {
this(text, iconImage, STANDARDSIZE, STYLE_H);
} public RolloverButton(String text, String iconImage, char styleFlag) {
this(text, iconImage, STANDARDSIZE, styleFlag);
} public RolloverButton(String text, String iconImage, int sizeFlag) {
this(text, iconImage, sizeFlag, STYLE_H);
} public RolloverButton(String text, String iconImage, int sizeFlag, char styleFlag) {
this.text = text;
this.sizeFlag = sizeFlag;
this.styleFlag = styleFlag;
this.iconImage = iconImage;
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
} private void jbInit() throws Exception {
this.setText(text); if (styleFlag == STYLE_V) {
this.setVerticalAlignment(SwingConstants.BOTTOM);
this.setVerticalTextPosition(SwingConstants.BOTTOM);
this.setHorizontalTextPosition(SwingConstants.CENTER);
} this.setIcon(iconBuilder.getIcon(iconImage, sizeFlag));
this.setMargin(new Insets(2, 5, 2, 5));
this.setContentAreaFilled(false);
this.setBorderPainted(false);
this.setFocusPainted(false); this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(MouseEvent e) {
this_mouseEntered(e);
}
public void mouseExited(MouseEvent e) {
this_mouseExited(e);
}
});
} void this_mouseEntered(MouseEvent e) {
if (this.isEnabled()) {
this.setBorderPainted(true);
this.setContentAreaFilled(true);
} else {
this.setBorderPainted(false);
this.setContentAreaFilled(false);
}
} void this_mouseExited(MouseEvent e) {
this.setBorderPainted(false);
this.setContentAreaFilled(false);
}}ImageIconBuilder.getImageIconBuilder().getIcon()是我写的另一个工具类里的方法,返回一个指定大小的ImageIcon实例。
另外,JToolBar有一个方法JToolBar.putClientProperty("JToolBar.isRollover", Boolean.TRUE),在metal风格下可以实现按钮呈现浮动效果