0
私はGUIを使って木を説明しています。私が拡張したJPanelは、JPanelを構築したときに作成したJLabelを示していません。イムそれをテストコードここれるスイングJlabelが表示されない
class NodePanel extends JPanel {
private JLabel content;
NodePanel() {
this.setLayout(new FlowLayout());
this.setBorder(new LineBorder(Color.black));
}
NodePanel(String str) {
this.setLayout(new FlowLayout());
this.setBorder(new LineBorder(Color.black));
content = new JLabel(str);
this.add(content);
}
}
と::ここに私のJPanelのコードである
NodePanel n1 = new NodePanel(Integer.toString(root.getWeight()));
HuffmanGUI.tp.add(n1);
n1.setBounds((tpWidth/2) - (panelDim/2), vertSpace, panelDim, panelDim);
このコードはアクションリスナーによって呼び出されたメソッド内で、私はそれが動作します知っているが、パネルショー理由それはどこにあるのだろうが、Jlabelはその中には表示されない。なぜこれができますか?
あなたはそれを呼び出しました。 revalidate()を呼び出さないことが問題でした。 – Bill