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