java swing中JPanel的布局问题

关注:92  答案:3  信息版本:手机版 电脑版

解决时间 2021-01-17 16:07

提问者侢遇噹姩揂

2021-01-17 09:36

我在frame中分别布局了五个面板,让其显示在borderlayout管理器东西南北中的不同位置,问题是:west的面板中加入label、button能实现出来。但是加入JDesktopPane>InternalFrame进去就不能显示,其他部位显示正常,求高手指教一二

//放入这段代码能显示面板

JPanel Panel_1=new JPanel(new BorderLayout());//2013.4.12

add(BorderLayout.WEST,Panel_1);

JButton btn_1 = new JButton();

Panel_1.add(BorderLayout.NORTH,btn_1);

//放入这段代码不能显示

最佳答案

二级知识专家清欢话寂寥

2021-01-17 11:01

贴码吧,不然怎么分析

desktopPane_1.setBounds(0, 0, 1, 1);你这尺寸在1个像素,肉眼看不到啊。

//

还是你设置的bounds问题,之所以放center能显示,是因为center里面会自适应大小

全部回答

1楼孤者何懼

2021-01-17 13:59

1.布局首先要理清思路,那一个组件放在哪个组件里面,就如你的代码他们分别是 jframe f中放置了jpanel center,而jpanel center中又放置了5个testpanel[] t = new testpanel[5];

也就是说,你的5个test_shu对象的位置由center容器的布局方式决定即你的代码22行处 private jpanel center = new jpanel(new flowlayout());

这个布局方式决定,所以,而flowlayout的布局方式的默认值是:

流式布局管理器把容器看成一个行集,好象平时在一张纸上写字一样,一行写满就换下一行。行高是用一行中的控件高度决定的。flowlayout是所有 japplet/japplet的默认布局。在生成流式布局时能够指定显示的对齐方式,默认情况下是居中(flowlayout.center)

flowlayout() //生成一个默认的流式布局,组件在容器里居中,每个组件之间留下5个像素的距离.

flowlayout(int alinment) //可以设定每行组件的对齐方式.

flowlayout(int alignment,int horz,int vert) //设定对齐方式并设定组件水平和垂直的距离.

当容器的大小发生变化时,用flowlayout管理的组件会发生变化,其变化规律是:组件的大小不变,但是相对位置会发生变化.

所以要达到你的效果,只需要将

22行处的代码改成如下设置就可以了:

private jpanel center = new jpanel(new flowlayout(flowlayout.center, 0, 0));

2楼看厌了山川

2021-01-17 12:21

贴出你的代码,帮你找找。

-------------------------------------------------------

你给出的代码,有几个PANEL不知道是怎么来的,我稍改动了一下,你看看,

现在是显示出来了。

import java.awt.BorderLayout;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JScrollPane;

public class App extends JFrame {

public App() {

// 加入这这段注释代码不能显示

JDesktopPane desktopPane_1 = new JDesktopPane();

desktopPane_1.setBounds(0, 0, 1, 1);

add(BorderLayout.CENTER, desktopPane_1);

JInternalFrame internalFrame_1 = new JInternalFrame(

"New JInternalFrame");

internalFrame_1.setSize(400, 300);

desktopPane_1.add(internalFrame_1);

JScrollPane scrollPane_1 = new JScrollPane();

internalFrame_1.getContentPane().add(scrollPane_1, BorderLayout.CENTER);

internalFrame_1.setVisible(true);

JButton btn_1 = new JButton("OK");

add(BorderLayout.NORTH, btn_1);

setSize(600, 400);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

new App();

}

}

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

