#javaGUI#基于swing包的java用户界面设置入门,组件篇

来源:互联网 发布:ipad淘宝可以看直播吗 编辑:程序博客网 时间:2024/06/09 17:54

刚接触java的GUI设计,因为Swing包比awt包更丰富更全面,于是就直接使用Swing包来进行用户界面设计啦。

Swing三种顶层容器类:JFrame、JDialog、JApplet。它们均有一个内容窗,可以加入一个菜单条。

因为刚接触到的是JFrame,所以从它入手,先创建一个框架(有标题和边界的顶层窗口,GUI应用程序应该至少包括一个框架),并设置框架大小和位置:

class Demo{    public static void main(String[] args){         JFrame f = new JFrame("框架");//创建并命名框架        f.setSize(200,200);//设置宽度和高度,以像素为单位        f.setLocation(200,100);//设置框架位置        //f.setLocationRelativeTo(null);放屏幕中间可用此方法        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //该方法使得当框架关闭时程序结束        f.setVisible(true);//显示框架    }}

也可以不用设置框架大小,用f.pack();使框架大小根据组件大小自动调整;

基础组件:

a)JButton(按钮),JCheckBox(复选框),JRadioButton(单选钮)(单选钮要放进一个ButtonGroup(按钮组))b)JComboBox(组合框)(一种下拉列表,从多个选择选一个)c)JDialog(对话框)(可创建定制的对话框,来提供一些临时的通知)d)JTextField(单行文本域)、JTestArea(多行文本域)e)JPassworldField(密码域)f)JLabel(标签)(可显示无选择的文本、图像或者两者都有)g)JList(列表)h)JMenuBar(菜单条)、JMenu(菜单)、JMenuItem(菜单项)(它们的所属关系为:菜单条(JMenuBar)中包含菜单(JMenu),菜单中包含菜单项(JMenuItem),注意最先添加菜单条)i)JPanel(面板)(JFrame是一个框架,要想把控件放在该框架中,则要先把控件放在JPanel这个界面中,然后再把JPanel放在JFrame中,由JFrame来输出界面。若没有建立JPanel,JFrame则会默认新建一个JPanel放入JFrame中。)加组件到内容窗的格式:frame.getContentPane()(这部分可省略).add();

下面的代码提供组件调用示范:

import java.awt.*;import javax.swing.*;public class Swingtest {    public Swingtest() {        JFrame f = new JFrame();//新建框架        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //使用 System exit 方法退出应用程序。仅在应用程序中使用。        f.setLayout(new FlowLayout());//设流水布局        JPanel p = new JPanel();//新建面板        f.add(p); //将面板加入框架,其他组件加入面板        //设置普通按钮        JButton b1 = new JButton("New button");        f.add(b1);        //设置复选框        JLabel animal = new JLabel("动物:");        p.add(animal);        JCheckBox cat = new JCheckBox("猫");        JCheckBox dog = new JCheckBox("狗");        JCheckBox rabbit = new JCheckBox("兔子");        p.add(cat);        p.add(dog);        p.add(rabbit);        //设置单选钮        JLabel answer = new JLabel("答案");        p.add(answer);//标签        JRadioButton yes = new JRadioButton("对");//单选钮        JRadioButton no = new JRadioButton("错");//单选钮        ButtonGroup group = new ButtonGroup();//新建按钮组        group.add(yes);//单选钮加入组        group.add(no);//单选钮加入组        p.add(yes);//单选钮加入面板,不可将组加入面板        p.add(no);        //单行文本域        JLabel id = new JLabel("账号:");        p.add(id);//标签        JTextField field = new JTextField();        p.add(field);        //多行文本域        JLabel intro = new JLabel("简介");        p.add(intro);        JTextArea area = new JTextArea(15, 15);        p.add(area);        //密码域        JLabel password = new JLabel("密码");        p.add(password);//标签        JPasswordField pass = new JPasswordField("*");        p.add(pass);        // 列表        String[] animals = {"猫","狗","兔子"};        JList list = new JList(animals);        p.add(list);        // 菜单的设置        JMenuBar bar = new JMenuBar();//菜单条        f.setJMenuBar(bar);        JMenu menu = new JMenu("文件");//菜单        JMenuItem New = new JMenuItem("新建");//菜单项        JMenuItem Open = new JMenuItem("打开");//菜单项        JMenuItem exit = new JMenuItem("退出");//菜单项        bar.add(menu);//菜单加入菜单条        menu.add(New);        menu.add(Open);        menu.add(exit);//菜单项加入菜单        f.pack();//框架自动适配大小        f.setVisible(true);//显示框架    }        public static void main(String[] args) {            Swingtest frame = new Swingtest();//调用构造函数        }}

以上仅是基础组件的调用示范,想要把整体界面做好还需要结合布局管理器。

原创粉丝点击