鱼C论坛

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

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

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

在csdn看到https://blog.csdn.net/quietbxj/article/details/109001811
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
 
public class Panel1 {
 
        public static void main(String[] args) {
                //创建window容器
                JFrame jf = new JFrame("测试JPanel");
                //创建panel容器
                JPanel jPanel = new JPanel();
                //设置panel的边框和标题
                jPanel.setBorder(new TitledBorder(new EtchedBorder(), "按钮设置"));
                //panel组合组件
                JButton btn1=new JButton("按钮1");
                JButton btn2=new JButton("按钮2");
                jPanel.add(btn1);
                jPanel.add(btn2);
                //window中添加panel
                jf.add(jPanel);
                jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                jf.pack();
                jf.setVisible(true);
        }
}

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

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

        this.border = border;
        firePropertyChange("border", oldBorder, border);
        if (border != oldBorder) {
            if (border == null || oldBorder == null ||
                !(border.getBorderInsets(this).equals(oldBorder.getBorderInsets(this)))) {
                revalidate();
            }
            repaint();
        }
    }
楼主如果不行的话试试重装JDK,看下行不行

最佳答案

查看完整内容

我这边运行一切正常,而且我还能查到它在JComponent.class中的定义 楼主如果不行的话试试重装JDK,看下行不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

        this.border = border;
        firePropertyChange("border", oldBorder, border);
        if (border != oldBorder) {
            if (border == null || oldBorder == null ||
                !(border.getBorderInsets(this).equals(oldBorder.getBorderInsets(this)))) {
                revalidate();
            }
            repaint();
        }
    }
楼主如果不行的话试试重装JDK,看下行不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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


运行没毛病:

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-7 19:07:39 | 显示全部楼层
什么APP?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-27 07:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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