JAVA图形界面总结1

来源:互联网 发布:淘宝话费要求退款不退 编辑:程序博客网 时间:2024/06/05 17:58

因为最近课设需要,所以就学习了一些,先总结一点

一.所要总结的知识点:

1.控件的正确摆放姿势.
2. java图形中常用的控件.
3.如何给JPanel,JLabel,JButton中添加背景图片
4.列表选择框JComboBox,JList
5.给面板或者控件设置炫酷边框

二.逐一介绍:

1. java图形中常用的控件

  • 常用窗体:JFrame、JDialog。窗体好比一块空白的画布,你可以任意添加按钮等组件到其中,也可以设置窗体的属性(大小、边界、排布等)。JFrame是一个主窗体,在一个项目中只能有一个。而JDialog 窗体是Swing组件中的对话框,它继承了AWT组件中java.awt.Dialog类,弹出新窗体。有点像弹出对话框。
  • 按钮:JButton
  • 标签类:JLabel。JLabel 对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。
构造方法介绍:JLabel() 创建无图像并且其标题为空字符串的 JLabel。JLabel(Icon image) 创建具有指定图像的 JLabel 实例。JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水平对齐方式的 JLabel 实例。JLabel(String text) 创建具有指定文本的 JLabel 实例。JLabel(String text, Icon icon, int horizontalAlignment) 创建具有指定文本、图像和水平对齐方式的 JLabel 实例。JLabel(String text, int horizontalAlignment) 创建具有指定文本和水平对齐方式的 JLabel 实例。
  • 文本框和文本区框和密码输入框:JTextField和JTextArea和JPasswordField。

    **一:JTextField的(文本框)使用:**JTextField 是一个轻量级组件,它允许编辑单行文本。1.JTextField的常用构造方法:JTextField() 构造一个新的 TextField。JTextField(int columns) 构造一个具有指定列数的新的空 TextField。JTextField(String text) 构造一个用指定文本初始化的新TextField。JTextField(String text, int columns) 构造一个用指定文本和列初始化的新TextField。2.JTextField的常用方法:SetText(string) 设置文本域中的文本值GetText()返回文本域中的输入文本值getColumns()返回文本域的列数setEditable(Boolean) 设置文本域是否为只读状态**二.JTextArea的常用构造方法:**JTextArea() 构造新的 TextArea。JTextArea(String  text) 构造显示指定文本的新的 TextArea。JTextArea(int rows, int columns)  构造具有指定行数和列数的新的空 TextArea。JTextArea(String  text, int rows, int columns)  构造具有指定文本、行数和列数的新的 TextArea。
  • 列表选择框:JComboBox,JList。JComboBox是下拉列表框,JList是将列表的信息都显示出来,也可以用 JScrollPane来将它设置为可滚动的模式.因为这两个控件的方法都是相同的,这里我只列出一个.
    这里写图片描述
    举个JComboBox例子
    String []yt = new String[12];
    String yta = “号演出厅”;
    for(int i = 0; i<12; i++)
    {
    String a = String.valueOf(i+1);
    String b = a + yta;
    yt[i] = b;
    }
    JComboBox jbox = new JComboBox(yt);

2.控件的正确摆放姿势.
关于JavaGUI中控件的摆放有两种方式,第一种是通过一些布局的框架:如,流式布局FlowLayout,表格布局GridLayout,边界BorderLayout。卡片布局 CardLayout,这几种布局我在这不做介绍,具体可参考博客
(http://blog.csdn.net/u012566693/article/details/44916069)
第二种方式是通过控件的绝对布局,每一个控件都有setBounds(x, y, width, height)方法,其中x和y代表该控件在父控件的水平和竖直距离,后两个分别代表该控件的宽和高.使用绝对布局,你创建面板的时候必须将面板的布局设置为空如,JPanel p = new JPanel(); p.setLayou(null);,因为面板的默认布局为流式布局,这样你就不能使用绝对布局.
我个人觉得摆放控件最简单的方式就是用绝对布局,这样可以精准控制控件的位置.
这里写图片描述

3.如何给JPanel,JLabel,JButton中添加背景图片

  • 1:JPanel:先定义一个面板的类,然后通过构造方法来创建一个具体大小和背景图片的面板.
    import javax.swing.*;
    import java.awt.*;
    class GetPanel extends JPanel {
    private static final long serialVersionUID = 1L;
    int width = 0, hight = 0;
    String imgpath = “”;
    public GetPanel(int width, int hight, String file) {
    this.width = width;
    this.hight = hight;
    imgpath = file;
    }
    protected void paintComponent(Graphics g) {
    ImageIcon icon = new ImageIcon(imgpath);
    Image img = icon.getImage();
    g.drawImage(img, 0, 0, width, hight, this);
    }
    }

    JPanel p= new GetPanel(650,300,”/Ttms/image/12.png”);
    p.setLayout(null);

  • JLabel和JButton一样:有两种方式,第一种是在定义的时候设置背景图,第二种是在定义之后设置,这里只列出JLabel;
    1:JLabel l = new JLabel(new ImageIcon(“/Ttms/image/5t.png”));
    2:JLabel l = new JLabel();
    l.setIcon(new ImageIcon(“/Ttms/image/5t.png”));

4.给面板或者控件设置炫酷边框
java中常用setBorder来设置控件的边框详细请看
博客:http://blog.csdn.net/songjunyan/article/details/19031421