开发者社区 问答 正文

怎么修改JButton的样式?

我想自己修改JButton的样式,按钮里面有图片、文本标签等,怎么才能随心所欲的修改呢?
下面图片里面灰色的区域就是我想要的按钮样式,请问大家我得用什么思路才做呢?
screenshot

展开
收起
蛮大人123 2016-03-06 16:45:00 2947 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    import javax.swing.*;
    import java.awt.*;
    /**
     * Created by mcxinyu on 2015/12/8.
     */ //主页功能按钮
    class HomeFunctionBtn extends JButton {
        JTextArea textJTA;
        JPanel btnArea;
        JButton button;
        //参数:图片路径,按钮名称,说明文本,坐标x,坐标y。
        public HomeFunctionBtn(String image,String btnName,String text,int x,int y){
            //设置按钮里面图片与标签的位置垂直居中.
            button = new JButton(btnName,new ImageIcon(image));
            button.setBackground(new Color(230,230,230));
            button.setSize(198,153);
            button.setFocusPainted(false);
            button.setFont(new Font("微软雅黑",Font.BOLD,18));
            button.setVerticalAlignment(SwingConstants.BOTTOM);
            button.setVerticalTextPosition(SwingConstants.BOTTOM);
            button.setHorizontalAlignment(SwingConstants.CENTER);
            button.setHorizontalTextPosition(SwingConstants.CENTER);
            //设置说明文本的内容及显示.
            textJTA= new JTextArea(text);
            textJTA.setFont(new Font("微软雅黑",Font.PLAIN,13));
            textJTA.setBounds(0,153,200,47);
            textJTA.setLineWrap(true);
            textJTA.setEditable(false);
            textJTA.setBackground(new Color(230,230,230));
            //添加组件
            btnArea = new JPanel(null);//new FlowLayout()??
            btnArea.add(button);
            btnArea.add(textJTA);
            this.setBorder(null);
            this.setLocation(x,y);
            this.add(btnArea);
            this.setSize(200,200);
        }
    }
    2019-07-17 18:54:50
    赞同 展开评论
问答地址: