package home;
|
import javax.swing.*;
|
import java.awt.*;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
|
public class ButtonUtils {
|
|
/**
|
* 创建蓝色样式按钮的通用方法
|
* @param text 按钮文本
|
* @return 配置好样式的JButton
|
*/
|
public static JButton createBlueButton(String text) {
|
return createBlueButton(text, -1); // 调用重载方法,默认不设置固定高度
|
}
|
|
/**
|
* 创建蓝色样式按钮的通用方法(带高度参数)
|
* @param text 按钮文本
|
* @param height 按钮高度(像素),-1表示使用默认高度
|
* @return 配置好样式的JButton
|
*/
|
public static JButton createBlueButton(String text, int height) {
|
JButton button = new JButton(text);
|
button.setBackground(new Color(0, 120, 215)); // 蓝色背景
|
button.setForeground(Color.WHITE); // 白色文字
|
button.setFocusPainted(false);
|
button.setOpaque(true);
|
button.setBorderPainted(false);
|
button.setFont(button.getFont().deriveFont(Font.BOLD)); // 加粗字体
|
|
// 如果指定了高度,设置固定高度
|
if (height > 0) {
|
Dimension preferredSize = button.getPreferredSize();
|
Dimension newSize = new Dimension(preferredSize.width, height);
|
button.setPreferredSize(newSize);
|
button.setMinimumSize(newSize);
|
button.setMaximumSize(newSize);
|
}
|
|
// 添加鼠标悬停效果
|
button.addMouseListener(new MouseAdapter() {
|
@Override
|
public void mouseEntered(MouseEvent e) {
|
button.setBackground(Color.GRAY); // 鼠标悬停时变为灰色
|
button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); // 鼠标变为手型
|
}
|
|
@Override
|
public void mouseExited(MouseEvent e) {
|
button.setBackground(new Color(0, 120, 215)); // 鼠标离开时恢复蓝色
|
button.setCursor(Cursor.getDefaultCursor()); // 鼠标恢复默认形状
|
}
|
});
|
|
return button;
|
}
|
}
|