java,不是说不能直接给一个JFrame调用add方法吗??怎么我直接调用却没问题啊,并且还可以达到我的目的?

importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassDemoextendsJFr... import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Demo extends JFrame implements MouseMotionListener{
//JFrame可以画图
// 1,先学会用坐标
// 2,鼠标画圆
Point a = new Point(90,90);
Point startPoint = new Point(10,40);
Point endPoint = new Point(10,50);
JTextField text = new JTextField("wo ai ni");
public void init(){
text.setBounds(80, 80, 110, 80);
text.setBackground(Color.CYAN);
this.setLayout(new FlowLayout());
this.add(text);
//this.setBackground(Color.blue); //设置框体的背景色
this.addMouseMotionListener(this);
}
public void paint(Graphics g){
g.setColor(Color.red);
//g.fillOval(a.x,a.y, 50, 50);
g.drawLine(startPoint.x,startPoint.y,endPoint.x,endPoint.y);
}
public void mouseDragged(MouseEvent e){
startPoint = endPoint;
endPoint = e.getPoint();
repaint();
}
public void mouseMoved(MouseEvent e){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo d = new Demo();
d.init();
d.setVisible(true);
}
}
展开
 我来答
wehaju666888
2012-12-24 · TA获得超过583个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:126万
展开全部
直接调用是没问题 是不推荐直接调用add方法 这个方法可能在以后的版本中会被去掉 所以不推荐使用 而不是不能使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hdparrot
2012-12-24 · TA获得超过2404个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1154万
展开全部
直接调用不会出错啊。只是如果添加多个组件的时候,如果不选择布局方式,JFrame会默认为BorderLayout布局,默认把组件放在中间,后添加的会把之前添加的给盖住。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-12-24 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
使用没有问题。
有时候,会被rootPane遮挡住的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式