可不可以把Jframe添加到Jframe??

jiankehucool 2005-02-19 11:08:06
因为要做作业,要把几个程序用一个面板来管理
可不可以把Jframe添加到Jframe呀?
如果不行那该怎么做??谢谢!^_^
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiankehucool 2005-02-20
  • 打赏
  • 举报
回复
谢谢谢谢!!
真是太感谢你了
angues1980 2005-02-20
  • 打赏
  • 举报
回复
把容器加到容器上当然不行了,不过Java已经给你提供了其他的方法了。
可以用JDesktopPane和JInternalFrame来实现的。

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.awt.event.ActionEvent;

public class TestMenu extends JFrame implements ActionListener
{
JMenuBar jmb;
JMenu jm;
JMenuItem jmi;
JJPane jdk;
Container con;
public TestMenu()
{
con = this.getContentPane();
jmb=new JMenuBar();
jm=new JMenu("打开新窗口");
jm.setMnemonic('a');
jmi=new JMenuItem("Open"+" "+"ALT A");
jmi.addActionListener(this);
jmi.setMnemonic('b');
jdk=new JJPane();


jm.add(jmi);
jm.addSeparator();
jmb.add(jm);
con.add(jdk);
this.setJMenuBar(jmb);
this.setSize(400,400);
this.setVisible(true);

}
public static void main(String args[])
{
new TestMenu();
}

public void actionPerformed(ActionEvent e) {
if(e.getSource()==jmi)
{
JOpenFrame jo=new JOpenFrame();
jdk.add(jo);
}
}
}
//重写paintBorder方法,可以在JDesktopPane上画背景图
class JJPane extends JDesktopPane
{
public void paintBorder(Graphics g)
{
super.paintBorder(g);
ImageIcon ig=new ImageIcon("图片.jpg");
Image im=ig.getImage();
g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this);
}
}
class JOpenFrame extends JInternalFrame
{
JLabel jl;
Icon ic;
Container con;
public JOpenFrame()
{
super("Open",true,true,true,true);
con=this.getContentPane();
setSize(300,300);
setVisible(true);
}
}
jiankehucool 2005-02-19
  • 打赏
  • 举报
回复
是否说用把Jframe添加到Jpanel?
coolzdp 2005-02-19
  • 打赏
  • 举报
回复
JPanel !!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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