「已注销」 2021-05-11 23:26 采纳率: 0%
浏览 51

java组件中如何在JFrame移除JPanel类容

package Youxi;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import text.Gamewindow;

public class Zhumb extends JFrame {
		
	 Denglu Bm1;
	 
	 Zhumb() {//设置最基础的面板
		//实现全面屏
		setTitle("小游戏");
		init();
		double width = Toolkit.getDefaultToolkit().getScreenSize().width; //得到当前屏幕分辨率的高
		double height = Toolkit.getDefaultToolkit().getScreenSize().height;//得到当前屏幕分辨率的宽
		setSize((int)width,(int)height);//设置大小
		setLocation(0,0); //设置窗体居中显示
		setResizable(false);//禁用最大化按钮
	  //实现全面屏
		setVisible(true);
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		//validate();		
	}
	void init() {
		// TODO Auto-generated method stub
		Bm1 = new Denglu();
		add(Bm1,BorderLayout.CENTER);//将登录界面添加到底层容器
		
	}

}

以上是继承JFrame的

package Youxi;
import java.awt.*;
import java.awt.event.*;
import javax.swing.UIManager;

import text.Gamewindow;

import javax.swing.*;

public class Denglu extends JPanel implements ActionListener{
	double width = Toolkit.getDefaultToolkit().getScreenSize().width; //得到当前屏幕分辨率的高
	double height = Toolkit.getDefaultToolkit().getScreenSize().height;//得到当前屏幕分辨率的宽
	//设置登录界面(中间容器)
	JButton Qued;//确定按钮
	JLabel Zhangh1;
	JLabel Zhangh2;//账户
	JTextField Shurk1,Shurk2;//输入框
	
	Denglu(){
		setLayout(null);
		Qued = new JButton("确定");
		Zhangh1 = new JLabel("玩家1");
		Zhangh2 = new JLabel("玩家2");
		Shurk1 = new JTextField(10);
		Shurk2 = new JTextField(10);
		add(Qued);
		add(Zhangh1);
		add(Zhangh2);
		add(Shurk1);
		add(Shurk2);
		Qued.addActionListener(this);
		Qued.setBounds((int)width/2, ((int)height*3)/4, 200, 50);
		Zhangh1.setBounds(((int)width*1)/4, ((int)height*2)/6, 200, 50);
		Zhangh2.setBounds(((int)width*3)/4, ((int)height*2)/6, 200, 50);
		Shurk1.setBounds(((int)width*1)/4, ((int)height*3)/6, 200, 50);
		Shurk2.setBounds(((int)width*3)/4, ((int)height*3)/6, 200, 50);
		//UIManager.put("JLabel.font", new java.awt.Font("宋体", 0, 12));
		Zhangh1.setFont(new Font("", Font.BOLD, 32)); 
		Zhangh2.setFont(new Font("", Font.BOLD, 32));
	}

	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource() == Qued){//改变图形化界面为“进入游戏”的界面。
			//new Gamewindow();
			 youxi() ;
		}
		
	}
	private void youxi() {
		// TODO Auto-generated method stub
		Gamewindow p1;
		p1 = new Gamewindow();
		this.removeAll();
		add(p1,BorderLayout.CENTER);
	}

}

如何在点击按钮之后先移除所有jpanel的类容,再加入另一个jpanel的类容

  • 写回答

1条回答 默认 最新

  • Timor_D 2021-05-12 09:11
    关注
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!