天天看点

关于Java使用add(String, Component)方法时,报错:not applicable for the arguments (String, PanelNullLayout)

关于Java使用add(String, Component)方法时,报错:not applicable for the arguments (String, PanelNullLayout)

  1. 这是由于参数的类型错误。
  2. 我讲一下我遇到的情况:实参是普通类,形参是Component(组建类)
  3. 接下看代码
import javax.swing.*;
//创建一个空布局的面板
public class PanelNullLayout {
	//声明一个JPanel成员变量
	private JPanel panel;
	//构造器
	PanelNullLayout()
	{
		//创建Jpanel实例
		panel = new JPanel();
		//panel布局设置为空布局
		panel.setLayout(null);
	}
}
           
  1. 创建上面类的实例:
PanelNullLayout panelNull = new PanelNullLayout();
           
  1. 将空面板放入选项卡面板:
JTabbedPane tabbedPanel = new JTabbedPane(JTabbedPane.TOP);
tabbedPanel.add("空布局面板",panelNull);
           
  1. 这时报错:

    The method add(String, Component) in the type JTabbedPane is not applicable for the arguments (String, PanelNullLayout)

    一大串的英文的意思就是:PanelNullLayout不是组件类(Component)
  2. 那就把PanelNullLayout变成组件类咯
  3. 所以得给PanelNullLayout找个爸爸,还得是组件类型爸爸
  4. 用继承咯,看代码(看法宝,银角大王掏出紫金大葫芦):
public class PanelNullLayout extends JPanel
{
	PanelNullLayout()
	{
		//布局设置为空布局
		setLayout(null);
	}
}
           
  1. 运行无障碍,感觉人生已经到达了巅峰~~~

继续阅读