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);
}
} 展开
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);
}
} 展开
2个回答
展开全部
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就不会了.最后的一句不要删.否则为默认的布局将会把窗口填充满的.
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就不会了.最后的一句不要删.否则为默认的布局将会把窗口填充满的.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询