登陆                                                                                                      ____________________________________________________________文件 帮助           用户名                                     ┌─────────┐
                                                      │                  │
                                                      └─────────┘
           密码                                       ┌─────────┐
                                                      │                  │
                                                      └─────────┘                               确定_____________________________________________________________________________________import java.awt.*;
import javax.swing.*;
public class denglu extends JDialog {
public static void main(String[] args){

JFrame jf = new JFrame("登陆");
JMenuBar jmb = new JMenuBar();
JMenu jm1 = new JMenu("文件");
JMenu jm2 = new JMenu("帮助");
JLabel jl1 = new JLabel("用户名");
JLabel jl2 = new JLabel("密码");
JTextField jtf1 = new JTextField();
JTextField jtf2 = new JTextField();
JButton jb = new JButton("确定");
jmb.add(jm1);
jmb.add(jm2);
jf.add(jmb,BorderLayout.NORTH);
jf.setBounds(new Rectangle(120,90,200,20));      
jf.add(jl1);
jf.add(jl2);
jf.setBounds(200,100,600,500);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}在这段代码中的Rectangle(120,90,200,20),120 和 90 我知道是 x 和 y 但是200 和 20 是什么呢?不知道如何写这段才能够实现上面的界面希望大家多多指教!!!

解决方案 »

  1.   

    你可以查阅一下java帮助,应该会找得到吧?呵呵,看一下这个函数的参数的意思
      

  2.   

    建议常备API于桌面上以便查阅
      

  3.   

    最好下个API查查就好了:
    public Rectangle(int x,
                     int y,
                     int width,
                     int height)构造一个新的 Rectangle,其左上角被指定为(x,y),而其宽度和高度由同名称的参数指定。 参数:
    x - 指定的 x 坐标
    y - 指定的 y 坐标
    width - Rectangle 的宽度
    height - Rectangle 的高度
      

  4.   

    楼上正解!
    你代码中
    jf.setBounds(new Rectangle(120,90,200,20));
    jf.setBounds(200,100,600,500); 
    这两句其实是一个用途,没必要来两遍;还有一点建议,就是把一个容器的布局设置为NULL的时候,记得  setPreferredSize(Dimension preferredSize);
      

  5.   

    import java.awt.*;
    import javax.swing.*;
    public class denglu extends JDialog {
    public static void main(String[] args){
    JFrame jf = new JFrame("登陆");
    JPanel jp = new JPanel();
    JMenuBar jmb = new JMenuBar();
    JMenu jm1 = new JMenu("文件");
    JMenu jm2 = new JMenu("帮助");
    JLabel jl1 = new JLabel("用户名");
    JLabel jl2 = new JLabel("密码");
    JTextField jtf1 = new JTextField();
    JTextField jtf2 = new JTextField();
    JButton jb = new JButton("确定");
    jmb.add(jm1);
    jmb.add(jm2);
    jf.add(jmb,BorderLayout.NORTH);
    jl1.setBounds(new Rectangle(100,90,100,20));
    jtf1.setBounds(new Rectangle(200,90,200,20));
    jl2.setBounds(new Rectangle(100,200,100,20));
    jtf2.setBounds(new Rectangle(200,200,100,20));
    jb.setBounds(new Rectangle(150,400,60,30));
    jf.add(jl1);
    jf.add(jtf1);
    jf.add(jl2);
    jf.add(jtf2);
    jf.add(jb);
    jf.setSize(600,500);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible(true);
    }
    }感谢大家的指点,我已经对代码进行了改进,但是还是不能收到预期的效果?这会我的界面整体感觉像是一个大按扭,希望大家在多多指教!!!
      

  6.   

    jf.setSize(600,500);  这个设置大了点
    第2 你布局用网格布局就行,很容易的,3行2列
      

  7.   

    奇怪,在我的机器上怎么编译不过呢
    提示:
    找不到符号: 构造函数 Rectangle(int,int,int,int)
    位置: 类 Rectangle
    jl2.setBounds(new Rectangle(100,200,100,20));
                  ^
    以前没有这种情况啊,包也导入了,怎么会事哩?