社区
Java SE
帖子详情
怎样得到borderlayout布局中center区域组件的大小?
stamp80
2005-03-14 10:39:46
大家知道,borderlayout布局中的组件已经不是组件本身的大小了,显示的时候对他们已经进行了变形处理。现在我需要把center区域的一块加了滚动条的jpanel的大小取出来。大致布局是这样:一个jframe上面放了五个panel,分别处于东南西北中五个位置。中间的jpanel还加了滚动条。我搞了一晚上,也没有好点的办法。往哪位大师赐教啊!谢谢!
...全文
327
5
打赏
收藏
怎样得到borderlayout布局中center区域组件的大小?
大家知道,borderlayout布局中的组件已经不是组件本身的大小了,显示的时候对他们已经进行了变形处理。现在我需要把center区域的一块加了滚动条的jpanel的大小取出来。大致布局是这样:一个jframe上面放了五个panel,分别处于东南西北中五个位置。中间的jpanel还加了滚动条。我搞了一晚上,也没有好点的办法。往哪位大师赐教啊!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gtlang78
2005-04-11
打赏
举报
回复
你说的“中间的jpanel还加了滚动条”是不是指把JPanel放到了JScrollPane里面?
如果是这样的话,调用JScrollPane组件的getSize()方法就可以得到center区域的大小了。
ffee
2005-04-10
打赏
举报
回复
up
xsyl_1982
2005-03-23
打赏
举报
回复
我不知道怎么得到
但是这个JPanel 的大小是可以设定的
看看 getPreferredSize()方法
不知道对你有没有帮助
stamp80
2005-03-20
打赏
举报
回复
好像getSize没有什么作用我才问的。有人知道吗?
httruly
2005-03-15
打赏
举报
回复
布局管理器就是希望你不要考虑组件的大小,如果视图已经产生了可用jpanel的getSize,视图还没产生那就看Borderlayout的实现吧
java swing-
Border
Layout
的使用
Border
Layout
是 Java Swing 库提供的一种
布局
管理器,用于将容器划分为北、南、东、西和
中
五个
区域
,并在这些
区域
中
添加
组件
。 在
Border
Layout
中
,每个
区域
只能包含一个
组件
,当添加多个
组件
时,它们会自动填充各自的
区域
并根据
大小
进行调整。以下是
Border
Layout
的五个
区域
: 北(North):位于容器的顶部。 南(South):位于容器的底部。 东(East):位于容器的右侧。 西(West):位于容器的左侧。
中
(
Center
):占据容器的
中
心位置,通常用于显示主要内容。
多线程排号系统课程设计
一个很不错的计算机网络课程设计,package com.briup.gui; import java.awt.
Border
Layout
;//
Border
Layout
(边
布局
)
布局
管理器类 import java.awt.Flow
Layout
;//Flow
Layout
是流式
布局
import java.awt.Toolkit;// 工具包 Toolkit 的子类被用于将各种
组件
绑定到特定本机工具包实现。 import java.awt.event.ActionEvent;//动作事件 import java.awt.event.ActionListener;//事件监听接口 import javax.swing.*; import com.briup.net.WebServerNet; public class WebServerFrame extends JFrame implements ActionListener { // 按钮面板 private JPanel btnPan = new JPanel(new Flow
Layout
(Flow
Layout
.
CENTER
));//创建Flow
Layout
布局
面板,对齐方式为居
中
(Flow
Layout
.
CENTER
) private JLabel listenPortLb = new JLabel("Server listen port: ");//初始化控件(创建服务器监听的端口) private JTextField portTf = new JTextField("80", 5);//初始化控件,创建TextField(文本行类),默认端口号为,长度为 private JButton controlBtn = new JButton("Start");//初始化Button(按钮)(控制)控件 private JButton clearHintBtn = new JButton("Clear Hint");//初始化按钮(claer)控件 // 提示信息面板 private JTextArea hintTa = new JTextArea();//新建一个显示TextArea(纯文本)的多行
区域
private WebServerNet net;//创建Web服务器网页 public WebServerFrame() { initComponent();//调用初始化函数,Component(
组件
类) net = new WebServerNet(this);//实例化一个用户定义的类 } /** *变量的初始化以及此类的入口 */ private void initComponent() { buildBtnPan(); buildHintPan(); setSize(400, 300);//设置窗口的
大小
Toolkit tool = Toolkit.getDefaultToolkit();//
得到
默认的窗口模式 setLocation((tool.getScreenSize().width - this.getSize().width) / 2, (tool.getScreenSize().height - this.getSize().height) / 2); setTitle("Briup WebServer V1.0");//设置面板的标题 setDefaultCloseOperation(EXIT_ON_CLOSE);//设置用户关闭窗口时得操作 setResizable(false);//设置窗口是否可以改变
大小
,(false)表示不可以改变 setVisible(true);//设置可见,使窗口可见 } /** *新建一个面板 */
Java图形界面编程练习(适合Java初学者查看).zip
JFrame jsb = new JFrame("我的窗口"); jsb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jsb.setSize(500, 400); jsb.setTitle("实验"); jsb.setBackground(Color.red); //jsb.set
Layout
(new
Border
Layout
(10,10));默认
布局
管理器分为东南西北
中
间5个位置 //jsb.set
Layout
(new Flow
Layout
(Flow
Layout
.
CENTER
));//流式
布局
管理器 jsb.set
Layout
(new Grid
Layout
(2,1,10,10));//网格
布局
管理器 自己设定横竖的值
组件
按照指定数目排列 JButton e = new JButton("
中
间"); e.setBackground(Color.blue); JButton b = new JButton("北"); JButton a = new JButton("南");
Java计算器实验报告(1).doc
大连民族大学 计算机科学与工程学院 《Java语言》课程实验报告 实验题目: 计算器的设计与实现 课程名称: Java语言 实验类型: 演示性 验证性 操作性 设计性 综合性 专业:网络工程 班级:**** 学生姓名*** 学号:***** 实验日期:2018年 4月23日 地点:计算机学院综合试验
中
心(I-303) 实验学时:4 实验成绩: 指导教师签字: 2018年 5月21日 1. 问题需求描述:Problem description 利用Java Swing设计计算器图形化界面,并实现事件的监听,以及计算器基本的加、减、乘、除、 清空、输出运算结果的操作,学习使用各种图形化界面的控件,容器,
布局
等,学习对 按钮事件的处理等。以及对非法输入的处理。 2. 设计说明:Design notes 本计算器,界面方面总体采用
Border
Layout
布局
,显示输入输入的文本框和清除按钮 采用Flow
Layout
布局
,容器放在
Border
Layout
的North;0- 9和各种运算符号还有小数点采用Grid
Layout
布局
,容器放在
Border
Layou的
Center
;事 件监听和处理通过实现addActioListener监视器接口和ItemEvent事件接口,从而对每一 个按钮实现事件的监听和处理;计算方面,调用ScriptEngineManager和ScriptEngine两 个类,直接通过eval函数直接把输入文本当作JS代码执行,输出执行结果,这样报错也 会直接实现,另把文本框设置不允许直接从键盘输入以防止出现安全事件。 最后通过转化成JS代码运算
得到
启发,使用类似方法,我还实现了调用VB代码实现计算 器实时读出键盘输入,发出声音。 3. 系统实现:system implementation 1.程序界面展示 4. 总结体会: summary and experience 实验达到了预期的目标。通过此次的编程,我学会了用Java语言编写简单的软件,增强 了我对学习Java的兴趣。编程过程
中
,总体设计主要是窗口与
组件
的应用,具体执行则 是利用Java语言设计算法,而难点也在算法的设计上。虽然程序大体上符合要求,但由 于第一次编写这么复杂的程序,程序仍然存在一- 些漏洞,譬如由于未进行异常处理,当连续输入运算符是程序会出错,还有若一直按小 数点的话会
得到
一连串的小数点。由于最近忙着考试没有时间修改,考试结束后一定认 真修改这些问题。我觉得在编程时应该注意排版对齐,这样不论是自己检查程序还是别 人阅读程序都会更加方便。如果能添加备注的话以后阅读程序会更容易些。在以后的编 程
中
我会吸取经验,养成认真、严谨的编程习惯。 附:程序清单 1. import javax.swing.JFrame; public class Calculator { public static void main(String[] paramArrayOfString) { CalculatorFrame localCalculatorFrame = new CalculatorFrame(); localCalculatorFrame.setSize(800, 800); localCalculatorFrame.setVisible(true); } } 2 import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; class CalculatorFrame extends JFrame { public CalculatorFrame() { setTitle("Calculator"); setSize(200, 200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent paramAnonymousWindowEvent) { System.exit(0); } }); Container localContainer = getContentPane(); localContainer.add(new CalculatorPanel()); } } 3. import java.awt.
Border
Layout
; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.Grid
Layout
; import java.awt.eve
怎样使用
Border
Layout
管理
布局
页面?效果怎样?
Border
Layout
(边界
布局
管理器)是一种较为复杂的
布局
方式,它将容器划分为五个
区域
,分别是页头(PAGE_START)、页尾(PAGE_END)、行首(LINE_START)、行尾(LINE_END)、
中
部(
CENTER
)。
组件
可以被放置在这五个
区域
中
的任意一个位置。
Border
Layout
布局
效果官方示意图如图1所示。 图1
Border
Layout
的
布局
当向
Border
Layout
布局
管理器的容器
中
添加
组件
时,需要使用add(Component comp,Object constraints
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章