永发信息网

JAVA JFrame切换JPanel

答案:3  悬赏:0  手机版
解决时间 2021-12-01 17:06
  • 提问者网友:爱唱彩虹
  • 2021-12-01 03:47
JAVA JFrame切换JPanel
最佳答案
  • 五星知识达人网友:玩世
  • 2021-12-01 05:08
声明3个JPanel:p1,p2,p3
public class P3 extends JPanel
{
private JPanel p1;
private JPanle p2;
private CardLayout out;

public P3()
{
out = new CardLayout();
setLayout(out);
p1 = new P1(this);
p2 = new P2(this);

add("p1", p1);
add("p2", p2);
}

public void setCurrentPanel(String panelName)
{
out.show(this, panelName);
}

}

public class P1 extends JPanel implements Runnable
{
private P3 p3;
private int i = 0;

public P1(P3 p3)
{
this.p3 = p3;
}

public void run()
{
while (true)
{
if (i == 1)
{
p3.setCurrentPanel("p2");
}
}
}
}

p2的声明我就不写了哈,只是说明一种方法,往p2里面传p3的对象只是方便你返回到p1,如果没有返回的必要,就不用传了。
全部回答
  • 1楼网友:千夜
  • 2021-12-01 06:55
你可以先把p2.setVisible(false).if(i===1){
p1.setVisible(false);
p2.setVisible(true);
}
  • 2楼网友:鱼芗
  • 2021-12-01 05:52
在线程中判断 if(xxx){
JFrame.removeAll;

JFrame.repaint();

JFrame.add(JPanel);

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