2010-11-25 19 views
0

それを修正タブにJPanelのを追加 互換性のない型 が見つかりました: java.awt.Component 必須:javax.swing.JPanel JPanel p = tp.getComponentAt(0);のJava SwingのJTabbedPaneのは、私はJPanelのに何かを追加し、JTabbedPaneのを作成してすべての人にJPanelのを追加したい

私の本は、Component getComponentAt(int index)を使用して、コンテンツにアクセスでき、JButtonがコンポーネントであることを覚えていますか?だからwth?

答えて

1

Javadocを見ると、実際にJTabbedPane#getComponentAt(index)Componentを返すことがわかります。あなたはそれが(JTabbedPaneのタブにアクセスするとき、多かれ少なかれケースである)JPanelだと確信している場合しかし、あなたは常にそれをキャストすることができます:

あなたはスイングについてのいくつかのことを知って、より良い場合
((JPanel) tp.getComponentAt(0)).add(new JButton("come on, Java is nice enough, no ?")); 

かを、

((JCompoonent) tp.getComponentAt(0)).add(new JButton("No, Java and Swing positively rock hard awesome !")); 
実際

JPanel

+0

私はそれが(私は私のタブでのみのJPanelをした、より一般的だと思うのでriduidel TYねえ、私は、あなたの第二のアプローチを選択しました。でも気にしないで)。 – JavaHater

+0

はい、Swingコンポーネントを使用すると、2番目のオプションが常に機能します – Riduidel

関連する問題