本人最近学习javaGUI发现重要知识点和思想用的频率很高,把它们整理下来一起分享

1:JFrame窗口和JDialog窗口

一班JFrame用作主窗口,JDialog用作弹出窗口(即对话框),但JFrame也可以用作弹出窗口并设置一些功能。下面就看一个这类窗口的基本构造方法:很多适用于窗体额方法其部件也很适用的。

import java.awt.*;

import javax.swing.*;

public class JFrame窗口 {

public static void creatjframe(String title)

{

JFrame jf=new JFrame(title); //实例化一个JFrame对象

Container container=jf.getContentPane(); //获取一个容器

JLabel jl=new JLabel("这是第一个JFrame窗体",JLabel.CENTER); //标签剧中

//jl.setHorizontalAlignment(SwingConstants.CENTER);//居中对齐等价替换为上一行

container.add(jl); //将标签添加到容器中

container.setBackground(Color.yellow); //背景颜色

jf.setResizable(false); //不可拉伸

jf.setVisible(true); //设置可见

jf.setSize(400,300); //设置大小

jf.setLocationRelativeTo(null);// 剧中放置,要在setsize后面放置

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//窗体关闭方式

}

public static void main(String[] args)

{

creatjframe("创建一个JFrame窗体");

}

}这里做一些说明:

1):一般情况下不这样构造,而是采用构造类继承JFrame这样,再类中构造,例如:

public class jframe extends JFrame{

public jframe(){ this.****;this.***  }

public static void main(String[] args){new jframe();}     }

这样构造要方便很多,因为此类本身就是一个窗体的继承类,他拥有窗体的性质。可以使用this.setVisible(true);函数也可以直接用setvisible(true);有个小技巧就是使用函        数时候先点一个点会出来可以使用的函数附图如下

.

2)窗体的背景颜色是有层次的并且会被遮挡,例如container设置额容器颜色会遮挡jframe的背景颜色,而JPanel的背景颜色会遮住container容器的背景颜色,JPanel添加子类器件,子器件的背景颜色会遮住JPanel的颜色。元件的层次与原件添加的位置有关(添加再哪里)。

3)居中设置为啥要再setsize后面?因为如果再setsize之前就设置剧中窗体没有大小就会默认一个点再屏幕中间,设置大小会以这个点向右下方扩散而不是以这个点为中心扩散。

2:元件

1):JButton:+鼠标监听事件(这里的鼠标监听也可以写成类继承监听接口,添加监听。再类中重写actionperforded函数。个人喜好问题)

JButton bl=new JButton("弹出对话框");

bl.setBounds(10,20, 100, 21);

bl.setContentAreaFilled(false);//透明

bl.setBorderPainted(false);

bl.setFocusPainted(false);

bl.addActionListener(new ActionListener() {//建立监听事件

public void actionPerformed(ActionEvent e)

{

if(e.getsourse()==b1){****;}

}

});

监听的如果是按钮数组,则for(;i

不仅仅按钮可以添加鼠标监听,文本框,复选框都可以添加鼠标监听事件。

2)其他元件

JPanel panel1 = new JPanel();//面板元件。可使用布局,可添加元件。本身可以作为一个容器也可以作为局部容器。常用于画图,详细可参考我的另一篇五子棋博客;

JTextField jt1=new JTextField("8",10);文本有数字‘8’的单行文本。可添加监听。

JTextArea jt=new JTextArea(3,10);//创建文本区系数代表大小,纯文本多行区域

JCheckBox jc2=new JCheckBox("2");复选框

3)容器+鼠标点击事件

常见有container容器,JPanel面板添加鼠标点击事件,点击的坐标可由int x=e.getX();获得,int y=e.getY();获得。可以在这个点添加你需要添加的事情,详情可以看我的那篇五子棋实现过程。

4)常见布局:setlayout(new 布局方式())

绝对布局:setlayout (null);元件需要用setbounds(int,int,int,int)分别代表坐标和长宽。(setbounds=setsize(int,int)设置大小加setlocation(int,int)设置位置(单位像素。))绝对布局很少用。

边界布局:borderlayout(),分为east,west,north,south,center。五个方向,一班中间偏大,其他部位没有使用会自动被其他位置挤占,可以使用上中下三部分,也可以使用左中右三部分。经常使用此类布局。

流布局:floutlayout(int,int,int),默认剧中对齐,按排版满就换行,局部容器使用该布局较多。//第一个int表示排列方式,有0左,1中间,2右;

网格布局:gridlayout(int,int,int,int)网格布局设置特定数量,对于整齐对称密集排布比较好用。参数代表行列,左右上下间距。

还有高级布局管理器 box,girdbaglayout等。

5)添加背景图片,图标,

添加背景图片:

URL url=myimageicon.class.getResource("image/beimian.jpg");

image=Toolkit.getDefaultToolkit().getImage(url);或者

ImageIcon imageicon=new ImageIcon(this.getClass().getResource("/image/beimian.jpg"));

image=imageicon.getImage();

有一:使用JLabel,(详细代码百度很多)二使用JPanel的paintComponent方法,重写该函数在里面drawimage(image, 0, 0,getWidth(),getHeight(), this)填充,然后将添加的容器设置成透明就可以。

