| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1237 人关注过本帖
标题:[求助]关于layout的布局问题--挺着急的
取消只看楼主 加入收藏
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
 问题点数:0 回复次数:7 
[求助]关于layout的布局问题--挺着急的

请帮忙看下,我想在以下代码的格式设成

用户名:
密码:
提示
按钮

这样固定的四行

请哪位高手帮我实现一下,谢谢

我已自己试过N多遍了,还是不太会,还有如果设置一个空的JTextField长一点的格?谢谢!!

等待中...


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class login extends JFrame
{
JTextField jtf;//用户名
JPasswordField jpwf;//密码
JLabel lblTishi;//提示
login()
{
JFrame jf = new JFrame("MY.登陆");
jf.setSize(250,140);
JPanel jp = new JPanel();
jf.setContentPane(jp);
JLabel jl = new JLabel("用户名");
JLabel jl2 = new JLabel("密 码");
jtf = new JTextField("请输入用户名");
jpwf = new JPasswordField("123456");
lblTishi = new JLabel();
JButton jbOK = new JButton("OK");
JButton jbCancel = new JButton("Cancel");


jbOK.addActionListener(
new ActionListener()//事件方法的模式
{
public void actionPerformed(ActionEvent ae) //事件方法
{

if(jtf.getText().equals("123")) //正确密码123
{
lblTishi.setText("验证成功!");
}
else
{
lblTishi.setText("用户名或密码不正确请从新输入!");
}

}
}
);
// jp.setLayout(new BorderLayout(3,4));
jp.add(jl) ;
jp.add(jtf) ;

jp.add(jl2) ;
jp.add(jpwf) ;

jp.add(lblTishi);

jp.add(jbOK);
jp.add(jbCancel);

jf.setVisible(true);

}
public static void main(String[] args)
{
login log = new login();
}
}

搜索更多相关主题的帖子: layout 
2006-08-16 15:11
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 

首先谢谢楼上的意见

我改成
jp.setLayout( new GridLayout( 4, 1 ));
可以实现成以下样子,但还不是我想要的..

.
我也试过要去具体改位置,可我还是不太知道怎么改..

谁能帮我废废心,改成我想要的样子,多谢了

图片附件: 游客没有浏览图片的权限,请 登录注册


我在说's blog   http://www..cn
2006-08-16 22:38
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 




首先先表示感lyd8935百忙之中抽出时间来帮我解决这个问题

你做的相当不错,我就是想做成和你上机那个界面一样的效果,我仔细看了看你写的,又查了查我能看懂的API,还是有以下疑问,望能帮我继续解决下,谢谢!


/*下面这些话是在设控件的位置吗? 80和30分别代表什么? 还是下面150和30是什么意思? 这几个数是怎么判断出来的?*/

machine.setPreferredSize(new Dimension(80, 30));
boxMachine.setPreferredSize(new Dimension(150, 30));

card.setPreferredSize(new Dimension(80, 30));
testCard.setPreferredSize(new Dimension(150, 30));

passport.setPreferredSize(new Dimension(80, 30));
testPassport.setPreferredSize(new Dimension(150, 30));

start.setPreferredSize(new Dimension(80, 30));
testStart.setPreferredSize(new Dimension(150, 30));

submit.setPreferredSize(new Dimension(80, 30));
reset.setPreferredSize(new Dimension(80, 30));

/*这两句是什么意思?*/

panelChild.setBounds( new Rectangle( 50, 50, 300, 300 ));//50,50,300,300这个值是怎么算出来的?我不会摆位置
panelChild.setLayout( new FlowLayout( FlowLayout.CENTER, 5, 10 ));//还有这句5,10代表的是什么?怎么算出来的?


我在说's blog   http://www..cn
2006-08-17 09:13
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
补充一下,你是怎么设的机器号码和卡号怎么就不在同一行中了呢?
谢谢,期待ing .....

我在说's blog   http://www..cn
2006-08-17 09:16
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 

也就是说一共面板才300宽,80+150之后就不可能再加80在同一行中了,所以要换另一行是吗?

machine.setPreferredSize(new Dimension(80, 30));
boxMachine.setPreferredSize(new Dimension(150, 30 ))


机器号码上面会空一行,是因为你里面panelChild面板的位置设在中间了?

那你怎么算是X,Y坐标?我不太会算..


我在说's blog   http://www..cn
2006-08-17 10:04
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
注释都没有,更晕.

我在说's blog   http://www..cn
2006-08-17 10:25
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
以下是引用limaoyuan在2006-8-17 10:04:09的发言:

也就是说一共面板才300宽,80+150之后就不可能再加80在同一行中了,所以要换另一行是吗?

machine.setPreferredSize(new Dimension(80, 30));
boxMachine.setPreferredSize(new Dimension(150, 30 ))


机器号码上面会空一行,是因为你里面panelChild面板的位置设在中间了?

那你怎么算是X,Y坐标?我不太会算..

来个简单明了的回答吧..我现在最大的问题就是不太会算XY轴来定位,有什么技巧吗,


我在说's blog   http://www..cn
2006-08-17 10:27
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
THANKS lyd8935 and jlu_cg .


我会弄了一点了..谢谢

我在说's blog   http://www..cn
2006-08-17 11:43
快速回复:[求助]关于layout的布局问题--挺着急的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044450 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved