GUI的概念
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
JAVA的GUI开发包
Java提供了三个主要包做GUI开发:
java.awt 包:主要提供字体/布局管理器
javax.swing 包[商业开发常用]:主要提供各种组件(窗口/按钮/文本框)
java.awt.event 包:事件处理,后台功能的实现。
Swing
swing组件可分为三大部分
(1)顶层容器JFrame,JDialog
(2)中间容器JPanel,JOptionPane,JScrollPane,JLayeredPane 等
(3)基本组件JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。
参考大佬的博客
1如何创建一个窗口
package learn;
import javax.swing.JFrame;
public class demo {
public static void main(String[] args)
{
JFrame f=new JFrame("小窗口");
//新建一个顶级容器JFrame并给它一个标题:小窗口
f.setBounds(2, 3,400, 600);
//在屏幕中的位置为(2,3)为窗体的左上角,宽和高分别为400,600.
f.setVisible(true);
//设置为显示,这个语句一定要有
}
}
关于JFrame
继承自顶级窗口Frame.
JFrame的构成如下
可以发现JFrame由上方的菜单栏和下方的内容窗格组成.
我们加零件就在这个ContentPane上加.
更进一步的
好像有点深了,博主水平有限,就先到此为止了,以后有机会再进一步…
关于JFrame的一些博客:(该部分内容转载自此文)
JFrame的进一步理解
2往里面加入小零件吧
package learn;
import javax.swing.JButton;
import javax.swing.JFrame;
public class demo {
public static void main(String[] args)
{
JFrame f=new JFrame("小窗口");
f.setBounds(0, 0, 1000, 1000);
f.setVisible(true);
for(int i=0;i<10;i++)
{
JButton btn=new JButton("按钮");
btn.setSize(100,100);
//设置宽和高
btn.setLocation(100*i, 100*i);
//设置左上角的位置
f.getContentPane().add(btn);
//往JFrame里添加button
}
}
}
运行后可以发现,我们原来的窗口里多了十个按钮.
3.更多的零件
为了更好的组合零件,我们需要JPanel.
JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。
JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对窗体上的这些控件进行组合。
演示效果
package learn;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class demo {
public static void main(String