写一个程序在JFrame窗口中点击一个按钮后显示JInternalFrame窗口,为什么无法显示JInternalFrame窗口
我写的代码在分在两个文件里,文件(Tr.java)定义的是JInternalFrame窗口,文件(Tf.java)定义的是JFrame窗口,main方法也是定义在文件(T...
我写的代码在分在两个文件里,文件(Tr.java)定义的是JInternalFrame窗口,文件(Tf.java)定义的是JFrame窗口,main方法也是定义在文件(Tf.java)里,能帮我看看吗?谢谢
具体的代码如下:
文件(Tr.java):
import java.awt.*;
import javax.swing.*;
public class Tr extends JInternalFrame{
JLabel label = new JLabel("运行环境");
JLabel labe2 = new JLabel("开发语言:JAVA");
JLabel labe3 = new JLabel("开发人员:");
public Tr()
{// 构造方法
JInternalFrame j = new JInternalFrame("这是JInternalFrame",true,true,true,true);
Container con = getContentPane();
con.setLayout(new GridLayout(4, 1));
con.add(label);
con.add(labe2);
con.add(labe3);
con.setBackground(Color.green);
j.setResizable(false);// 不可更改大小
j.setBounds(220, 120,400,300);// 设置大小
j.setVisible(true);// 可见
j.setClosable(true);// 设置可以关闭
}
}
文件(Tf.java):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.*;
public class Tf extends JFrame implements ActionListener{
private JDesktopPane desktop;
JButton jb;
JPanel jp;
public Tf(){
desktop=new JDesktopPane();
desktop.setLayout(null);
desktop.setBounds(200,100,800,400);
this.add(desktop);
jb=new JButton("点击我出现JInternalFrame");
jp=new JPanel();
jb.addActionListener(this);
jp.add(jb,BorderLayout.NORTH);
this.add(jp);
this.setTitle("内部窗口实例");
this.setSize(1100, 700);
this.setLocation(110, 20);
this.setVisible(true);
this.setResizable(false);
this.setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == jb) {
desktop.add(new Tr());
}
}
public static void main(String[] args)
{
new Tf();
}
} 展开
具体的代码如下:
文件(Tr.java):
import java.awt.*;
import javax.swing.*;
public class Tr extends JInternalFrame{
JLabel label = new JLabel("运行环境");
JLabel labe2 = new JLabel("开发语言:JAVA");
JLabel labe3 = new JLabel("开发人员:");
public Tr()
{// 构造方法
JInternalFrame j = new JInternalFrame("这是JInternalFrame",true,true,true,true);
Container con = getContentPane();
con.setLayout(new GridLayout(4, 1));
con.add(label);
con.add(labe2);
con.add(labe3);
con.setBackground(Color.green);
j.setResizable(false);// 不可更改大小
j.setBounds(220, 120,400,300);// 设置大小
j.setVisible(true);// 可见
j.setClosable(true);// 设置可以关闭
}
}
文件(Tf.java):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.*;
public class Tf extends JFrame implements ActionListener{
private JDesktopPane desktop;
JButton jb;
JPanel jp;
public Tf(){
desktop=new JDesktopPane();
desktop.setLayout(null);
desktop.setBounds(200,100,800,400);
this.add(desktop);
jb=new JButton("点击我出现JInternalFrame");
jp=new JPanel();
jb.addActionListener(this);
jp.add(jb,BorderLayout.NORTH);
this.add(jp);
this.setTitle("内部窗口实例");
this.setSize(1100, 700);
this.setLocation(110, 20);
this.setVisible(true);
this.setResizable(false);
this.setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == jb) {
desktop.add(new Tr());
}
}
public static void main(String[] args)
{
new Tf();
}
} 展开
展开全部
你在Tr类继承了JInternalFrame 为什么还要JInternalFrame j = new JInternalFrame("这是JInternalFrame",true,true,true,true);?
这样就行了
//JInternalFrame j = new JInternalFrame("这是JInternalFrame",true,true,true,true);
super("这是JInternalFrame",true,true,true,true);
后面的错误你自己改改
这样就行了
//JInternalFrame j = new JInternalFrame("这是JInternalFrame",true,true,true,true);
super("这是JInternalFrame",true,true,true,true);
后面的错误你自己改改
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询