我想在一个frame的子类里用null布局写一个指定组建位置的窗口 但是
Frame_win(String s) { super(s);
setLayout(null);
t_File_Name = new TextField();
Toolkit tool = getToolkit();
Dimension dim = tool.getScreenSize();
setBounds(dim.width / 3, dim.height / 3, dim.width / 3, dim.height / 3); add(t_File_Name);
t_File_Name.setBounds(5, 5, 24, 8);
setVisible(true); }
}但是发现这么写的窗口是一片白 什么都没有 求指教 

解决方案 »

  1.   

    Frame的起始坐标我估计是窗口的最左上角,然后你写的文本框x和y坐标太小,导致文本框被标题栏遮住
    你可以看看下面的代码import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class TestFrame extends Frame
    {
    public TestFrame(String s) 
    {
    super(s);
    setLayout(null);
    TextField t_File_Name = new TextField();

    Toolkit tool = getToolkit();
    Dimension dim = tool.getScreenSize();
    setBounds(dim.width / 3, dim.height / 3, dim.width / 3, dim.height / 3);

    add(t_File_Name);
    t_File_Name.setBounds(20, 20, 24, 8);

    setVisible(true);
    }

    public static void main(String[] args)
    {
    Frame frame = new TestFrame("Hello,World!");
    frame.setSize(400, 300);
    frame.setVisible(true);
    //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent event)
    {
    System.exit(0);
    }
    });
    }
    }
    另外,还是给个建议,最好还是不要用Frame了,用JFrame好了,TextField也换成JTextField,这样它的无布局才是从客户区的左上角开始,而不是整个窗口的左上角开始,下面给个JFrame和JTextField的例子import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class TestFrame extends JFrame
    {
    public TestFrame(String s) 
    {
    super(s);
    setLayout(null);
    JTextField t_File_Name = new JTextField();

    Toolkit tool = getToolkit();
    Dimension dim = tool.getScreenSize();
    setBounds(dim.width / 3, dim.height / 3, dim.width / 3, dim.height / 3);

    add(t_File_Name);
    t_File_Name.setBounds(5, 5, 24, 8);

    setVisible(true);
    }

    public static void main(String[] args)
    {
    JFrame frame = new TestFrame("Hello,World!");
    frame.setSize(400, 300);
    frame.setVisible(true);
    //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent event)
    {
    System.exit(0);
    }
    });
    }
    }
      

  2.   

    每天回帖即可获得10分可用分!
    现在java的UI现在用略了解下就行了吧