鱼C论坛

 找回密码
 立即注册
查看: 2132|回复: 3

[已解决]jPanel怎么重写实现可以设置jPanel边框

[复制链接]
发表于 2022-6-2 13:13:14 | 显示全部楼层 |阅读模式
50鱼币
jPanel怎么重写实现可以设置jPanel边框

在csdn看到https://blog.csdn.net/quietbxj/article/details/109001811

  1. import javax.swing.*;
  2. import javax.swing.border.EtchedBorder;
  3. import javax.swing.border.TitledBorder;

  4. public class Panel1 {

  5.         public static void main(String[] args) {
  6.                 //创建window容器
  7.                 JFrame jf = new JFrame("测试JPanel");
  8.                 //创建panel容器
  9.                 JPanel jPanel = new JPanel();
  10.                 //设置panel的边框和标题
  11.                 jPanel.setBorder(new TitledBorder(new EtchedBorder(), "按钮设置"));
  12.                 //panel组合组件
  13.                 JButton btn1=new JButton("按钮1");
  14.                 JButton btn2=new JButton("按钮2");
  15.                 jPanel.add(btn1);
  16.                 jPanel.add(btn2);
  17.                 //window中添加panel
  18.                 jf.add(jPanel);
  19.                 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20.                 jf.pack();
  21.                 jf.setVisible(true);
  22.         }
  23. }
复制代码


第13行的setBorder方法不存在,请问是不是他自己重写的?

有没有有写过这种的兄弟分享点经验?
最佳答案
2022-6-2 13:13:15
我这边运行一切正常,而且我还能查到它在JComponent.class中的定义
  1. public void setBorder(Border border) {
  2.         Border         oldBorder = this.border;

  3.         this.border = border;
  4.         firePropertyChange("border", oldBorder, border);
  5.         if (border != oldBorder) {
  6.             if (border == null || oldBorder == null ||
  7.                 !(border.getBorderInsets(this).equals(oldBorder.getBorderInsets(this)))) {
  8.                 revalidate();
  9.             }
  10.             repaint();
  11.         }
  12.     }
复制代码

楼主如果不行的话试试重装JDK,看下行不行

最佳答案

查看完整内容

我这边运行一切正常,而且我还能查到它在JComponent.class中的定义 楼主如果不行的话试试重装JDK,看下行不行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-2 13:13:15 | 显示全部楼层    本楼为最佳答案   
我这边运行一切正常,而且我还能查到它在JComponent.class中的定义
  1. public void setBorder(Border border) {
  2.         Border         oldBorder = this.border;

  3.         this.border = border;
  4.         firePropertyChange("border", oldBorder, border);
  5.         if (border != oldBorder) {
  6.             if (border == null || oldBorder == null ||
  7.                 !(border.getBorderInsets(this).equals(oldBorder.getBorderInsets(this)))) {
  8.                 revalidate();
  9.             }
  10.             repaint();
  11.         }
  12.     }
复制代码

楼主如果不行的话试试重装JDK,看下行不行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-2 13:34:57 | 显示全部楼层


运行没毛病:

Snipaste_2022-06-02_13-33-53.jpg

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-7 19:07:39 | 显示全部楼层
什么APP?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-7 03:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表