java求问:为什么主类继承JPanel就是对的,继承JFrame就会出错,或者帮我改下 10
packagea;importjava.awt.*;importjavax.swing.*;publicclassaextendsJPanel//------------...
package a;
import java.awt.*;
import javax.swing.*;
public class a extends JPanel//------------------不能继承JFrame
{
public void paint(Graphics g)
{
g.drawString("Hello World!!",100,50);
}
public static void main(String args[])
{
a jp=new a(); //初始化JPanel
JFrame jf=new JFrame(); //初始化JFrame
jf.add(jp); //JPanel加入JFrame
jf.setTitle("drawString示例"); //创建标题
jf.setBounds(1000,100,300,150); //设置位置和大小
jf.setResizable(true);
jf.setVisible(true); //可视度
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//exit(0);
}
} 展开
import java.awt.*;
import javax.swing.*;
public class a extends JPanel//------------------不能继承JFrame
{
public void paint(Graphics g)
{
g.drawString("Hello World!!",100,50);
}
public static void main(String args[])
{
a jp=new a(); //初始化JPanel
JFrame jf=new JFrame(); //初始化JFrame
jf.add(jp); //JPanel加入JFrame
jf.setTitle("drawString示例"); //创建标题
jf.setBounds(1000,100,300,150); //设置位置和大小
jf.setResizable(true);
jf.setVisible(true); //可视度
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//exit(0);
}
} 展开
1个回答
展开全部
分析你的代码,如果继承自JFrame 那么jp 就是一个JFrame,代码jf.add(jp);就是把一个JFrame加入到另外一个JFrame (jf)当中.就会报错
修改后的代码
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class a extends JFrame// ------------------可以继承JFrame
{
public void paint(Graphics g) {
g.drawString("Hello World!!", 100, 50);
}
public static void main(String args[]) {
JPanel jp = new JPanel();
a frame = new a();
frame.add(jp); // JPanel加入JFrame
frame.setTitle("drawString示例"); // 创建标题
frame.setBounds(1000, 100, 300, 150); // 设置位置和大小
frame.setResizable(true);
frame.setVisible(true); // 可视度
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// exit(0);
}
}
追问
a无论继承自JFrame还是JPanel都不会有影响吗?
追答
a是jframe 那就把jpanel添加到a进去
a是jpanel 那就把a添加到jframe里去
建议你的类名不要用一个小写字母表示,容易搞不清是什么含义的类.
建议你使用首字母大写,然后包含具体含义的英文或拼音去表达.
比如当a是用来表示JFrame的一个子类.那就可以使用 ChuangKou 或者MyJFrame
如果a是用来表示JPanel的的一个子类.那就可以使用MianBan 或者 MyJPanel
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询