小弟初学java,这个是我写的关于程序窗口布局的代码,求指出不足之处。

lijegd 发布于 2012/04/21 21:01
阅读 609
收藏 0
import java.awt.*;
import javax.swing.*;

public class text1 {

public text1()
{
JFrame f1=new JFrame("text"); //定义一下窗口
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setBounds(400,100,360,200); //窗口定位
f1.setResizable(false); //窗口可见
JPanel p1=new JPanel(); //面板1
JPanel p2=new JPanel(); // 面板
p1.setPreferredSize(new Dimension(190,50)); //面板设置
p2.setPreferredSize(new Dimension(240,100)); //面板设置
Container c=f1.getContentPane();
c.setLayout(new FlowLayout ());
JLabel label1=new JLabel("用户名:",10);
JLabel label2=new JLabel("密   码 :",10);
JLabel label3=new JLabel("系统登录",10);
JTextField text1=new JTextField("",15);
JTextField text2=new JTextField("",15);
f1.setVisible(true); //面板可见
p1.add(label3);
p2.add(label1);
p2.add(text1); //将组件添加到面板
p2.add(label2);
p2.add(text2);
c.add(p1);
c.add(p2);
}
public static void main(String [] args)
{
text1 text1=new text1();
}
}

以下是问题补充:

@lijegd:真心找不足,真心求指导...... (2012/04/21 21:14)
加载中
0
Jeky
Jeky

这能有啥不足...
JLabel的构造方法里那个10改成,JLabel.LEADING
注释有个错误:setResizable()是设置尺寸不可改变,不是窗口可见
setVisible放最后,注意命名规范,没了。

具体布局的问题,那是设计的事情,跟代码没关系。
要想对齐那两个JLabel和JTextField,可以考虑GroupLayout和GridBagLayout

具体范例:
http://docs.oracle.com/javase/6/docs/api/javax/swing/GroupLayout.html
http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

lijegd
lijegd
哈哈,谢谢,那个注释了一时不小心弄错的。
0
喜之郎
喜之郎
偶找个,类名首字母要大写。变量名后面别搞什么123,要见名知义。
lijegd
lijegd
嗯嗯嗯,命名的问题以后会注意的。谢谢
返回顶部
顶部