java jinternalpanel_java swing中JPanel的布局问题相关推荐

  1. JAVA学习Swing绝对局部简单学习

    package com.swing;import java.awt.Container;import javax.swing.JButton; import javax.swing.JFrame; i ...

  2. 我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?

    本文翻译自:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? Several ti ...

  3. JFrame中使用jpanel来布局

    2019独角兽企业重金招聘Python工程师标准>>> 通俗的讲jframe相当与桌子,而jpanel相当桌布,jbutton,jlabel等相当于杯子,碗筷等,杯子,碗筷虽然可以直 ...

  4. Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane),TextArea右键菜单 组件使用案例

    文章目录 1.. Java弹出菜单,为JTextArea添加了右键弹出式菜单 2.:下拉式菜单的创建步骤: 3:弹出式菜单的创建步骤: 4:选项卡窗体: 菜单是GUI中最常用的组件,菜单不是Compo ...

  5. java怎么设置卡片布局_在Java中使用卡片布局管理器的方法

    在Java中使用卡片布局管理器的方法 发布时间:2020-12-03 16:05:18 来源:亿速云 阅读:85 作者:Leah 在Java中使用卡片布局管理器的方法?针对这个问题,这篇文章详细介绍了 ...

  6. java集合刷新面板_java Swing 中 面板刷新的问题。。求指教 。 高手在哪里啊。。。...

    javaswing中repaint()刷新面板的问题 求指教...代码如下:运行后点击按钮1,面板没刷新,需要缩放面板才能看到新的面板.我用计时器或则线程来调用repaint(),好像都没... ja ...

  7. java GUI怎么输入_在Swing中创建Java GUI以进行表单输入

    好吧,我已经浏览了整个互联网,但却未能找到这个问题的答案,所以也许有人可以提供一些见解. 我正在开发一个相对简单的Java应用程序,它将取代目前用于系统访问请求的Word文档.它旨在允许表单输入新的员 ...

  8. java swing 控件拖动_java swing中实现拖拽功能示例

    java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...

  9. Java Swing中的聊天气泡

    本文将向您解释"如何在Java swing应用程序中绘制聊天气泡?" 聊天气泡与呼出气泡或思想气泡相同. 今天,大多数聊天应用程序都以这种格式显示转换,因此本文将帮助您在用Java ...

最新文章

  1. tp5.0 queue 队列操作
  2. Asp.Net 数据分页
  3. 利用JSP编写程序初步
  4. 如何在没有 System.Drawing.Common 的情况下使用 C# 获取图片格式
  5. 操作系统上机题目(多线程1)
  6. IDEA mybatis-generator-maven-plugin 插件的使用
  7. 正则表达式 Mather类的使用
  8. 不规则对话框的又一实现
  9. Qt文档阅读笔记-关于Q_DECLARE_METATYPE原理以及使用
  10. 【Java数据结构与算法】第十二章 哈夫曼树和哈夫曼编码
  11. java系列:命令行启动mysql
  12. [LeetCode]50.Pow(x, n)
  13. 关于 Java 数组的 12 个最佳方法
  14. 三菱fx3uplc恢复出厂设置_三菱plc fx3u解密方法与步骤
  15. 深入理解 CSS(Cascading Style Sheets)中的层叠(Cascading)
  16. 10个优秀的Golang开源库类,武装生产力
  17. 北航数理统计大作业_数学146分上岸复旦大学大数据学院统计学,备考经验分享!...
  18. 1,判断一个数是不是质数。 2,选取出100以上、1000以内所有个位数字与十位数字之和被10除所得余数恰好是百位数字的素数(如293).输出上述这些素数的个数及这些素数的和.
  19. vue进阶实战 vue进阶课程 vue进阶
  20. CAD中遇到几个奇怪问题的解决

热门文章

  1. begin.lydsy 入门OJ题库:1104:那些N位数
  2. 数据类型、变量、常量
  3. Android简单的TXT文件存储
  4. Papervision3D对象
  5. 一周学C#之第4天——语句
  6. 57 - 算法 -贪心算法 - 区间不相交问题
  7. 数据分析应用统计学之基本统计量【平均数、众数、中位数、四分位数】
  8. 蓝桥杯51单片机之利用中断同时控制流水灯、数码管、独立按键、蜂鸣器【单片机开发初学者有趣综合案例】
  9. angularjs html压缩,Angularjs 依赖压缩及自定义过滤器写法
  10. 使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声