java中的一些问题
importjava.awt.*;importjava.io.*;importjavax.swing.*;importjavax.imageio.*;importjava...
import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.imageio.*;
import java.net.*;
public class PanelFrame extends SimpleFrame{
public PanelFrame(int weight,int hight){
super(weight,hight);
}
public static void main(String args[]){
PanelFrame frame = new PanelFrame(300,200);
//创建ContentPanel对象
ContentPanel contentPanel = new ContentPanel();
//把其他组件添加到面板中
contentPanel.add(new JButton("OK"));
frame.setContentPane(contentPanel);
frame.setVisible(true);
}
}
class ContentPanel extends JPanel{
//在面板中绘制图文
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawOval(120,60,150,70);//绘制一个椭圆
try{
g.drawString("这是一个面板",160,100);//绘制一行文字
Image image = ImageIO.read(new URL(urlname));
g.drawImage(image,30,30,null);//绘制一幅图片
}catch(IOException e){
g.drawString("加载图片失败",100,100);
}
}
String urlname="";
}
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
没有为类型 PanelFrame 定义方法 setContentPane(ContentPanel)
没有为类型 PanelFrame 定义方法 setVisible(boolean)
at PanelFrame.main(PanelFrame.java:18)
导入了swing包的为什么还这样?
JFrame(int,int)是未定义的啊,我是定义一个SimpleFrame的新框架类PanelFrame,可以在原来的SimpleFrame基础上显示图片、文字,绘制图形,添加组件的功能。
frame.setContentPane(contentPanel)是把contentPanel对象设置成为frame内容窗格 展开
import java.io.*;
import javax.swing.*;
import javax.imageio.*;
import java.net.*;
public class PanelFrame extends SimpleFrame{
public PanelFrame(int weight,int hight){
super(weight,hight);
}
public static void main(String args[]){
PanelFrame frame = new PanelFrame(300,200);
//创建ContentPanel对象
ContentPanel contentPanel = new ContentPanel();
//把其他组件添加到面板中
contentPanel.add(new JButton("OK"));
frame.setContentPane(contentPanel);
frame.setVisible(true);
}
}
class ContentPanel extends JPanel{
//在面板中绘制图文
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawOval(120,60,150,70);//绘制一个椭圆
try{
g.drawString("这是一个面板",160,100);//绘制一行文字
Image image = ImageIO.read(new URL(urlname));
g.drawImage(image,30,30,null);//绘制一幅图片
}catch(IOException e){
g.drawString("加载图片失败",100,100);
}
}
String urlname="";
}
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
没有为类型 PanelFrame 定义方法 setContentPane(ContentPanel)
没有为类型 PanelFrame 定义方法 setVisible(boolean)
at PanelFrame.main(PanelFrame.java:18)
导入了swing包的为什么还这样?
JFrame(int,int)是未定义的啊,我是定义一个SimpleFrame的新框架类PanelFrame,可以在原来的SimpleFrame基础上显示图片、文字,绘制图形,添加组件的功能。
frame.setContentPane(contentPanel)是把contentPanel对象设置成为frame内容窗格 展开
4个回答
展开全部
SimpleFrame中没有setContentPane(ContentPanel)setVisible(boolean)这两个方法,故出错;
楼主如果需要一个能“显示图片、文字,绘制图形,添加组件的功能”的Frame的话,建议直接使用JFrame;
注意不建议使用Frame,Frame为awt包中的,是java早期界面元素,是完全调用本地操作系统类库生成的界面,在不同的操作系统中所呈现出来的界面时不一样的,不太好掌控;
而Swing包中JFrame等则完全是java自己的界面元素,真正的跨平台
楼主如果需要一个能“显示图片、文字,绘制图形,添加组件的功能”的Frame的话,建议直接使用JFrame;
注意不建议使用Frame,Frame为awt包中的,是java早期界面元素,是完全调用本地操作系统类库生成的界面,在不同的操作系统中所呈现出来的界面时不一样的,不太好掌控;
而Swing包中JFrame等则完全是java自己的界面元素,真正的跨平台
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SimpleFrame是???
改为JFrame应该就没问题了。。
public class PanelFrame extends JFrame{
不知道你的SimpleFrame是什么哦。。
改为JFrame应该就没问题了。。
public class PanelFrame extends JFrame{
不知道你的SimpleFrame是什么哦。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没用过setContentPane这个方法,我以前都是用add的,不知道你这个是干嘛的=。=
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询