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

使用JButton绘制边框时,所有按钮都会消失

问题描述: 使用JButton绘制边框时,所有按钮都会消失。

解答: 当使用JButton绘制边框时,所有按钮都会消失的原因可能是由于边框的绘制方式导致的。在默认情况下,JButton的边框是通过UI(用户界面)来绘制的,而不是直接在组件上绘制。因此,当我们尝试自定义绘制按钮的边框时,如果没有正确处理UI的绘制逻辑,就会导致按钮消失。

为了解决这个问题,我们可以使用以下方法之一:

  1. 自定义按钮的UI:通过创建一个继承自ButtonUI的类,并重写paintBorder()方法来自定义按钮的边框绘制逻辑。在这个方法中,我们可以使用Graphics对象来绘制边框。然后,将自定义的UI应用到按钮上,例如:
代码语言:txt
复制
class CustomButtonUI extends BasicButtonUI {
    @Override
    protected void paintBorder(Graphics g, JComponent c) {
        // 绘制边框的逻辑
    }
}

// 应用自定义UI
JButton button = new JButton("按钮");
button.setUI(new CustomButtonUI());
  1. 使用边框工具类:Java提供了一些边框工具类,例如BorderFactory,可以方便地创建各种边框。我们可以使用其中的方法来创建一个边框对象,并将其应用到按钮上,例如:
代码语言:txt
复制
Border border = BorderFactory.createLineBorder(Color.BLACK, 2);
JButton button = new JButton("按钮");
button.setBorder(border);

以上两种方法都可以实现自定义按钮的边框绘制,避免按钮消失的问题。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,包括云服务器、云数据库、云存储等。您可以访问腾讯云官网了解更多详情:

请注意,以上答案仅供参考,具体解决方法可能因具体情况而异。在实际开发中,您可能需要根据具体需求和技术栈选择适合的解决方案。

相关搜索:JTable中的JButton :按钮有效,但文本在单击时消失JavaFx PerspectiveCamera - fixedEyeAtCameraZero标志-为true时,所有对象都会消失在回收视图中尝试使用搜索视图时,所有项目都会消失吗?使用可滚动div时,左右边框消失(overflow: auto)React JS。页面上的所有用户对象都会消失,即使在单击该按钮时没有跟踪单个用户每次使用KSql查询KTable时都会获取所有行当打开一个动态创建的按钮时,所有按钮都会打开使用覆盖函数绘制(_ rect: CGRect)时显示奇怪的边框当我单击其中一个元素时,所有元素都会消失,但只需要没有单击的元素就会消失使用HTML为按钮创建边框时出现问题我有多个onClick按钮,每当我点击一个按钮时,所有相同的按钮都会触发。Reactjs使用mat菜单显示悬停按钮时出现问题;单击时活动按钮消失当我在Bootstrap 4.5中加载页面时,所有单选按钮都会立即激活如何在使用Material UI悬停按钮时更改边框颜色在使用table - borders类时,如何使某些表单元格边框消失?当使用jQuery切换按钮时,如何隐藏所有按钮?当仅单击其中一个按钮时,所有按钮的值都会发生变化单击按钮使用jQuery向服务器发送数据时,网页消失当我选择其中一个时,单选按钮组中的所有单选按钮都会被选中吗?Power BI -使用Google Analytics更改列类型时,所有列类型都会更改
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java swing一篇轻松学习(高考后可以自学)

方法名称 概述 getContentPane() 返回此窗体的 contentPane 对象 getDefaultCloseOperation() 返回用户在此窗体上单击“关闭”按钮执行的操作 setContentPane...(Container contentPane) 设置 contentPane 属性 setDefaultCloseOperation(int operation) 设置用户在此窗体上单击“关闭”按钮默认执行的操作...setDefaultLookAndFeelDecorated (boolean defaultLookAndFeelDecorated) 设置 JFrame 窗口使用的 Windows 外观(如边框、...) 设置按钮的键盘快捷键,所设置的快捷键在实际操作需要结合 Alt 键进行实现 void setPressedIcon(Icon icon) 设置按下按钮的图标 void setSelectedIcon...isFloatable() 获取 floatable 属性 isRollover() 返回 rollover 状态 setBorderPainted(boolean b) 设置 borderPainted 属性,如果需要绘制边框

