M_bells 发表于 2022-6-2 13:13:14

jPanel怎么重写实现可以设置jPanel边框

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,看下行不行

Twilight6 发表于 2022-6-2 13:34:57



运行没毛病:



python001_ 发表于 2022-6-7 19:07:39

什么APP?
页: [1]
查看完整版本: jPanel怎么重写实现可以设置jPanel边框