私が間違っていることを誰かに教えてもらえますか?私はJavaの新機能で、カードレイアウトでパネルが切り替わらない
..
JComboBox comboBox = new JComboBox();
comboBox.addItem("Factor 1");
comboBox.addItem("Factor 2");
comboBox.addItem("Factor 3");
comboBox.setSelectedIndex(-1);
studyPlanController.setFactors(comboBox);
MyItemListener itemListener = new MyItemListener();
comboBox.addItemListener(itemListener);
itemListener.setFactors(cardFactors);
と..
import java.awt.CardLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JPanel;
public class MyItemListener implements ItemListener {
JPanel factors;
public void setFactors(JPanel factors) {
this.factors = factors;
}
@Override
public void itemStateChanged(ItemEvent e) {
CardLayout cl = (CardLayout) (factors.getLayout());
cl.show(factors, (String) e.getItem());
}
}
ブレークポイント)(のitemStateChangedに配置され、そしてCOMBOXが変更され、その後、ブレークポイントをヒットし、しかしcardlayoutまだ影響を受けていない。
あなたが表示していないコードに何か間違った;-) SSCCEの時間。ところで、あなたのitemListenerでは、おそらくitem_deselectedイベントではなく、item_selectedイベントでカードを変更したいだけです。 – kleopatra
なぜ2番目。 time http://stackoverflow.com/questions/8594306/overlap-jpanels-with-windowbuilder-for-eclipse、このチュートリアルの例を次に示します – mKorbel
mKorbel - これは別の質問です。 – pingu