java布局的问题,急~~!!

来源:百度知道 编辑:UC知道 时间:2024/07/16 05:38:05
我在设计一个T9的模拟器,我想把JTextArea作为显示器,放在容器的上方,不要占满,并且有明显的边界,可我即使设置了大小和位置还是会占满整个容器,至于键盘,我希望也不要占满,布局默认是BoderLayout,能不能吧整个默认设置改掉,用什么样的方法布局比较好??请高手帮忙

除非窗口大小是固定的,null布局并不好,一旦更改窗口大小部件位置和大小就都需要重新计算。

JFrame f = new JFrame();
JPanel pa = new JPanel(new BorderLayout());
f.setContentPane(pa);

JTextArea t = new JTextArea();
t.setPreferredSize(new Dimension(Integer.MAX_VALUE, 100)); //后面这个数定义JTextArea有多高
pa.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); //这4个数分别定义上,左,下,右所留的空间
pa.add(t, BorderLayout.NORTH); //加到上面,BorderLayout.SOUTH是下面
f.setVisible(true);

使用NULL布局 精确定位组件的位置

我这么经典的例子 百年难遇噢 o(∩_∩)o ...

运行一下 无任何错误...可以随便摆组件的位置

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

public class Test extends JFrame implements MouseListener,MouseMotionListener
{
private javax.swing.JLabel label1=null ;
private javax.swing.JLabel label2=null ;

private int x=0;
private int y=0;