展开全部
解决办法很多 , 但是你没有提供具体的问题, 所以大致罗e5a48de588b63231313335323631343130323136353331333363393065列一下解决方案扩大JFrame的大小.
或者减少JPanel的内容
使用JScrollPane组件,把JTextArea, JTabel等添加上滚动条,多余数据可以拉滚动条查看
可以考虑是JTabbedPane(选项卡)组件, 把两个JPanel变成两个选项卡的内容
也可以使用卡片布局
....
简单的示范, 比如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);// 创建窗口实例, 并让窗口可见
}
}