9.4K10
  • Java-GUI编程之Swing组件

    目录 为组件设置边框 使用JToolBar创建工具条 JColorChooser和JFileChooser JColorChooser JFileChooser JOptionPane 基本概述 四种对话框演示...TitledBorder:它的作用并不是直接为其他组件添加边框,而是为其他边框设置标题,创建该类的对象,需要传入一个其他的Border对象; ComoundBorder:用来组合其他两个边框,创建该类的对象...,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 给组件设置边框步骤: 使用BorderFactory或者XxxBorder创建Border的实例对象; 调用Swing组件的setBorder...,并将按钮添加到Panel中 JButton preBtn = new JButton(pre); JButton pauseBtn = new JButton(pause...与 FileDialog 不同的是 , JFileChooser 无须依赖于本地平台的 GUI , 它由 100%纯 Java 实现 , 在所有平台 上具有完全相同的行为,并可以在所有平台上具有相同的外观风格

    2.2K20

    创建被图像填充的组件解释几处做法解释几点

    是一个抽象类 JFrame frame=new JFrame("haha"); frame.getContentPane().add(panel); frame.pack();//加完所有组件后自动调整窗口的大小...observer - 当缩放并转换了更多图像要通知的对象。 ImageObserver用于在构造 Image ,接收有关 Image 信息通知的异步更新接口。...DIY的JButton 下面仍然是用代码说话 import javax.swing.*; import java.awt.*; class JButtonDemo extends JButton{...边空就是当图标和文本都画完了之后,图标和文本离边框还有一定距离,就会绘画边空了,就是白边 用setMargin(Insets m)可以设置 setMargin(new Insets(0,1,2,3...反而是用了默认边空,由Border对象适当的建立边空 如果想不需要边空的话,只能这样做 setMargin(new Insets(0,0,0,0)); 二、setIcon远远不够 setIcon只是设置了这个按钮的默认外观

    1.2K90

    手把手带你用Java打造一款对对碰游戏(上篇)

    二、项目目标 设计一款基于JAVA的游戏,显示64 (8*8 )个动物图片,游戏开始,进入100s倒数,用户点击相应的动物图片,如果有三个或以上相同,则成功消除,并每个得10分。...四、项目实施 使用eclipse软件开发,先上效果图,如下图所示。可以看到在界面上有可以有开始游戏按钮、分数、时间进度条、退出游戏的功能。 接下来,小编带大家进行具体的实现,具体的实现步骤如下。 ?...2.创建开始按钮JButton)、分数标签(JLabel)、文本框(JTextField)、进度条(JProgressBar)、退出按钮JButton)。...方法返回当前进度的 String 表示形式; getValue() 方式返回进度条的当前 value; setBorderPainted(boolean b) 设置 borderPainted 属性,如果进度条应该绘制边框...五、总结 1.本文主要介绍了JLabel、JButton、JPanel、ImageIcon、JTextField、JProgressBar等组件的基本使用,介绍了进度条(JProgressBar)常用的方法

    1K20

    Java-GUI 编程之 Swing

    当模型发生改变,它会通知所有依赖它的视图,视图会根据模型数据来更新自己。Swing使用UI代理来包装视图和控制器, 还有一个模型对象来维护该组件的状态。...例如,按钮JButton有一个维护其状态信息的模型ButtonModel对象 。 Swing组件的模型是自动设置的,因此一般都使用JButton,而无须关心ButtonModel对象。...使用 setToolTipText()方法,为组件设置对用户有帮助的提示信息 。 很多 Swing 组件如按钮、标签、菜单项等,除使用文字外,还可以使用图标修饰自己。...ComponentUI 对象依赖当前使用的 PLAF , 使用 UIManager.setLookAndFeel()方法可以改变图形界面的外观风格 。 支持设置边框。...,并为其指定图标 JButton ok = new JButton("确定",new ImageIcon("ok.png")); // 定义一个单选按钮,初始处于选中的状态 JRadioButton

    2.4K10

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

    _1.9: null(绝对布局) JavaSwing_1.10:TableLayout(表格布局) 2 基本组件 JavaSwing_2.1: JLabel(标签) JavaSwing_2.2: JButton...(按钮) JavaSwing_2.3: JRadioButton(单选按钮) JavaSwing_2.4: JCheckBox(复选框) JavaSwing_2.5: JToggleButton(...开关按钮) JavaSwing_2.6: JTextField(文本框) JavaSwing_2.7: JPasswordField(密码框) JavaSwing_2.8: JTextArea(文本区域...4.9: JTree(树) JavaSwing_4.10: JInternalFrame(内部窗口) 5 相关特性 JavaSwing_5.1: 组件的位置和尺寸 JavaSwing_5.2: 组件边框...Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本 Java图片操作 — 图片的读取、绘制、缩放、裁剪、保存 Java代码截屏:使用 Java 代码截取电脑屏幕并保存 Java模拟鼠标键盘输入事件

    1.3K10

    五子棋Java课设

    显示的“黑方下棋”使用宋体18号字来显示。 3.设计棋盘类,整体规划棋盘的横纵方向,以Button(按钮组件类)在界面作为按键,如“重新开始”按键。...4.每下一步都会用find()函数进行查找棋子的落子位置,并记录方便在判定是去判断棋子周围是否有同类型棋子,包括判定获胜五子相连的情况 利用for循环函数进行各个方向上的查找,并在每次落子之后用if...6.与画布棋盘相似,使用paintComponent()函数进行棋子落子的判定,鼠标点在格子十字交叉点的周围进行分析 在MouseEvent(鼠标监听事件类)里面包含鼠标被点击等事件的处理方法。...7.实现接口ActionListener (状态监听处理类) 当点击重新开始会清除棋盘上所有的棋子,否则将无法去下下一步棋,保持棋盘在结束的整体,包括画布的棋盘组件都不会动。...,等窗体稍有改动才会消失,为什么?

    70710

    iOS-UITextField 全面解析iOS中UITextField 使用全面解析UITextField的代理方法通知UITextField 在storyboard 中设置属性

    //设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉   text.backgroundColor = [UIColor whiteColor]; //设置背景 text.background...这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。...textFieldShouldEndEditing:(UITextField *)textField{ //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder   //要想在用户结束编辑阻止文本字段消失...因为文本字段要使用键盘输入文字,所以下面这些事件发生,也会发送动作通知 UIKeyboardWillShowNotification  //键盘显示之前发送 UIKeyboardDidShowNotification...当这个文本框中输入了数据,用于提示的灰色的字将会自动消失。 3、Background :背景图片 4、Disabled : 若选中此项,用户将不能更改文本框内容。

    7.1K60

    【Java】Java使用Swing实现一个模拟计算器(有源码)

    .","="};//计算器的功能键保存 private JButton [] buttons=new JButton[keys.length];//创建按钮 private JTextField....","="};//计算器的功能键保存 private JButton [] buttons=new JButton[keys.length];//创建按钮 private JTextField...3.添加按钮事件监听机制 当我们点击计算机上的按钮的时候,计算器要给出反馈,这时就需要我们添加一个事件监听机制了。注释写好了,当我们点击不同的按钮的时候要处理不同的功能。...doNumberKey(key); } } } 4.处理对于具有清除删除功能按键的处理(CE C BACK) 计算器上有个清空按键C大家都用过吧,点了这个C之后我们所有的输入都会被初始化...注:我使用的浮点数计算并不是BigDecimal,所以存在精度差。

    10210

    基于Java实现图像浏览器的设计与实现

    添加了鼠标拖动事件监听器,在鼠标拖动将鼠标位置记录到 pathPoints 列表中,并使用临时的 Graphics2D 对象绘制路径。...private void drawPath(Graphics2D g2D) 方法用于遍历 pathPoints 列表,并使用 Graphics2D 对象在 drawingArea 上绘制连接这些点的直线...WindowCanvas 类实现了一个简单的绘图应用程序,可以创建了一个包含绘图面板和保存按钮的窗口应用程序,允许用户绘制图形并将绘制结果保存为PNG图像文件。继承自 JFrame,表示整个窗口。...JButton button: 一个按钮,标签为 “保存”,用于触发保存操作。 构造函数: 初始化按钮,并为按钮添加点击事件监听器。...设置窗口布局为 BorderLayout,并将绘图面板 canvas 放置在窗口中央,按钮放置在窗口底部。 actionPerformed 方法:当用户点击按钮触发此方法。

    10910

    《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

    虽然可以分别使用Applet类和Frame类来实现Swing的小应用程序和应用程序,但是,这样很可能出现事件处理问题和重新绘制问题。...这种技术在组件反复更新,会导致许多闪烁。有关绘制和更新AWT组件的更多信息,请参见《Java 2 图形设计,卷Ⅰ:AWT》。 ...图2-5所示的小应用程序有七个按钮,其中四个是重量AWT按钮,其他三个是Swing轻量按钮所有的重量按钮都显示在轻量按钮的上面,因为轻量按钮的层序与它们的容器的层序相同。  ...如果没有调用super.paint(),则不会重新绘制面板中的轻量Swing按钮。  ...使用线程安全GUI工具包的所有应用程序(无论它们是否是多线程的)都必须付出同样的性能代价。  线程的使用增加了调试、测试、维护和扩展的困难度。

    2.4K20

    iOS UITextField详解

    UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UITextBorderStyle; 设置输入框的背景颜色 此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉...这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。...super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了. – borderRectForBounds:   //重写来重置边缘区域 – editingRectForBounds...textFieldShouldEndEditing:(UITextField *)textField{ //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder //要想在用户结束编辑阻止文本字段消失...因为文本字段要使用键盘输入文字,所以下面这些事件发生,也会发送动作通知 UIKeyboardWillShowNotification //键盘显示之前发送 UIKeyboardDidShowNotification

    1.8K30

    实践作业三 结对项目

    [] button_day = new JButton[49]; //定义一个数组用来存放日期 JButton button_jump = new JButton(“日期跳转”); //现实选择日期 JButton...button_today = new JButton(“现在日期”); //显示今天日期按钮 int now_year = now_date.getYear() + 1900; //获取年份值 int...(this); //“现在日期”按钮添加 监听事件 //年月设定结束 //初始化日期按钮绘制 pane_day.setLayout(new GridLayout(7, 7)); for (int i...*首先要根据选定的月份的第一天是星期几来确定我们绘制按钮的起始位置 * 其中day_week就是我们要绘制的起始位置 * 对于那些没有数值可以显示的按钮要置空 */ for (int i = day_week...e) { if (e.getSource() == button_jump) { bool = false; this.setDay(); //如果点击跳转按钮就调用setDay()方法重新绘制按钮

    92110

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

    请添加图片描述] 目标可视化 [请添加图片描述] 系统功能 本销售管理系统实现了以下功能: 1、普通用户、管理员登录 2、入库单管理 3、销售单管理 4、库存管理管理 5、目标可视化展示 6、个人信息 使用技术...; setForegroundColor(new Color(172, 168, 163)); setDigitalColor(Color.BLACK); } /** *△△ △ 绘制圆形进度条...(img1); //bt2 = new JButton(img2); bt3 = new JButton(img3); bt4 = new JButton(img4); lb1= new...Font.BOLD, 20); // 字体 ta.setForeground(Color.black); ta.setFont(font); ta.setText(queryAll());//显示所有商品信息...home.setBorderPainted(false); // 按钮边框 //按钮监听 bt1.addActionListener(new B1()); //bt2.addActionListener

    73320

    Java游戏编程不完全详解-3(爆肝一万七千字)

    不是所有选项都一次呈现出来,相反,应该把最常用的、最有用的选项放在主屏幕中,以方便玩家使用。 确保每个选项按钮都可以非常容易使用,如果需要点击很多次才能找到确定的功能,那么会让玩家很不开心。...使用提示贴士(tool tips)。一般提示贴士是鼠标经过特定对象弹出来的形式,这样它们可以告诉玩家哪些按钮在屏幕中做功能,以及它们的当前的状态。...所以,我们需要测试有多少人习惯我们这样的按钮设计方式。当然,不可能让所有人都满意,但是需要大多数人习惯都可行。记住,在实现生活中,当玩家使用我们的游戏,我们不会告诉他/她下一步应该做什么!...在游戏中使用Swing组件的技巧如下: 绘制所有的Swing组件,只需要在动画循环过程中,呼叫主面板的paintComponents()方法即可: //绘制我们的图形 draw(g); //绘制Swing...如果需要让图标原样出现,那么需要隐藏按钮边框,隐藏呼叫setContentAreaFiled(false)方法,以保证挥刀的背景不会被绘制 修改光标。

    2.1K10
    领券