图书管理系统课程设计 用Swing做UI 笔记

java Swing控件属性归纳

链接: http://maloveqiao.iteye.com/blog/1668698

Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI

链接:https://blog.csdn.net/Peng_Hong_fu/article/details/52682179

java Swing 图形界面开发简介

链接:https://blog.csdn.net/xietansheng/article/details/72814531

窗口关闭setDefaultCloseOperation()的整理

链接:https://blog.csdn.net/jichuang123/article/details/47804667

public void setLocationRelativeTo(Component c)

设置窗口相对于指定组件的位置。

如果组件当前未显示或者 c 为 null,则此窗口将置于屏幕的中央。

中点可以使用 GraphicsEnvironment.getCenterPoint 确定。

为面板(JPanel)添加标题

链接 : http://yoyo.is-programmer.com/posts/4410.html
不得不吐槽,找这个还找了好一会

对于setContentPane()和getContentPane()的应用

我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢?

JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。

对JFrame添加组件有两种方式:
  1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)

2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

JPanel contentPane=new JPanel();
    ……//把其它组件添加到Jpanel中;
    frame.setContentPane(contentPane);
    //把contentPane对象设置成为frame的内容面板

setEnabled() 和 setClickable() 的区别:

工作中有时候经常会遇到控制按钮是否可点击的时候,setEnabled() 和 setClickable() 都可以做到,只要将它们设置成false ,按钮就不可点击,设置成true,按钮就可以点击。

它们的区别在于:
setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。

setEnabled():设置成true时,相当于激活了按钮,按钮的状态不再是死的,而是会对触摸或者点击产生反应,并且可以响应一些触发事件。而设置成false时,按钮是灰色的,无论是否可点击(即使将setClickable()设置成true),都无法响应任何触发事件。

其实区别就在上面说的几个小地方,总的来看,setEnabled()相当于总开关,控制着按钮的状态,而setClickable()相当于具体的某个开关,控制这个开关是否可以点击。

setVisible和setEnabled区别

public void setVisible(boolean aFlag)
使该组件可见或不可见。重写 Component.setVisible

public void setEnabled(boolean enabled)
设置是否启用此组件。已启用的组件可以响应用户输入,而未启用的组件则无法响应用户输入。可以在禁用某些组件时更改其可视化表现形式,以向用户提供反馈,说明其无法接受输入。
注:禁用某个组件不会禁用其子组件。

注:禁用轻量组件不会阻止其接收 MouseEvent。

一个是不可见,但是可以响应用户输入,一个不行,就是这个区别~!

猜你喜欢

转载自blog.csdn.net/qq_40940540/article/details/84799651