java Swing图形化界面

学过java的人应该对java的图形化界面很是反感,特别是接触java不久的人。如果想和其他语言那样用鼠标拖拽,可以使用wondosbulider插件。但是用起来也不是那么方便。当然对于不乐意写代码的人来说真是太幸福了。

然而用代码去实现java的图形化界面并非那么麻烦。总结起来就是~

1.定义你需要使用的面板,按钮,文本,标签。

2.对这些实例化。  然后把按钮,文本,标签按照你想要的方法放到面板上。

3.把面板放在界面上。  如果界面简单的话,面板也是可以不使用的,面板可以方便管理一些按钮。

如何去简单的添加一些按钮那?

定义面板按钮~实例化面板按钮~将按钮添加到面板上。

package Swing;
import java.awt.FlowLayout;
import java.awt.Frame;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class FrameDemo extends JFrame {
    private JPanel jp,jp1;    //声明面板,面板功能:可添加按钮文本等,方便管理界面。
    private  JButton b1;   //声明 按钮
    private JButton b2,b3;
    public FrameDemo  ()
    {
        super("测试窗口");
        jp = new JPanel();
        b1 = new JButton("按钮1");
        b2 = new JButton("按钮2");//实例化 jp b1 b2
        jp.add(b1);
        jp.add(b2);

        this.add(jp);   //按钮添加到面板,面板添加到界面。
        this.setSize(300,200);   //设定 窗口宽度300,高度200
        this.setLocation(100,100);  //设定窗口左上角坐标,窗口打开时的位置。以左上定点为0.0
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
         FrameDemo frame = new FrameDemo();
         frame.setVisible(true);

    }

}

下面介绍几个布局,让你的界面更加美观

流布局~组建从左到右依次安排到面板上。也是默认布局

package Swing;
import java.awt.FlowLayout;
import java.awt.Frame;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class FrameDemo extends JFrame {
    private JPanel jp;    //声明面板,面板功能:可添加按钮文本等,方便管理界面。
    private  JButton b1;   //声明 按钮
    private JButton b2,b3,b4;
    public FrameDemo  ()
    {
        super("测试窗口");
        jp = new JPanel(); //  先对面板实例化,再对面板进行布局。      (左对齐,水平间距10,垂直间距15)可更改。
        FlowLayout layout = new FlowLayout(FlowLayout.LEFT,10,25);
        jp.setLayout(layout);

        b1 = new JButton("按钮1");
        b2 = new JButton("按钮2");
        b3 = new JButton("按钮3");
        b4 = new JButton("按钮4");
        jp.add(b1);
        jp.add(b2);
        jp.add(b3);
        jp.add(b4);
        this.add(jp);   //按钮添加到面板,面板添加到界面
        this.setSize(300,200);   //设定 窗口宽度300,高度200
        this.setLocation(100,100);  //设定窗口左上角坐标,窗口打开时的位置。
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
         FrameDemo frame = new FrameDemo();
         frame.setVisible(true);

    }

}

执行结果

边界布局~有五个位置,东南西北中~默认为中

package Swing;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class FrameDemo extends JFrame {
    private JPanel jp;    //声明面板,面板功能:可添加按钮文本等,方便管理界面。
    private  JButton b1;   //声明 按钮
    private JButton b2,b3,b4;
    public FrameDemo  ()
    {
        super("测试窗口");
        jp = new JPanel(); //  先对面板实例化,再对面板进行布局。      (左对齐,水平间距10,垂直间距15)可更改。
        jp.setLayout(new BorderLayout());

        b1 = new JButton("按钮1");
        b2 = new JButton("按钮2");//实例化 jp b1 b2
        b3 = new JButton("按钮3");
        b4 = new JButton("按钮4");
        jp.add(b1,BorderLayout.WEST);
        jp.add(b2,BorderLayout.WEST);    //按钮2将按钮1覆盖, 未设置按钮大小,按钮会的长度会是面板的长度。
        jp.add(b3,BorderLayout.NORTH);
        jp.add(b4,BorderLayout.SOUTH);
        this.add(jp);   //按钮添加到面板,面板添加到界面
        this.setSize(500,500);   //设定 窗口宽度500,高度500
        this.setLocation(100,100);  //设定窗口左上角坐标,窗口打开时的位置。
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
         FrameDemo frame = new FrameDemo();
         frame.setVisible(true);

    }

}

注意,按钮1被按钮2覆盖

网格布局以及卡片布局都是一样的设置步骤,唯一改变的是布局方式改变。只要依次添加组件,注意个组件的位置就可以做好自己要求的界面。

我最喜欢的布局~null空布局。根据自己的意愿在面板上随意添加,但是容易造成布局混乱。我将文本框,标签,和按钮放在null布局中,标签和文本框的放置方法和按钮相同。

