失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > GUI编程面板间距间隙的设置及滚动条的实现

GUI编程面板间距间隙的设置及滚动条的实现

时间:2022-11-04 10:51:57

相关推荐

GUI编程面板间距间隙的设置及滚动条的实现

1. 上期遗留问题:
1.1 使用 标签 嵌入 ImageIcon 图片 不显示问题

昨天玩的往 JLabel 里面嵌入图片图片没有显示出来,但是也没有报空指针异常,真是奇了个大怪,今天下班回来又好好的扣吃了一会,发现写的逻辑并没有问题。开始还在猜测是不是因为 标签的属性也要设置一下,比如可见性之类的,但是设置了发现没还用,后来又往容器里面嵌,怎么搞也是不出来,emm… 于是在博客上发了个提问。… 这个遗留问题我一定会解决,而且我的路径 没问题啊,debug 跑的时候,路径能读到的。

2. 练习布局方式的间距设置

我们先来看一下效果图:(因为代码没有难度,只不过是之前用的方法,其中有个两个参数没有设置,今天学习到这里我们可以接触的了的水平了,就设置上了)

我设置的效果是长这个样子的,不管怎么设置,我们可以看到每个面板之间是有一个白色的间距间隙的。很好实现,这个调用方法,给两个参数,然后正常写代码就好了,下面把代码帖出来

package com.Swing.JFrame;import javax.swing.*;import java.awt.*;public class Test04ButtonSpace_between extends JFrame {public static void main(String[] args) {new Test04ButtonSpace_between("间距设置的效果测试");}public Test04ButtonSpace_between(String title){super.setTitle(title);//先获取容器,然后我们把面板添加到容器里,再从面板中嵌入按钮 进行间距设置的测试//不继承 JFrame 是调不到获取容器的方法的Container contentPane = this.getContentPane();//设置布局,布局方式为:表格布局contentPane.setLayout(new GridLayout(2,1,10,10));//rows:两行 cols:一列 hgap:横间隙 vgap:纵间距//开始设置面板Panel p1 = new Panel(new GridLayout(1,3));//一行三列,可以添加三个按钮p1.add(new JButton("1"));p1.add(new JButton("2"));p1.add(new JButton("3"));Panel p2 = new Panel(new GridLayout(1, 2));//一行两列,可以添加两个按钮p2.add(new JButton("4"));p2.add(new JButton("5"));Panel p3 = new Panel(new GridLayout(2, 1));//两行一列,可以添加两个按钮p3.add(new JButton("6"));p3.add(new JButton("7"));Panel p4 = new Panel(new GridLayout(3, 2));//三行两列,可以添加 3*2 =6个按钮p4.add(new JButton("8"));p4.add(new JButton("8"));p4.add(new JButton("8"));p4.add(new JButton("8"));p4.add(new JButton("8"));p4.add(new JButton("8"));//设置好了,添加到容器当中contentPane.add(p1);contentPane.add(p2);contentPane.add(p3);contentPane.add(p4);//设置可见,弹出位置及大小,关闭按钮this.setVisible(true);this.setBounds(220,220,600,440);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}}

3. JScrollPanel 滚动条

学习完了间距间隙设置,来玩滚动条。

我们先来看一下效果图,首先说明,在容器中放入面板,面板中嵌入可换行的文本域。这些全部设置好之后,当窗口容器缩放到一定尺寸,会有滚动条效果

然后在来看一下代码,碎角片细节内容,一如既往,注释在代码当中了

package com.Swing.JFrame;import javax.swing.*;import java.awt.*;public class Test05JScrollPanel extends JFrame {public static void main(String[] args) {new Test05JScrollPanel();}public Test05JScrollPanel(){Container contentPane = this.getContentPane();//创建可换行的文本域对象TextArea textArea = new TextArea(20,50);textArea.setText("我是一只爱学习的兔C");//创建带有滚动条的面板对象JScrollPane jScrollPane = new JScrollPane(textArea);contentPane.add(jScrollPane);this.setVisible(true);this.setBounds(220,220,600,420);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}}

注意一下,使用文本域对象要设置尺寸的,不要直接在调用的构造中传入文本内容,我一上来就是那么写的, 结果运行之后什么也没有。

其次就是 面板对象,构造参数中可以直接传入文本域对象。

如果觉得《GUI编程面板间距间隙的设置及滚动条的实现》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。