回 帖 发 新 帖 刷新版面

主题:[讨论]我的程序哪里错了??

为什么我的程序会在编译的时候出现这样的错误??
lianxi.java:26: 找不到符号
符号: 方法 setTitleColor(java.awt.Color)
位置: 接口 javax.swing.border.Border
                        B.setTitleColor(Color.RED);
                         ^
1 错误

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

class Lianxi extends JFrame 
{
      JPanel contentPanel;
     
      public JPanel get(Border B)
      {
             int count=0;
             JPanel jpanel=new JPanel();
             jpanel.setLayout(new BorderLayout());
             String str=Integer.toString(count);
             jpanel.add(new JLabel(str,JLabel.CENTER),BorderLayout.CENTER);
            jpanel.setBorder(B);
            B.setTitleColor(Color.RED);
            return jpanel;
      }
      public Lianxi(String str)
      {
            super(str);
                       contentPane=(JPanel)getContentPane();
                       contentPane.setLayout(new GridLayout(2,3));
                       contentPane.add(get(new TitledBorder("Title")));
      }
        public static void main(String[] args)
        {
            Lianxi lianxi=new Lianxi("Hello");
            lianxi.setSize(200,200);
            lianxi.setLocation(180,180);
            lianxi.setVisible(true);
            lianxi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
}

回复列表 (共1个回复)

沙发

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

class Lianxi extends JFrame {
    JPanel contentPanel;

    public JPanel get(Border B) {
        int count = 0;
        JPanel jpanel = new JPanel();
        jpanel.setLayout(new BorderLayout());
        String str = Integer.toString(count);
        jpanel.add(new JLabel(str, JLabel.CENTER), BorderLayout.CENTER);
        jpanel.setBorder(B);
        ((TitledBorder) (B)).setTitleColor(Color.RED);//转成子类
        return jpanel;
    }

    public Lianxi(String str) {
        super(str);
        Container contentPane = getContentPane(); //没必要转成JPanel
        contentPane.setLayout(new GridLayout(2, 3));
        contentPane.add(get(new TitledBorder("Title")));
    }

    public static void main(String[] args) {
        Lianxi lianxi = new Lianxi("Hello");
        lianxi.setSize(200, 200);
        lianxi.setLocation(180, 180);
        lianxi.setVisible(true);
        lianxi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册