package Swing;
import java.awt.FlowLayout;
import java.awt.Frame;

import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class FrameDemo extends JFrame {
    private JPanel jp;    //声明面板,面板功能:可添加按钮文本等,方便管理界面。
    private  JButton b1;   //声明 按钮
    private JButton b2,b3,b4;
    private  JLabel lname ,lpwd;
    private JTextField txtname;
    private JPasswordField txtpwd;
     public FrameDemo  ()
    {
        super("测试窗口");
        jp = new JPanel();
        jp.setLayout(null);
        b1 = new JButton("登陆");    //对按钮创建添加
        b2 = new JButton("取消");

        b1.setBounds(60, 90, 60, 25);
        b2.setBounds(125, 90, 60, 25);
        jp.add(b1);
        jp.add(b2);

        lname = new JLabel("用户名");    // 对标签创建添加
        lpwd = new JLabel("密码");
        txtname = new JTextField(20);
        txtpwd = new JPasswordField(20);
        txtpwd.setEchoChar(‘*‘);

        lname.setBounds(30,30,60,25);
        txtname.setBounds(95, 30, 120, 25);
        lpwd.setBounds(30,60,60,25);
        txtpwd.setBounds(95,60,120,25);

        jp.add(lname);
        jp.add(txtname);
        jp.add(lpwd);
        jp.add(txtpwd);

        this.add(jp);   //按钮添加到面板,面板添加到界‘
        this.setSize(250,170);
        this.setLocation(300,300);  //设定窗口左上角坐标,窗口打开时的位置。
        this.setResizable(false);//窗口不可改变大小
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
         FrameDemo frame = new FrameDemo();
         frame.setVisible(true);

    }

}

是否会自己按装一些组件了那?复选框的添加步骤也是一样的,但是要注意多设置些面板,用以管理各个复选框的标签等。

时间: 2024-10-16 09:42:41

java Swing图形化界面的相关文章

java之图形化界面(GUI)

一.概述 用户与计算机进行交换的方式有两种: GLI:Command lin User Interface(命令行用户接口),也就是常见的dos窗口,它需要记住一些常用的命令,操作不直观方便. GUI:Graphical User Interface(图形用户接口),用图形的方式,来显示计算机操作的界面,这样更方便直观. 这两种交换方式就对应两种交互界面:命令行界面和图形化界面. 现在图形化界面是主流. Java为GUI提供的对象都在java.awt和javax.swing这两个包中. Awt和

Java学习之图形化界面(Swing基础)

Java学习之图形化界面(Swing基础) 一.Java图形化界面发展史 起初在早期的计算机系统中,电脑只提供命令行界面(CLI),现在在Windows中开个DOS窗口,就可以历史足迹,这就是命令行界面在 现在Windows界面中的体现. 后来Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件.操作系统.应用软件一条龙的产品,与其它PC不兼容.这使得Apple公司错过了一

java工程开发之图形化界面之(第三课)

上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的 参考链接:http://blog.sina.com.cn/s/blog_993d254201013pgh.html#cmt_3339216 JOptionPane类 1.属于javax.swing 包. 2.功能:定制四种不同种类的标准对话框. ConfirmDialog 确认对话框.提出问题,然后由用户自己来确认(按"Yes"或"No"按钮) InputDialo

Java图形化界面设计——容器(JFrame)

Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入java图形化界面编程. 一.Java基本类(JFC) Java基本类(“JavaFoundationClasses”,JFC),由一些软件包组成.这些软件包主要包括下面一些应用程序接口(API): ·抽象窗口工具集(AWT)(1.1及以上版本). ·Swing构件. ·Java 2D应

三十三、Java图形化界面设计——布局管理器之null布局(空布局)

摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局. 操作方法: 1)       首先利用setLayout(null)语句将容器的布局设置为null布局(空布局). 2)       再调用组件的setBounds(int x, int y, int width,int

三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)

摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式为:从上到下,从左到右. l  组件放入容器的次序决定了它在容器中的位置. l  容器大小改变时,组件

二十七、Java图形化界面设计——容器(JFrame)

摘自http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入java图形化界面编程. 一.Java基本类(JFC) Java基本类("JavaFoundationClasses",JFC),由一些软件包组成.这些

三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 1.  CardLayout类的常用构造函数及方法 2.  使用CardLayout类提供的方法可以切换显

java工程开发之图形化界面之(第四课)

本届中,我们将创建一个小应用程序,它使用循环生成其图案.我们将使用if语句和setColor方法.同时我们将介绍drawString方法,并使用它在小应用程序窗口中写出文本. 下面的小应用程序是显示一串七个面孔,我们下面来看看效果. 先贴上自己慢慢敲的一个小时的代码: 1 package 一个事例图形小应用程序; 2 import javax.swing.JApplet; 3 import java.awt.*; 4 import java.awt.Color; 5 import java.aw