java布局问题

刚学java,对添加组件的布局问题很头疼,一下是代码,结果如图!我就想让2个标签以及文本框对齐,怎么设置的?还有弱弱的问下setBounds(x,y,width,heig... 刚学java,对添加组件的布局问题很头疼,一下是代码,结果如图!我就想让2个标签以及文本框对齐,怎么设置的?还有弱弱的问下setBounds(x,y,width,height)中的x,y,以什么为标准计量的?他们的圆点在哪,还有假如x=10,那这个10的单位是什么?我怎么知道它就是10。。。穷人只有15分敬上!
import javax.swing.*;
import java.awt.*;

public class oo extends ii
{
JLabel label1,label2;
JTextField h1;
JPasswordField h2;
JButton button;
public void init()
{
super.init();
p1.setLayout(new FlowLayout());
label1=new JLabel("用户名");
h1=new JTextField(10);
label2=new JLabel("密码");
h2=new JPasswordField(10);
button=new JButton("登陆");
p1.add(label1);p1.add(h1);
p1.add(label2);p1.add(h2);
p1.add(button);
}
}
展开
 我来答
__z___j___t__
2010-06-26
知道答主
回答量:28
采纳率:0%
帮助的人:13.2万
展开全部
简单的方法:
label1=new JLabel("用户名");
label2=new JLabel("密 码");加了二个空格....不就对齐了
用setBounds方法算下坐标也可以,就是麻烦

setBounds(x,y,width,height)中的x,y 是以屏幕的左上角为原点,横向为x,纵向为y.单位是像素。如果你的屏幕是1024x768的,屏幕右下角x=1024,y=768.
想要窗体出现在什么位置,估算下窗体左上角点就行了.
乁Freedom
2010-06-26 · TA获得超过2128个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1439万
展开全部
FlowLayout做这种布局是无法控制的
GridBagLayout这个布局和强大也和复杂,给你个例子,然后自己再去找有关这个布局的资料看看
这个布局还可以设置当窗口改变大小时你想让组件怎么变化

package demo;
import javax.swing.*;
import java.awt.*;

@SuppressWarnings("serial")
public class LoginFrame extends JFrame {

private JTextField account;
private JTextField password;
private JButton login;
private JButton exit;

public LoginFrame() {
setLayout(new GridBagLayout());//将布局管理器设置成GridBagLayout
GridBagConstraints con = new GridBagConstraints();//这个对象主要用来控制组件的位置以及其他一些信息
con.insets = new Insets(5,5,5,5);//将组件的周围紧密度设置成5个像素宽

con.gridx = 0;//x坐标在0位置
con.gridy = 0;//y坐标在0位置
add(new JLabel("帐号:"), con);//添加组件时注意第二个参数要放GridBagConstraints这个对象

con.gridx++;
account = new JTextField(15);
add(account, con);

con.gridx = 0;
con.gridy++;
add(new JLabel("密码:"), con);

con.gridx++;
password = new JTextField(15);
add(password, con);

con.gridx = 0;
con.gridy++;
con.gridwidth = 2;//在该坐标上占两个格子的位置
JPanel p = new JPanel(new FlowLayout(FlowLayout.CENTER, 30, 5));
login = new JButton("登录");
p.add(login);
exit = new JButton("退出");
p.add(exit);
add(p, con);

pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args) {
new LoginFrame();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
basic13
2010-06-26 · TA获得超过2759个赞
知道大有可为答主
回答量:1782
采纳率:0%
帮助的人:1536万
展开全部
如果需要设计界面可以下载一些可视化的插件进行设计的,写代码设计awt/swing的界面很麻烦的。
对齐你可以在密码中间加两个空格
setBounds(x,y,width,height)中的x,y是你屏幕的坐标系的xy,屏幕的坐标的原点是在最左上角,x轴正方向向下,y轴正方向向右
x=10,这个10的单位是像素点,与分辨率1024x768中数字的单位是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式