关于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);
- 这时报错:
一大串的英文的意思就是:PanelNullLayout不是组件类(Component)The method add(String, Component) in the type JTabbedPane is not applicable for the arguments (String, PanelNullLayout)
- 那就把PanelNullLayout变成组件类咯
- 所以得给PanelNullLayout找个爸爸,还得是组件类型爸爸
- 用继承咯,看代码(看法宝,银角大王掏出紫金大葫芦):
public class PanelNullLayout extends JPanel
{
PanelNullLayout()
{
//布局设置为空布局
setLayout(null);
}
}
- 运行无障碍,感觉人生已经到达了巅峰~~~