添加图标

imageicon/icon的方法

ImageIcon imageicon=new ImageIcon(this.getClass().getResource("/image/beimian.jpg"));

jbuttton.seticon(imageicon);

6)添加背景音乐:

public AudioClip music;//背景音乐

URL url=Memorize.class.getResource("music/fade2.wav");//源

{music=Applet.newAudioClip(url);}

music.play();开始

如果循环需要添加:

try {

Thread.sleep(40);

} catch (InterruptedException e1) {

e1.printStackTrace();

}

music.loop();

此外,这种循环点击X音乐还会继续播放,需要设置一个关闭的监听时间。在主类中implements actionlisterner。在重载函数中添加

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

本文分享 CSDN - Big sai。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

java上下左中右的布局面板_JAVA GUI重要知识点学习心得相关推荐

  1. JAVA GUI重要知识点学习心得

    本人最近学习javaGUI发现重要知识点和思想用的频率很高,把它们整理下来一起分享 1:JFrame窗口和JDialog窗口 一班JFrame用作主窗口,JDialog用作弹出窗口(即对话框),但JF ...

  2. 我学习的三种三栏(左中右)布局方法

    我学习的三种三栏(左中右)布局方法(不想要自适应的话设置一个宽度即可) 绝对定位方法,两边用绝对定位固定在窗口两边,中间采用自适应宽度,利用margin属性把两边撑开.代码如下: <style ...

  3. java gui 布局 旋转_JAVA GUI编程之布局管理器

    JAVA的GUI(图形用户界面)由各种组件构成,主要分为AWT组件(java.awt)以及功能更强的Swing组件(javax.swing)两种. 组件可以分为容器组件和非容器组件.容器组件是指可以包 ...

  4. html 左中右如何布局,CSS 布局

    左右布局 1.浮动布局 左边元素左浮动,右边元素加上margin-left,实现左边固定,右边自适应的左右布局 html left right CSS *{ margin:0; padding:0; ...

  5. java实现一个gui面板_JAVA GUI自定义JPanel画板背景

    自定义JPanel面板背景 一.前言 1.GUI全称是Graphical User Interface,就是图形用户界面.JAVA的GUI应用广泛在我们生活中也很常见.很多应用使用该GUI编程设计,像 ...

  6. html左中右自适应布局,CSS左中右自适应布局六种方案与原理

    css虽简单,但细节多,技巧性高,易学难精. 如何实现左右固定300px , 中间宽度自适应? 有如下结构 左 右 中 公有样式, 设置高,设置左右宽度固定300px,左右为红色,中间为黄色. .it ...

  7. java窗体分为左右两个面板_Java中怎么把一个窗体水平分为三部分呀?

    展开全部 用GridBagLayout吧,最精确的布局方法了.下面是我以前收藏的一篇文章你可以参考下,看上去很复杂,其实用32313133353236313431303231363533e78988e ...

  8. java 文本框输入监听事件_JAVA GUI 事件监听事件 详解 和 案例.

    GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line Use ...

  9. java事件监听器无效_Java的事件监听器学习心得

    在Java的swing编程中,Java中的事件机制非常常用 一. 事件监听器的参与者: 1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是 ...

最新文章

  1. python官网打不开-python为什么打不开
  2. 学习linux基础操作,从0开始入门!
  3. 三角网导线平差实例_导线测量平差实例
  4. 光子浏览器_烟台招聘信息烟台光子信息科技有限公司招聘(五险一金,餐补)...
  5. 【蓝桥杯】历届试题 错误票据
  6. hdu1066(经典题)
  7. JS高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
  8. 跟我一起考PMP---项目的管理过程
  9. 下docfetcher先下Java,DocFetcher使用教程——高效的文档文本检索工具
  10. 考研数学小知识点(积化和差、几何平均数、质心、梯度、旋度、散度)
  11. Android11(R) system_ext 分区 system_ext_specific 属性
  12. nebula模拟器_Nebula街机模拟器使用方法 Nebula街机模拟器怎么用
  13. 57之最,来找找你的之最吧
  14. 创建一个动态空间存储未知大小的二维数组
  15. 数据库课程设计-----------学生选课管理系统的设计
  16. 别闹,你真的会发邮件吗?
  17. 固态硬盘、机械硬盘工作原理和区别(内附接口知识)
  18. Android灯光系统背光灯
  19. 大数据告诉你绩优的银行柜员长啥样!
  20. 2023教你轻松解决blender使用常见问题

热门文章

  1. mysql的基础操作(笔记)
  2. 牛客网matlab怎么输入数据,从牛客上找的面经
  3. MySQL: InnoDB 还是 MyISAM?
  4. OpenShift 4 - DevSecOps Workshop (1) - 安装 Workshop 环境
  5. OpenShift 4 - Ingress、Route与Shard
  6. Dubbo Metrics 发布新版本 2.0.1 | Dubbo 的度量统计基础设施
  7. odoo10参考系列--测试模块
  8. 怎么使用php连接mysql_如何使用PHP连接MySQL
  9. 关于thymeleaf静态资源找不到的问题
  10. java hibernate方言_java – 如何在运行时获取Hibernate方言