JScrollPane添加的Panel里的组件显示不全

莫言情难忘 2018-10-14 12:23:06
public class BackpackJFame extends JFrame {

public BackpackJFame() {

JFrame backpackjfame = new JFrame("详情");
Panel backpackpanel = new Panel();

// 设置字体
Font font = new Font("楷体", 0, 20);
// 设置文本字体
UIManager.put("Label.font", font);
// 设置布局格式
backpackpanel.setLayout(null);

// 面板添加组件
JButton[] jLable_zhuangbei = new JButton[99];
for (int i = 0; i < 33; i++) {
for (int j = 0; j < 3; j++) {
jLable_zhuangbei[i * 3 + j] = new JButton();
jLable_zhuangbei[i * 3 + j].setText("空" + (i * 3 + j));
jLable_zhuangbei[i * 3 + j].setFont(font);
backpackpanel.add(jLable_zhuangbei[i * 3 + j]);
jLable_zhuangbei[i * 3 + j].setBounds(j * 100, i * 100, 100, 100);// i=纵 j=横
}
}
// JFame添加面板
backpackpanel.setSize(300, 3300);
JScrollPane jsp = new JScrollPane(backpackpanel);
backpackjfame.add(jsp);
backpackjfame.setSize(336, 350);


// 设置在最前显示
backpackjfame.setAlwaysOnTop(true);
// 关闭方式,在此java文件中,若它在,关闭人物详情界面则全关
// backpackjfame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗体居中
backpackjfame.setLocationRelativeTo(null);
// 大小不可变
//backpackjfame.setResizable(false);
// 显示界面
backpackjfame.setVisible(true);

}
}


这个怎么scrollpane下拉不刷新组件

不显示下面的,只有拉大一点或者缩小一点才出来


望给出详细步骤
...全文
521 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫言情难忘 2018-10-15
精选
  • 打赏
  • 举报
回复
找到错误了,原因在于:Java组件有两种java.awt包下的Frame Panel Button等,另一个是javax.swing包下的,是以J开头的,用混了
makeruike 2021-09-16
  • 打赏
  • 举报
回复

我也是这个问题导致的 [/哭笑] 在JScrollPane 下使用了Panel而非JPanel,导致Viewport的位置不变,找了半天原因。

莫言情难忘 2018-10-14
  • 打赏
  • 举报
回复
写代码写蒙圈了

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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