首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swing -如何修改JButton的边框颜色?

Swing是Java的一个图形用户界面(GUI)工具包,用于开发跨平台的桌面应用程序。它提供了丰富的组件库和功能,使开发者能够创建各种用户界面。

要修改JButton的边框颜色,可以通过自定义按钮的外观(Look and Feel)来实现。以下是一种常见的方法:

  1. 创建一个自定义的按钮类,继承自JButton,并重写其paintBorder方法。
代码语言:txt
复制
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;

public class CustomButton extends JButton {
    private Color borderColor;

    public CustomButton(String text, Color borderColor) {
        super(text);
        this.borderColor = borderColor;
    }

    @Override
    protected void paintBorder(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(borderColor);
        g2.setStroke(new BasicStroke(2)); // 设置边框宽度
        g2.drawRoundRect(0, 0, getWidth() - 1, getHeight() - 1, 10, 10); // 绘制圆角矩形边框
    }
}
  1. 在你的应用程序中使用自定义按钮类。
代码语言:txt
复制
import javax.swing.*;
import java.awt.*;

public class Main {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Custom Button Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        // 创建自定义按钮,并设置边框颜色为红色
        CustomButton button = new CustomButton("Click me", Color.RED);
        button.setPreferredSize(new Dimension(100, 50));

        frame.getContentPane().add(button);
        frame.setVisible(true);
    }
}

在上述代码中,我们创建了一个CustomButton类,它接受一个边框颜色作为参数,并在paintBorder方法中使用Graphics2D绘制了一个带有指定颜色的圆角矩形边框。然后,在主应用程序中创建了一个CustomButton实例,并将其添加到JFrame中显示。

这是一个简单的示例,你可以根据自己的需求进行修改和扩展。如果你想了解更多关于Swing的知识和使用方法,可以参考腾讯云的Java Swing开发文档:Java Swing开发指南

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java-GUI编程之Swing组件

为组件设置边框 很多情况下,我们常常喜欢给不同组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border继承体系图: ​ 特殊Border:...TitledBorder:它作用并不是直接为其他组件添加边框,而是为其他边框设置标题,创建该类对象时,需要传入一个其他Border对象; ComoundBorder:用来组合其他两个边框,创建该类对象时...,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 给组件设置边框步骤: 使用BorderFactory或者XxxBorder创建Border实例对象; 调用Swing组件setBorder...init(){ //设置Jframe为网格布局 jf.setLayout(new GridLayout(2,4)); //创建凸起边框,分别设置四条边颜色...title:当前对话框名称 initialColor:指定默认选中颜色 返回值: 返回用户选中颜色 */ 案例: ​ 使用颜色选择器,完成下图功能: ​ 点击按钮,改变文本域背景色

2.2K20

Xib、Nib、Storyboard下修改控件边框颜色、大小、圆角

问题: 今天有一个页面有很多uibutton,所以就用xib搭了界面,然后问题来了,如何在xib下修改控件边框颜色和大小、圆角?...我之前知道利用IB面板下“UserDefined Runtime Attributes”(如下图),然后问题来了,设置圆角可以成功设置,但是设置uibutton边框颜色不行。...然后一直百度找到方法都是跟我做法一样,而且不行,然后想到我可以Google,好吧,第一条就出来答案了···· ?...IB 下UserDefined Runtime Attributes 面板 原因: 找到原因在于borderColor接受参数是CGColor类型,而此处Color为UIColor,所以导致注入时参数类型不一致...borderIBColor属性setter和getter方法内容不要错了,然后可以完美运行 扩展:在swift 2.0可以用一下方法(我没有试) import Foundation extension

2.1K20

Swing+Mysql实现销售管理系统(普通用户、管理员 功能包含登录、个人信息、库存管理、入库单管理、销售单管理、可视化数据展示等)

@TOC Swing+Mysql销售管理系统 本系统为了解决销售常规工作管理,基于普通用户、管理员两种角色,实现了销售单管理、入库单管理、库存管理、数据可视化管理、个人信息等功能。...private Color backgroundColor; //背景颜色。 private Color foregroundColor; //前景颜色。...java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import javax.swing.JButton...; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea...(img1); //bt2 = new JButton(img2); bt3 = new JButton(img3); bt4 = new JButton(img4); lb1= new

72220

Java GUI体系介绍

容器类分支有Panel无边框容器和Window有边框容器 Window下分支有Frame可以放大缩小窗口,和Dialog这个只能在最上面显示并且不能放大缩小窗口类。...Swing图形化开发: Swing则是后来发展图形化开发体系,纯java图形化开发,图形化风格不一样,并且没有丢弃awt结构。 Swing组件类继承于awtContainer容器类。...Swing边框容器,继承于JComponent,有边框容器,则继承于awtWindow类。...SwingJFrame继承于awt中Frame类,JDialog继承于awtDialog类。 文本框组件类JTextComponent继承于awtTextComponent。...Swing里有个抽象Button类,是继承于JComponent组件类JButton、JToggleButton都是继承于抽象Button类。

96020

JavaSwing 图形界面GUI王者级开发(大纲)

_1.9: null(绝对布局) JavaSwing_1.10:TableLayout(表格布局) 2 基本组件 JavaSwing_2.1: JLabel(标签) JavaSwing_2.2: JButton...JavaSwing_4.2: JDialog、JOptionPane(对话框) JavaSwing_4.3: JFileChooser(文件选择器) JavaSwing_4.4: JColorChooser(颜色选择器...JavaSwing_5.2: 组件边框(Border) JavaSwing_5.4: 多线程并发与线程安全 JavaSwing_5.5: 拖拽功能 JavaSwing_5.6: 系统托盘(System...代码截取电脑屏幕并保存 Java模拟鼠标键盘输入事件 — Robot 类 Java操作桌面应用 — Desktop 类 Java操作系统剪贴板(Clipboard)实现复制和粘贴 7 更多操作 如何在...Swing组件中使用HTML 8 事件及其监听器 焦点事件及其监听器 - FocusEvent,FocusListener

1.3K10

Java 期末复习 (已完结)

子类想重写父类方法 必须 返回值类型名字 参数都要与父类一致 第五章 ? ? 下面到了工程中常用 多线程 1 定义多线程类 ? 2 多线程状态 ? 那么如何停止线程呢?...1 JFrame 是大多数应用程序基本窗口,有边框、标题和按钮,允许程序员把其他组件添加到它里面,把它们组织起来 2 JPanel:最普通面板,没有特殊功能,主要用来容纳其它控件。...(jButton, BorderLayout.CENTER); //布局中间 this.add(jButton2, BorderLayout.NORTH); //布局北边...五种:文件对话框、消息对话框、输入对话框、确认对话框、颜色对话框 ★MouseMotionListener接口实现对鼠标移动事件监听,因此包括2个方法: mouse Moved 和 mouse Dragged...import java.awt.FlowLayout; import java.util.Arrays; import javax.naming.InitialContext; import javax.swing.JButton

94130
领券