关于Java使用add(String, Component)方法时,报错:not applicable for the arguments (String, PanelNullLayout)
这是由于参数的类型错误。
我讲一下我遇到的情况:实参是普通类,形参是Component(组建类)
接下看代码
import javax.swing.*;
//创建一个空布局的面板
public class PanelNullLayout {
//声明一个JPanel成员变量
private JPanel panel;
//构造器
PanelNullLayout()
{
//创建Jpanel实例
panel = new JPanel();
//panel布局设置为空布局
panel.setLayout(null);
}
}
创建上面类的实例:
PanelNullLayout panelNull = new PanelNullLayout();
将空面板放入选项卡面板:
JTabbedPane tabbedPanel = new JTabbedPane(JTabbedPane.TOP);
tabbedPanel.add("空布局面板",panelNull);
这时报错:The method add(String, Component) in the type JTabbedPane is not applicable for the arguments (String, PanelNullLayout)
一大串的英文的意思就是:PanelNullLayout不是组件类(Component)
那就把PanelNullLayout变成组件类咯
所以得给PanelNullLayout找个爸爸,还得是组件类型爸爸
用继承咯,看代码(看法宝,银角大王掏出紫金大葫芦):
public class PanelNullLayout extends JPanel
{
PanelNullLayout()
{
//布局设置为空布局
setLayout(null);
}
}