java jinternalpanel_java swing中JPanel的布局问题
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的布局问题相关推荐
- JAVA学习Swing绝对局部简单学习
package com.swing;import java.awt.Container;import javax.swing.JButton; import javax.swing.JFrame; i ...
- 我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?
本文翻译自:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? Several ti ...
- JFrame中使用jpanel来布局
2019独角兽企业重金招聘Python工程师标准>>> 通俗的讲jframe相当与桌子,而jpanel相当桌布,jbutton,jlabel等相当于杯子,碗筷等,杯子,碗筷虽然可以直 ...
- Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane),TextArea右键菜单 组件使用案例
文章目录 1.. Java弹出菜单,为JTextArea添加了右键弹出式菜单 2.:下拉式菜单的创建步骤: 3:弹出式菜单的创建步骤: 4:选项卡窗体: 菜单是GUI中最常用的组件,菜单不是Compo ...
- java怎么设置卡片布局_在Java中使用卡片布局管理器的方法
在Java中使用卡片布局管理器的方法 发布时间:2020-12-03 16:05:18 来源:亿速云 阅读:85 作者:Leah 在Java中使用卡片布局管理器的方法?针对这个问题,这篇文章详细介绍了 ...
- java集合刷新面板_java Swing 中 面板刷新的问题。。求指教 。 高手在哪里啊。。。...
javaswing中repaint()刷新面板的问题 求指教...代码如下:运行后点击按钮1,面板没刷新,需要缩放面板才能看到新的面板.我用计时器或则线程来调用repaint(),好像都没... ja ...
- java GUI怎么输入_在Swing中创建Java GUI以进行表单输入
好吧,我已经浏览了整个互联网,但却未能找到这个问题的答案,所以也许有人可以提供一些见解. 我正在开发一个相对简单的Java应用程序,它将取代目前用于系统访问请求的Word文档.它旨在允许表单输入新的员 ...
- java swing 控件拖动_java swing中实现拖拽功能示例
java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...
- Java Swing中的聊天气泡
本文将向您解释"如何在Java swing应用程序中绘制聊天气泡?" 聊天气泡与呼出气泡或思想气泡相同. 今天,大多数聊天应用程序都以这种格式显示转换,因此本文将帮助您在用Java ...
最新文章
- tp5.0 queue 队列操作
- Asp.Net 数据分页
- 利用JSP编写程序初步
- 如何在没有 System.Drawing.Common 的情况下使用 C# 获取图片格式
- 操作系统上机题目(多线程1)
- IDEA mybatis-generator-maven-plugin 插件的使用
- 正则表达式 Mather类的使用
- 不规则对话框的又一实现
- Qt文档阅读笔记-关于Q_DECLARE_METATYPE原理以及使用
- 【Java数据结构与算法】第十二章 哈夫曼树和哈夫曼编码
- java系列:命令行启动mysql
- [LeetCode]50.Pow(x, n)
- 关于 Java 数组的 12 个最佳方法
- 三菱fx3uplc恢复出厂设置_三菱plc fx3u解密方法与步骤
- 深入理解 CSS(Cascading Style Sheets)中的层叠(Cascading)
- 10个优秀的Golang开源库类,武装生产力
- 北航数理统计大作业_数学146分上岸复旦大学大数据学院统计学,备考经验分享!...
- 1,判断一个数是不是质数。 2,选取出100以上、1000以内所有个位数字与十位数字之和被10除所得余数恰好是百位数字的素数(如293).输出上述这些素数的个数及这些素数的和.
- vue进阶实战 vue进阶课程 vue进阶
- CAD中遇到几个奇怪问题的解决