JTextField组件加入JPanel面板后无法设置大小

159011 2014-04-19 10:27:54
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
class TxtSize
{
public static void main(String[] args)
{
JFrame jframe = new JFrame("捕获IP");
jframe.setBounds(500,300,350,200);
jframe.setLayout(null);
jframe.setDefaultCloseOperation(jframe.EXIT_ON_CLOSE);

JPanel jp = new JPanel();
jp.setBounds(200,100,100,100);
jp.setBorder(new LineBorder(Color.black));
JTextField txt = new JTextField();
txt.setBounds(210,110,50,50); //这语句无效
jp.add(txt);
jframe.add(jp);
jframe.setVisible(true);
}
}
JTextField组件加入JPanel面板后无法设置大小
请问是为什么?
...全文
359 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-江沐风- 2014-04-20
  • 打赏
  • 举报
回复
JPanel默认的布局管理器是FlowLayout,FlowLayout布局管理器默认的对齐方式是居中; JFrame默认的布局管理器是BorderLayout,如不指定组件的加入部位,则默认加入到CENTER区域;
-江沐风- 2014-04-20
  • 打赏
  • 举报
回复
public static void main(String[] args)
	{
		JFrame jframe = new JFrame("捕获IP");
		jframe.setBounds(500, 300, 350, 200);
		jframe.setLayout(null);
		jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JPanel jp = new JPanel();
		jp.setBounds(200, 100, 100, 100);
		jp.setLayout(null);            //这句加上;
		jp.setBorder(new LineBorder(Color.black));
		JTextField txt = new JTextField();
		txt.setBounds(210, 110, 50, 50); 
		jp.add(txt);
		jframe.add(jp);
		jframe.setVisible(true);
		jframe.setContentPane(jp);      //这句加上
	}
小张hold 2014-04-20
  • 打赏
  • 举报
回复
引用 1 楼 q_305305 的回复:
setContentPane(Contentpanel); 加上这句就可以了
括号中填你自己的 也就是setContentPane(jp);
小张hold 2014-04-20
  • 打赏
  • 举报
回复
setContentPane(Contentpanel); 加上这句就可以了
-江沐风- 2014-04-20
  • 打赏
  • 举报
回复
引用 6 楼 u014725552 的回复:
[quote=引用 4 楼 u012724379 的回复:] JPanel默认的布局管理器是FlowLayout,FlowLayout布局管理器默认的对齐方式是居中; JFrame默认的布局管理器是BorderLayout,如不指定组件的加入部位,则默认加入到CENTER区域;
JTextField组件加入JPanel面板后无法设置大小 请问是为什么?[/quote] 可以啊,看一下3楼的;
159011 2014-04-20
  • 打赏
  • 举报
回复
引用 4 楼 u012724379 的回复:
JPanel默认的布局管理器是FlowLayout,FlowLayout布局管理器默认的对齐方式是居中; JFrame默认的布局管理器是BorderLayout,如不指定组件的加入部位,则默认加入到CENTER区域;
JTextField组件加入JPanel面板后无法设置大小 请问是为什么?
159011 2014-04-20
  • 打赏
  • 举报
回复
引用 1 楼 q_305305 的回复:
setContentPane(Contentpanel); 加上这句就可以了
JTextField组件加入JPanel面板后无法设置大小 请问是为什么?
Java调用Zip类批量压缩多个文件,此前有一个是压缩单个文件,也可参考,相关代码中可找到此源码。   public class ZipDemo extends JFrame{   JFileChooser fileChooser; //文件选择器   JList fileList; //待压缩的文件列表   Vector files; //文件数据(待压缩文件)   JButton jbAdd; //增加文件按钮   JButton jbDelete; //删除文件按钮   JButton jbZip; //压缩按钮   JTextField target; //目标文件文本域   public ZipDemo(){   super("用ZIP压缩多个文件"); //调用父类构造函数   fileChooser=new JFileChooser(); //实例化文件选择器   files=new Vector(); //实例化文件数据Vector   fileList=new JList(files); //实例化已选择文件列表   jbAdd=new JButton("增加"); //实例化按钮组件   jbDelete=new JButton("删除");   jbZip=new JButton("压缩");   target=new JTextField(18);   JPanel panel=new JPanel(); //实例化面板,用于容纳按钮   panel.add(jbAdd); //增加组件面板上   panel.add(jbDelete);   panel.add(jbZip);   JPanel panel2=new JPanel();   panel2.add(new JLabel("目标文件"));   panel2.add(target);   JScrollPane jsp=new JScrollPane(fileList);   Container container=getContentPane(); //得到容器   container.add(panel2,BorderLayout.NORTH); //增加组件到容器   container.add(jsp,BorderLayout.CENTER);   container.add(panel,BorderLayout.SOUTH);   jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //设置边界

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