关于JScrollPane在JPanel中的布局改怎么做

这个冬天有点冷灬 2013-09-11 06:00:28
我在JScrollPane中添加了一个JTextArea 可是控制不了他在Panel中出现的位置和大小,setLocation和布局管理器的方法都不行,这个该怎么做到呢??
...全文
545 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ceclinux 2013-09-12
  • 打赏
  • 举报
回复
想改变位置要改布局了
失落夏天 2013-09-12
  • 打赏
  • 举报
回复
你这应该没有设置布局管理器,所以Jframe默认使用默认布局管理器。 你在 jSP.setLayout(null); 设置布局管理器为空, 直接设置控件的位置和大小 JTextArea.setBounds(x, y, width, height);
  • 打赏
  • 举报
回复
引用 6 楼 Cecil_911 的回复:
想改变位置要改布局了
恩,大概应该是一个怎么样的改法呢??
  • 打赏
  • 举报
回复
引用 10 楼 AA5279AA 的回复:
[quote=引用 9 楼 kang2618 的回复:] [quote=引用 8 楼 AA5279AA 的回复:] 你这应该没有设置布局管理器,所以Jframe默认使用默认布局管理器。 你在 jSP.setLayout(null); 设置布局管理器为空, 直接设置控件的位置和大小 JTextArea.setBounds(x, y, width, height);
jSP.setLayout(null);设置为空以后,文本框就出不来了。。[/quote] 怎么可能,我这边显示很正常啊,JSP和taContent 的位置和大小随便放,

class MyPanel extends JPanel{
//    JTextArea taText = new JTextArea(8,2);


    JTextArea taContent = new JTextArea(12,59);
    
    JScrollPane  jSP = new JScrollPane(taContent);
    
    
    Font f = new Font("宋体", Font.BOLD, 20);
     
    public MyPanel(){
    	setLayout(null);
    	
        jSP.setBounds(5, 5, 600, 300);
        jSP.setOpaque(false);
        jSP.getViewport().setOpaque(false);
        jSP.setLocation(7, 7);
        this.add(jSP);
        //taContent.setLocation(100, 200);
        taContent.setLineWrap(true);
        taContent.setOpaque(false);
        taContent.setBackground(Color.blue);
        taContent.setFont(f);
        taContent.setSize(200,200);
        jSP.setLayout(null);
        taContent.setBounds(300,200, 100, 100);
        jSP.add(taContent);
        
    }
}
[/quote]恩 谢谢 大致上ok了 ,谢谢,还有点小问题没解决,回来我再看看。。
失落夏天 2013-09-12
  • 打赏
  • 举报
回复
引用 9 楼 kang2618 的回复:
[quote=引用 8 楼 AA5279AA 的回复:] 你这应该没有设置布局管理器,所以Jframe默认使用默认布局管理器。 你在 jSP.setLayout(null); 设置布局管理器为空, 直接设置控件的位置和大小 JTextArea.setBounds(x, y, width, height);
jSP.setLayout(null);设置为空以后,文本框就出不来了。。[/quote] 怎么可能,我这边显示很正常啊,JSP和taContent 的位置和大小随便放,

class MyPanel extends JPanel{
//    JTextArea taText = new JTextArea(8,2);


    JTextArea taContent = new JTextArea(12,59);
    
    JScrollPane  jSP = new JScrollPane(taContent);
    
    
    Font f = new Font("宋体", Font.BOLD, 20);
     
    public MyPanel(){
    	setLayout(null);
    	
        jSP.setBounds(5, 5, 600, 300);
        jSP.setOpaque(false);
        jSP.getViewport().setOpaque(false);
        jSP.setLocation(7, 7);
        this.add(jSP);
        //taContent.setLocation(100, 200);
        taContent.setLineWrap(true);
        taContent.setOpaque(false);
        taContent.setBackground(Color.blue);
        taContent.setFont(f);
        taContent.setSize(200,200);
        jSP.setLayout(null);
        taContent.setBounds(300,200, 100, 100);
        jSP.add(taContent);
        
    }
}
  • 打赏
  • 举报
回复
引用 8 楼 AA5279AA 的回复:
你这应该没有设置布局管理器,所以Jframe默认使用默认布局管理器。 你在 jSP.setLayout(null); 设置布局管理器为空, 直接设置控件的位置和大小 JTextArea.setBounds(x, y, width, height);
jSP.setLayout(null);设置为空以后,文本框就出不来了。。
ceclinux 2013-09-11
  • 打赏
  • 举报
回复
jSP.setPreferredSize(new Dimension(800,450));
  • 打赏
  • 举报
回复
引用 2 楼 a1006570862 的回复:
setPreferredSize(Dimension preferredSize)设置此组件的首选大小
刚才试了下,确实可以改变大小,但是不能改变位置啊。
  • 打赏
  • 举报
回复
引用 1 楼 Cecil_911 的回复:
贴上代码先。。
这是JPanel部分的

public class MyPanel extends JPanel{
	JTextArea taText = new JTextArea(8,2);
	JTextArea taContent = new JTextArea(12,59);
	JScrollPane  jSP = new JScrollPane(taContent);
	Font f = new Font("宋体", Font.BOLD, 20);
	
	public MyPanel(){
		jSP.setSize(600, 600);
		jSP.setOpaque(false);
		jSP.getViewport().setOpaque(false);
		jSP.setLocation(7, 7);
		this.add(jSP);
		//taContent.setLocation(100, 200);
		taContent.setLineWrap(true);
		taContent.setOpaque(false);
		taContent.setBackground(Color.blue);
		taContent.setFont(f);
		taContent.setSize(200,200);
	}
这是JFrame部分的

public class MyFrame extends JFrame{
	
	JButton jbEnter = new JButton("发送"); 
	
	public MyFrame(String name){
		super(name);
	//	this.setContentPane(new MyPanel());
		this.add(new MyPanel());
		this.setSize(800,450);
		this.setResizable(false);
		
		this.setDefaultCloseOperation(3);
		this.setVisible(true);
	}
}
地下室森林 2013-09-11
  • 打赏
  • 举报
回复
setPreferredSize(Dimension preferredSize)设置此组件的首选大小
ceclinux 2013-09-11
  • 打赏
  • 举报
回复
贴上代码先。。

62,634

社区成员

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

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