各位前辈们,Java实现菜单对面板的切换,但我写的代码为什么切换不了面板,求解答!

编程的人 2015-06-19 09:26:28
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.HeadlessException;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;


public class CutPanel1 extends JFrame{
public static void main(String[] args){
new CutPanel1().setVisible(true);
}
private JMenuBar menuBar;
private JCheckBoxMenuItem jcm1;
private JCheckBoxMenuItem jcm2;
private CardLayout layout = new CardLayout(0,0);
private JPanel panel = new JPanel();;
public CutPanel1(){



getContentPane().add(panel,BorderLayout.CENTER);
panel.setLayout(layout);

menuBar = createMenu();
this.setJMenuBar(menuBar);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.setVisible(true);
}
public JMenuBar createMenu() {
// TODO Auto-generated method stub
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("面板切换");
menu.add(jcm1 = new JCheckBoxMenuItem("red"));
jcm1.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JPanel panel1 = new JPanel();
//panel1.add(new JButton("xx"));
panel.add(panel1,"red");
layout.show(panel, e.getActionCommand());
}

});
menu.add(jcm2 = new JCheckBoxMenuItem("yellow"));
jcm2.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JPanel panel2 = new JPanel ();
//panel2.add(new JButton("yy"));
panel.add(panel2,"yellow");
layout.show(panel,e.getActionCommand());
}

});
menubar.add(menu);
return menubar;
//JCheckBoxMenuItem jcm1 = new JCheckBoxMenuItem("red");
//JCheckBoxMenuItem jcm2 = new JCheckBoxMenuItem("yellow");


}
}
...全文
174 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
编程的人 2015-06-21
  • 打赏
  • 举报
回复
但是我不是在面板里面添加按钮了吗?为什么还是显示不出来!
fwc125 2015-06-20
  • 打赏
  • 举报
回复
panel1,panel2设个背景色。其实已经切换了,不过看不出来
编程的人 2015-06-20
  • 打赏
  • 举报
回复
引用 1 楼 fwc125的回复:
panel1,panel2设个背景色。其实已经切换了,不过看不出来
但是我不是在面板里面添加按钮了吗?为什么还是显示不出来!
前言最近随着计算机的发展,软件日益更新,有很多公司发布的产品遭到篡改和破解,在总众多年的历史种逐渐形成了软件保护与软件破解之间的对抗产生了软件逆向工程这本门技术将在如下的课程讲解各种软件逆向知识,软件保护知识,已经破解脱壳反调试知识,为初期学软件逆向不懂而又迷茫的同学门指明一条道路此套课堂能有效帮助同学们解决软件逆向中所遇到的大部分问题大纲软件逆向工程高级班分为反调试篇汇编篇算法篇补丁篇HOOK篇将在如上这几篇对软件逆向的各个方面进行详解,包括网络验证的分析思路,封包算法的提取,以及各种软件保护技术,无论哪一篇都会从诸多个方面的细节进行详解反调试篇:分为PEB,时间校验,CRC,NtQuery函数,内核过渡等知识要领与诸多方面的综合性详解,细节分为每一节课,每一节课目标清晰无比,每一节深入精髓进行讲解!汇编篇:一个程序编译完成之后是如何通过在计算机运行起来的,其中少不了底层知识的汇编指令,汇编篇中将深入浅出的带领同学们对MASM32SDK的一套汇编库中开发程序,熟悉汇编的原理,如何运用汇编出一套花指令,并且去除指令,方便以后的算法学习以及为今后的学习打下坚实的基础算法篇:随着编程语言的发展,编程语言的标准也在发展,一些编译器善于运用数学的手法,对程序进行各种优化,然后我们进行分析,我们得需要一步步还原这个优化或清晰了解这个优化才有可能掌握这个数学模型优化,进一步还原代码,算法篇知识要领将在优化,技巧这方面表现的玲离尽致!此篇会带领同学们分析多个语言的算法,包括C/C++算法还原代码还原易语言代码还原 算分开库的实现,制作自己的第一个注册机等!补丁篇:说到补丁,同学们可能第一个想到的就是对方一些网络验证所用到的技巧,我的课程这一方面虽有涉及,但是补丁技术远远不止这一点,我的课程会详解更多的补丁知识原理,包括什么是补丁,补丁的真正概念,前辈们是如何善用补丁对程序的漏洞进行修补损坏的程序。将在此篇一一介绍HOOK篇:详细详解了各种HOOK的原理以及实现代码,包括网上流行所说的超级HOOK,COMHOOK,协议HOOK,代理中转等方法,怎么定位关键位置,环境的保存知识要领,hook关键的注意事项,为自己以后做hook行业打下坚实的基础课程每一个细节讲究的深入骨髓,通俗易懂的学习方式,全程贯彻原理,软件逆向中必不可少少的教程!

50,336

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