java里怎样在JFrame中把两个JPanel内容完全显示

 我来答
雪飞潇潇
2017-10-22 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:838万
展开全部

解决办法很多 , 但是你没有提供具体的问题, 所以大致罗列一下解决方案  

  1. 扩大JFrame的大小.

  2. 或者减少JPanel的内容

  3. 使用JScrollPane组件,把JTextArea, JTabel等添加上滚动条,多余数据可以拉滚动条查看

  4. 可以考虑是JTabbedPane(选项卡)组件, 把两个JPanel变成两个选项卡的内容 

  5. 也可以使用卡片布局

    ....

    简单的示范, 比如JTabel (表格)和JTextArea(文本框)内容太多, 直接显示不完全. 那么可以使用JScrollPane滚动面板来实现

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;


public class FrameDemo extends JFrame {
JTable jtb;
JTextArea jta;
public static final String NEW_LIEN= System.getProperty("line.separator");//得到系统的换行符
 FrameDemo() {
String[] title = {"name","interest"};
String[][] data= {
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"}
};
jtb = new JTable(data,title);

JScrollPane jsp = new JScrollPane(jtb);



jta = new JTextArea(5,5);
for (int i = 0; i <100; i++) {
jta.append(i+"床前明月光"+NEW_LIEN);
}
jta.setLineWrap(true);//自动切换到下一行
JScrollPane jsp2 = new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//参数1,表示组件文本域
//参数2,垂直滚动条一直显示
//参数3,水平滚动条从不显示

JPanel jpc = new JPanel(new GridLayout(1, 2));
jpc.add(jsp);
jpc.add(jsp2);
add(jpc);


JPanel jp = new JPanel();
JButton jb = new JButton("确定");
jp.add(jb);

add(jp,BorderLayout.SOUTH);
// 窗口属性的设置
setTitle("表格窗口");// 标题
setSize(242,170);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {
new FrameDemo().setVisible(true);// 创建窗口实例, 并让窗口可见
}
}
匿名用户
2017-10-22
展开全部
使用 绝对位置、大小,,,,,,,,,,或使用布局定位

~~~~~~
~~~~~~~~~~
~~~~
~~~~~
~~~~~~~~~~~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式