天天看點

關于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. 運作無障礙,感覺人生已經到達了巅峰~~~

繼續閱讀