java中TextArea类的setBounds方法为什么无法到达指定的位置?

importjavax.swing.*;importjava.awt.*;importjava.awt.event.MouseListener;importjava.aw... import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.Event.*;
/**
*
* @author zy
*/
class Main extends JFrame //implements MouseListener
{
static JTextField txt1 = new JTextField();
static JTextField txt2 = new JTextField();
static JButton but1 = new JButton("开始执行");
static JButton but2 = new JButton("开始执行");
static JLabel la1 = new JLabel("输入回收的块号");
static JLabel la2 = new JLabel("盘块分配演示");
static JLabel la3 = new JLabel("输入分配所需的块数");
static JLabel la4 = new JLabel("盘块回收演示");
static JLabel la5 = new JLabel("盘块未进行分配,回收前的使用情况");
static JLabel la6 = new JLabel("盘块执行操作后的情况");
static JTable ta1 = new JTable (8, 6);
static JTable ta2 = new JTable (16, 16);
static JLabel la8 = new JLabel("盘块执行操作后的情况");
static TextArea te1=new TextArea("Hello", 4, 4,TextArea.SCROLLBARS_NONE);
static JFrame frm=new JFrame("位示图演示程序");

public static void main(String arg[])
{
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setBounds(0, 0, 300, 600);
frm.setVisible(true);
frm.add(txt1);
frm.add(txt2);
frm.add(but1);
frm.add(but2);
frm.add(la1);
frm.add(la2);
frm.add(la3);
frm.add(la4);
frm.add(la5);
frm.add(la6);
frm.add(ta1);
frm.add(ta2);
frm.add(te1);
la2.setBounds(5, 5, 120, 20);
la3.setBounds(5, 20, 150, 20);
txt1.setBounds(5, 40, 40, 30);
but1.setBounds(50,40,100,30);
la4.setBounds(5,80,150,20);
la1.setBounds(5, 100, 150, 20);
txt2.setBounds(5, 125, 40, 30);
but2.setBounds(50, 125, 100, 30);
/*有疑问的一句话如果删除下面的一句话,那么其他的组件都能正常显示。否则TextArea的tel类将充满整个frame,其他的组件无法正常显示?为什么?有什么解决的办法?*/
te1.setBounds(10, 200, 50, 50);

}

}
展开
 我来答
百度网友67b617257
2008-06-05 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:81.3万
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.Event.*;
/**
*
* @author zy
*/
public class Main extends JFrame //implements MouseListener
{
static JTextField txt1 = new JTextField();
static JTextField txt2 = new JTextField();
static JButton but1 = new JButton("开始执行");
static JButton but2 = new JButton("开始执行");
static JLabel la1 = new JLabel("输入回收的块号");
static JLabel la2 = new JLabel("盘块分配演示");
static JLabel la3 = new JLabel("输入分配所需的块数");
static JLabel la4 = new JLabel("盘块回收演示");
static JLabel la5 = new JLabel("盘块未进行分配,回收前的使用情况");
static JLabel la6 = new JLabel("盘块执行操作后的情况");
static JTable ta1 = new JTable (8, 6);
static JTable ta2 = new JTable (16, 16);
static JLabel la8 = new JLabel("盘块执行操作后的情况");
static TextArea te1=new TextArea("Hello", 4, 4,TextArea.SCROLLBARS_NONE);
static JFrame frm=new JFrame("位示图演示程序");

public static void main(String arg[])
{
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setBounds(0, 0, 300, 600);
frm.setVisible(true);
frm.setLayout(null);
frm.add(txt1);
frm.add(txt2);
frm.add(but1);
frm.add(but2);
frm.add(la1);
frm.add(la2);
frm.add(la3);
frm.add(la4);
frm.add(la5);
frm.add(la6);
frm.add(ta1);
frm.add(ta2);
frm.add(te1);
la2.setBounds(5, 5, 120, 20);
la3.setBounds(5, 20, 150, 20);
txt1.setBounds(5, 40, 40, 30);
but1.setBounds(50,40,100,30);
la4.setBounds(5,80,150,20);
la1.setBounds(5, 100, 150, 20);
txt2.setBounds(5, 125, 40, 30);
but2.setBounds(50, 125, 100, 30);
/*有疑问的一句话如果删除下面的一句话,那么其他的组件都能正常显示。否则TextArea的tel类将充满整个frame,其他的组件无法正常显示?为什么?有什么解决的办法?*/
te1.setBounds(10, 200, 50, 50);

}

}

将frm的布局设置为null就不会了.最后的一句不要删.否则为默认的布局将会把窗口填充满的.
suminglan
2008-06-05 · TA获得超过200个赞
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
嗯~~还是用java的布局管理器吧~~不然这个关系搞得太痛苦了~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式