不用布局管理器
this.setLayout(null);这样就可以绝对定位了

解决方案 »

  1.   

    不建议使用null,这样使用当你applet在不同的环境下,将会很难看(会移位)。
    为什么会有这样的要求,需要绝对定位?
      

  2.   

    组件的定位归根到底是通过 Component的 setBounds 方法来实现的(调用 setSize 和 setLocation ),你可以不安装任何布局管理器(setLayout(null),并在将组件添加到容器后(容器的add方法),自己调用 要定位的组件 的setBounds方法。但如果为了方便,也可以创建自己的布局管理器来实现。另:
    请问各位,xyLayout 是不是 JB 自己实现的?好象在JDK 文档里找不到……
      

  3.   

    把布局设置为null或者xylayout
      

  4.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;public class clientHTM1 extends Applet {


    TextArea ta ;

    Button m_aq ;

    public void init(){
    ta = new TextArea(20,40);
    ta.setSize(100,100);
    setLayout(null);
    setSize(400,400);
    ta.setLocation(200,200);
    ta.show();
    add(ta);
    show();

    }}//要把一个文本框放在一个applet里面的任何一个地方,具我所知,null的布局....
      

  5.   

    我是楼主。是这样的:我要在一个图片上的某个位置上用一个label来说明它,比如一个电路图,在一个电阻位置,我要用一个label来说明这个电阻是多少。我该怎么实现?在图片上,我只知道某电阻的相对位置哦,在applet上显示出图片,再在图片上定位。大家给点建议,我有4000多可用分,不够可以再加!
      

  6.   

    //既然是这样,可以不管布局管理器,用事件处理完成岂不更好?import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;public class pci extends Applet{

    Image im;
    Label l =new Label("Hello!");
    public void init(){

    im = getImage(getDocumentBase(),"1.jpg");
    add(l);
    l.addMouseMotionListener(new MouseMotionAdapter(){
    public void mouseDragged(MouseEvent e){
    e.translatePoint(l.getLocation().x,l.getLocation().y);
       l.setLocation(e.getX()-l.getSize().width/2,e.getY()-l.getSize().height/2);
    }
    });
    }

    public void paint(Graphics g){
    g.drawImage(im,10,10,this);
    }
    }//这个程序已经调试通过,你把label拖动到想要的地方不是更好吗?自己找一张jpg的图改
    //名"1.jpg"看看效果如何吧.
      

  7.   

    想要可以任意放的话,最好还是用GridBagLayout网格包布局,这个布局相对其它来说会难点,但也不是难到哪去,你可以找在关于这方面的书看看,只要你把你的布局画成表格后,按行列用
    GridBagConstraints对象就可以做到了.
    this.setLayout(null)是取消它的布局让我们可以自己用setLocation来布局,这两种你都可以试试,看看哪种效果好
      

  8.   

    太妙了,多谢 golden1024(初学J)!结贴散分!