java的swing布局问题~~

jidushanbojue 2008-01-08 11:57:24
我想有Java做一个登录的小界面,可是组件就是不能对齐。我想让他们像QQ登录界面那样紧凑整齐,还请各位高手不吝赐教,谢谢!!!!下面是我的代码:
import java.awt.*;
import javax.swing.*;

public class LogonFrame extends JFrame{
public LogonFrame(){

//设置标题
setTitle("UNS用户登录");

//获得屏幕的相关尺寸
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;

//设置框架的尺寸,大小不可调
setSize(4*screenWidth / 9, screenHeight / 3);
setResizable(false);

// 设置图标
Image img = tk.getImage("LogOn.JPEG");
setIconImage(img);

Container c = getContentPane();//得到内容窗格

JPanel cpane = new JPanel();//生成面板对象

//创建界面元素
JLabel l1 = new JLabel("用户名");
JLabel l2 = new JLabel("密码");
JLabel l3 = new JLabel("记住我的密码");
JCheckBox cb = new JCheckBox();
JButton btn1 = new JButton("登录");
JButton btn2 = new JButton("退出");
JTextField tf = new JTextField(20);//用户名输入文本框
JPasswordField pw = new JPasswordField(20);//密码输入框

//将界面元素添加到面板中
cpane.add(l1);
cpane.add(tf);
cpane.add(l2);
cpane.add(pw);
cpane.add(cb);
cpane.add(l3);
cpane.add(btn1);
cpane.add(btn2);

//将面板添加到容器中
cpane. setLayout(new GridLayout(4,1));
c.add(cpane);
}
}
我的主函数:
import javax.swing.*;
public class Logon {
public static void main(String args[]){
LogonFrame frame = new LogonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
顺便问一句,为什么我的设置图标的方法不好用呢?
...全文
625 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
忠向 2008-02-26
  • 打赏
  • 举报
回复
用netbeans 画好界面以后,再到eclipse中去做
chen_2001 2008-01-08
  • 打赏
  • 举报
回复
试一下
//将面板添加到容器中
cpane. setLayout(new GridLayout(4,1));
改为
//将面板添加到容器中
cpane. setLayout(new GridLayout(4,2));
设置图标用可以加再JLabel上
hahe7788 2008-01-08
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
顺便接分
huadis 2008-01-08
  • 打赏
  • 举报
回复
用不同布局的面板嵌套就能实现你这个功能。
jidushanbojue 2008-01-08
  • 打赏
  • 举报
回复
cpane.setLayout(new GridLayout(4,1));和cpane.setLayout(new GridLayout(4,2));的效果是一样的。
我不是想要把整个Frame布满,只是想让他们紧凑些,就在中间对齐,还有没有更好的办法同志们?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