
首先 建议你这个登录界面 固定死 不让他随便改变大小
如果你想随着变化的话 我暂时知道的 只能监听你界面的大小 再自己定义组件的大小 再更新界面
布局管理器的话对你这样的要求满足不了的
JFrame frame=new JFrame("标题");
framesetSizi(30,30);//大小
framesetLocation(20,20);//位置
framesetVisible(true);//可见
framesetDefaultCloseOperation(frameEXIT_ON_CLOSE);//关闭
// 把面板的布局方式设置为null布局(此布局缺点,不能随着窗口变化而变化,是采用绝对定位)panelsetLayout(null);JLabel lbl = new JLabel("姓名:");JTextField nameField = new JTextField("张三");// 定位组件的位置与大小lblsetBounds(30, 100, 40, 25);nameFieldsetBounds(120, 100, 200, 25);
如果你想实现动态的按照要求的放大和缩小。那么你应该设置布局为framesetLayout(null)
定义变量 width,height。然后在窗口改变大小重绘组件的时候,动态设置组件大小
比如 JButtonsetBounds(0,0,width/10,height/10);
===================================================================
建议使用borderlayout 边界布局。非常好用。用边界布局套流布局,表布局就能做出很多界面了
简单的范例,你参考下
public class MyBorderLayout {public static void main(String[] args) {
Frame f = new Frame("P03窗口");
fsetLayout(new BorderLayout(30, 5));
fadd(new Button("东"), BorderLayoutEAST);
fadd(new Button("西"), BorderLayoutWEST);
fadd(new Button("中"));
fadd(new Button("南"), BorderLayoutSOUTH);
fadd(new Button("北"), BorderLayoutNORTH);
fpack();
fsetVisible(true);
}
}
如果你想实现动态的按照要求的放大和缩小。那么你应该设置布局为framesetLayout(null)
定义变量 width,height。然后在窗口改变大小重绘组件的时候,动态设置组件大小
比如 JButtonsetBounds(0,0,width/10,height/10);
你的java和放在一个目录,
我都是放在C盘根目录了,
给你稍微改了一下代码:
import javaawt;
import javaxswing;
public class TestGra extends JFrame {
Container c = getContentPane();
JLabel lb;
Image image;
public TestGra() {
// 就改这里了
ImageIcon img = new ImageIcon(SystemgetProperty("userdir") + "\\1jpeg");
lb = new JLabel(img);
add(lb, BorderLayoutCENTER);
setSize(800, 600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String as[]) {
new TestGra();
}
}
以上就是关于swing登陆见面怎么设置组件的大小随窗口的变化而变化全部的内容,包括:swing登陆见面怎么设置组件的大小随窗口的变化而变化、写一个java程序,实现创建Swing窗口,并改变窗口标题、窗口大小、窗口位置等。、Swing上的组件怎么调大小和位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)