Java设置了布局格式的话,添加的上面的组件大小调不了吗? 应该怎么弄才对?

import java.awt.*;
import javax.swing.*;
public class Action_Windows_exam
{
public static void main(String args[])
{
Action_Windows AW=new Action_Windows();
}
}

class Action_Windows
{
JFrame JF1;
JTextField TF1,TF2,TF3;
JButton JB1;
JPanel JP1;
BorderLayout BL1;
FlowLayout FL1;
Action_Windows()
{
BL1=new BorderLayout();
FL1=new FlowLayout();
JF1=new JFrame();
TF1=new JTextField();
TF2=new JTextField();
TF3=new JTextField();
JB1=new JButton();
JP1=new JPanel();

TF1.setSize(120,20);
TF2.setSize(120,20);
JB1.setSize(100,100);

JP1.setLayout(FL1);
JP1.add(TF1);
JP1.add(TF2);

JF1.setSize(500,500);
JF1.setLayout(BL1);
JF1.add(JP1,BL1.NORTH);
JF1.add(TF3,BL1.CENTER);
JF1.add(JB1,BL1.SOUTH);

JF1.setVisible(true);
}
}

可以用setPreferedSize(new Dimension(width,height))方法来设置大小:)
温馨提示:内容为网友见解,仅供参考
无其他回答

java中如果适用了布局管理器,还能再设置按钮等组件的大小和位置了...
有布局管理器的情况下,设置组件位置大小是不起作用的。可以用如下代码设置布局管理器为空。把JFrame设置个BorderLayout,把JPanel放在North里,JPanel就会自动调整大小了。至于JPanel里的布局,不知你出于什么特殊理由,单纯需要重叠的话应该有合适的布局管理器。另外还有个思路,改变一下你的设计方法,可能...

JAVA组件无法改变大小
初学吗?JFrame中有个默认的布局管理器,布局管理器的作用就是布置你添加进来的组件的,简单一点,就是把你添加进来的组件安排放到容器中的哪个位置。默认的布局管理器是BorderLayout,这个布局的结果就是像你说这样了。看来你还不熟悉啊,多看看教程啊,教程里都有对布局管理器的介绍。

BorderLayout布局中能改变组件大小么!该怎么处理
比如你设置了BorderLayout 然后可以把一个JPanel放到BorderLayout.CENTER 然后设置这个JPanel的Layout为其他的 再在这个JPanel上添加component,这时候的JPanel会完全占据BorderLayout的CENTER位置 但是你添加的component会使用JPanel使用的Layout java的Layout非常灵活好用,搭配起来使用很方便的通常不建议使用绝对...

JAVA swing怎样让按钮和标签随着窗口的放大而放大,排版不变
建议使用borderlayout 边界布局。非常好用。用边界布局套流布局,表布局就能做出很多界面了 简单的范例,你参考下 public class MyBorderLayout { public static void main(String[] args) { Frame f = new Frame("P03窗口"); f.setLayout(new BorderLayout(30, 5)); f.add(new Button("东...

java中在如何设置JPanel等组件的大小?
setPreferredSize设置此组件的首选大小。\\x0d\\x0a在用java编程时,有时需要设置JPanel的大小,而JPanel的setSize()方法不管用。\\x0d\\x0a在使用布局管理器的时候,可以不适用setSize(),因为布局管理器会自动调用组件的setSize()方法设置组件的大小。即时用户调用setSize方法设置组件大小,最终可能被...

java中为什么在frame中加的控件只有调整一下窗口大小才能显示出来?
多半是因为你是在frame显示之后才把组件加上去,当改变窗口大小的时候窗口要重绘,这时组件才显示出来 把你加组件的代码放到frame.setVisible(true);后面就行了

java swing 中 GridBaglayout定义了行列,如何使用
指定布局中组件的内部填充,对组件最小大小进行填充。组件的宽度至少为其最小宽度加上ipadx像素。类似地,组件的高度至少为其最小高度加上ipady像素。如果对文本框进行布局,文本框默认大小为0,因此需要对其进行内部填充。JTextFiled提供了初始化时添加文本大小的构造函数,但是在使用这种布局时,它并不会...

JAVA中,如果按钮是放在JPanel内,且布局是GridLayout,按钮会自动填满JPan...
如果是BoxLayout的话,可以通过setMinimumSize(),setMaximumSize()和setPreferredSize()控制组件大小,这3个方法在GridLayout下不起作用,是专门针对BoxLayout而设计的(或者是无布局)。如果BoxLayout也无法满足的话,就只有选择更复杂的GridBagLayout了,或者干脆使用绝对定位。

java中的JTextField在GridLayout中怎么设置大小?
把文本框和密码框,在放入一个JPanel里,然后把这个JPanel放入到网格布局里即可 代码如下 \/\/核心代码第一部分, 设置文本框,密码框长度wbk = new JTextField(8);\/\/在这个窗口大小里,设置长度为8,比较合适mmk = new JPasswordField(8);\/\/密码框也设置长度为8\/\/核心代码第二部分, 把文本框,密码框等...

Java swing 如何设置JtextArea随Jframe的改变而改变大小???
加入布局管理 JtextArea area=new JTextAtrea();JPanel p=new JPanel();p.setLayout(new BorderLayout());p.add(area,BorderLayout.CENTER);JFrame f=new JFrame();f.getContentPane.add(p);设置你的工具组件(文本域),自动充满容器组件 这样,当你的容器组件大小改变时,内部的组件也会根据布局...

相似回答