关于JScrollPane在JPanel中的布局改怎么做 我在JScrollPane中添加了一个JTextArea 可是控制不了他在Panel中出现的位置和大小,setLocation和布局管理器的方法都不行,这个该怎么做到呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 setPreferredSize(Dimension preferredSize)设置此组件的首选大小 这是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); }} jSP.setPreferredSize(new Dimension(800,450)); 你这应该没有设置布局管理器,所以Jframe默认使用默认布局管理器。你在 jSP.setLayout(null);设置布局管理器为空,直接设置控件的位置和大小 JTextArea.setBounds(x, y, width, height); jSP.setLayout(null);设置为空以后,文本框就出不来了。。 jSP.setLayout(null);设置为空以后,文本框就出不来了。。怎么可能,我这边显示很正常啊,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); }} jSP.setLayout(null);设置为空以后,文本框就出不来了。。怎么可能,我这边显示很正常啊,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); }}恩 谢谢 大致上ok了 ,谢谢,还有点小问题没解决,回来我再看看。。 java里 打印的时候如何直接设置好页边距。 fileoutputStream.write() 是不是每次输出后都将原来文件的内容冲掉? 这样获取当前页的待打印文本内容,还应增加什么? JAVA急急急 java 基础理解问题 下面这段程序在性能上有什么问题? 书上有几个文件管理的小问题没有提到,我不太明白,哪位大哥给看看,最好写上解释,谢谢啦 关于Rethrowing异常 她为何总是不能显示?-----回答的都给分 JBuilder初学者提问(关于String与double) 字符串替换 排序问题
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);
}
}
你在
jSP.setLayout(null);
设置布局管理器为空,
直接设置控件的位置和大小
JTextArea.setBounds(x, y, width, height);
怎么可能,我这边显示很正常啊,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);
}
}
怎么可能,我这边显示很正常啊,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);
}
}恩 谢谢 大致上ok了 ,谢谢,还有点小问题没解决,回来我再看看。。