精华内容
下载资源
问答
  • 图形用户界面是由组件和容器构成。 组件又称控制组件,是图形用户界面中不可再分的最小元素,起功能是与用户完成一次交互操作; 容器是若干个 组件和容器的集合; 容器又分为顶层容器和中间容器; 顶层容器是应用...

    图形用户界面是由组件和容器构成。
    组件又称控制组件,是图形用户界面中不可再分的最小元素,起功能是与用户完成一次交互操作;
    容器是若干个 组件和容器的集合;
    容器又分为顶层容器和中间容器;
    顶层容器是应用程序必须创建的一个容器,只有在创建顶层容器之后才能放置其他组件或GUI容器。Swing提供了4种顶层容器,分别是 JFrame、JApplet、JDialog和JWindow.。其中JFrame和JDialog最常用。
    JFrame类提供了下面两种格式的构造方法:
    (1)JFrame():创建不指定标题的窗体;
    (2)JFrame(String title):创建指定标题的窗体;
    JDialog与JFrame一样,但是不能作为独立的窗口容器使用,必须依附于某个窗口(通常是JFrame)。

    package day612;
    import javax.swing.*;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    
    public class MyDialog {
    public static void main(String[] args) {
    	JLabel la=new JLabel();
    	int n=JOptionPane.showConfirmDialog(null,"请点击按钮");
    	if(n==0) 
    		la.setText("您单击了按钮\"是\"!");
    	else if(n==1)
    		la.setText("您单击了按钮\"否\"!");
    	else if(n==2)
    		la.setText("您单击了按钮\"取消\"!");
    	JOptionPane.showConfirmDialog(null,la);
    }
    }
    

    运行结果:
    在这里插入图片描述

    中间容器:

    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class FramePanel {
    	public static void main(String[] args) {
    		JPanel jp=new JPanel();
    		jp.setBackground(Color.RED);
    		JButton jb=new JButton("Press");
    		jp.add(jb);
    		JFrame jf=new JFrame("面板容器");
    		Container cp=jf.getContentPane();
    		cp.setBackground(Color.BLUE);
    		cp.add(jp,BorderLayout.NORTH);
    		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		jf.setSize(200, 200);
    		jf.setVisible(true);
    				
    	}
    }
    
    

    运行结果:
    在这里插入图片描述

    标签:标签(JLabel)对象通常用来实现一些说明性的描述;
    按钮:按钮是java图形用户界面的基本组件之一,也是种类最多、使用最频繁的组件;
    分为JButton类和JToggleButton类;
    文本框:文本框是接受用户的一种组件;
    分为(1)文本字段(text fields)
    (2) 纯文本区域(plain text areas)
    (3) 带样式文本区域(styled text areas).

    展开全文
  • Java 常用容器有哪些?

    千次阅读 2020-03-22 21:12:57
    常用容器有哪些?解答。。。


    1. 问题

    • 常用的容器有哪些?

    2. 解答

    展开全文
  • 关于“基于swing包的java用户界面设置入门” 刚接触java的GUI设计,因为Swing包比awt包更丰富更全面,于是就直接使用Swing包来进行用户界面设计啦。 Swing三种顶层容器类:JFrame、JDialog、JApplet。它们均有一个...

    刚接触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();//调用构造函数
            }
    
    }
    

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

    展开全文
  • java 图形用户界面

    千次阅读 2017-12-23 16:26:16
    一、需求编写一个Java源程序,其中包含: 编写一个包含主方法main的公共类(访问权限为...源程序实现的任务是实现如下图所示的图形用户界面:(1)可以在“请输入文件路径和名称:”后面的文本框中输入文件名和路径。

    一、需求

    编写一个Java源程序,其中包含:
    编写一个包含主方法main的公共类(访问权限为public的类),该类继承自窗体类JFrame,并且,该类实现了接口ActionListener(也就是说,实现了接口ActionListener的方法actionPerformed)。
    源程序实现的任务是实现如下图所示的图形用户界面:

    这里写图片描述

    (1)可以在“请输入文件路径和名称:”后面的文本框中输入文件名和路径。
    (2)可以在文本区中写文本,例如,文本区中的前三行内容。
    (3)可以在“请输入需要追加的内容:”后面的文本域中输入内容,按回车键之后,其中的内容会添加到文本区中(添加的内容另起一行),例如,文本区中的“北京”。
    (4)单击“将文本区的内容写入文件”按钮,文本区中的内容就会被写到指定的文件中,如下图所示。

    这里写图片描述


    二、代码

    public class GUI
    {
        //临时变量存放文件名
        static File file = null;
        public static void main(String[] args)
        {
            //JFrame窗体
            JFrame jFrame = new JFrame();
            //中间容器
            JPanel jPanel = new JPanel();
            ScrollPane ScrollPane = new ScrollPane();
            //组件
            JLabel jL1 = new JLabel("文件名称:");
            JTextField jTF1 = new JTextField("请输入文件路径和名称...", 20);
            JTextArea jTextArea = new JTextArea(15, 15);
            jTextArea.setEditable(false);//设置jTextArea不可编辑
            JButton jB1 = new JButton("选择文件");
            JTextField jTF2 = new JTextField("请输入需要追加的内容...", 20);
            JLabel jL2 = new JLabel("追加内容:");
            JButton jB2 = new JButton("写入文件");
            //添加组件
            jPanel.add(jL1);
            jPanel.add(jTF1);
            jPanel.add(jB1);
            jPanel.add(jL2);
            jPanel.add(jTF2);
            jPanel.add(jB2);
            jPanel.add(jTextArea);
            jFrame.add(jPanel,BorderLayout.NORTH);
            ScrollPane.add(jTextArea);
            jFrame.add(ScrollPane,BorderLayout.CENTER);
            //设置北区大小
            jPanel.setPreferredSize(new Dimension(0,80));
            //使用工具类进行初始化
            JFrameUtil.initFrame(jFrame, 490, 500);
            //为jTF1新建鼠标监听事件
            jTF1.addMouseListener(new MouseAdapter()
            {
                //鼠标移入清除默认提示
                public void mouseEntered(MouseEvent e)
                {
                    JTextField f = (JTextField) e.getSource();
                    if ("请输入文件路径和名称...".equals(f.getText()))
                    {
                        f.setText(null);
                    }
                }
                //鼠标移出,若内容为空则恢复提示
                public void mouseExited(MouseEvent e)
                {
                    JTextField f = (JTextField) e.getSource();
                    if ("".equals(f.getText()) || f.getText() == null)
                    {
                        f.setText("请输入文件路径和名称...");
                    }
                }
            });
            //为jTF1新建回车监听事件
            jTF1.addActionListener(new AbstractAction()
            {
                public void actionPerformed(ActionEvent e)
                {
                    JTextField f = (JTextField) e.getSource();
                    file = new File(f.getText().trim());
                    try
                    {
                        Reader reader = new FileReader(file);
                        char[] cbuf = new char[1024];
                        int length;
                        while((length = reader.read(cbuf))!=-1)
                        {
                            jTextArea.setText(new String(cbuf,0,length));
                        }
                    } catch (IOException ex)
                    {
                        ex.printStackTrace();
                    }
                }
            });
            //为jB1新建点击监听事件
            jB1.addActionListener(new AbstractAction()
            {
                public void actionPerformed(ActionEvent e)
                {
                    FileDialog dialog = new FileDialog(jFrame, "请选择文件", FileDialog.LOAD);
                    dialog.setVisible(true);
                    //获取用户选择的文件名
                    String path = dialog.getDirectory();
                    String filename = dialog.getFile();
                    if(path!=null||filename!=null)
                    {
                        jTF1.setText(path + filename);
                    }
                    try
                    {
                        file = new File(path,filename);
                        Reader reader = new FileReader(file);
                        char[] cbuf = new char[1024];
                        int length;
                        while((length = reader.read(cbuf))!=-1)
                        {
                            jTextArea.setText(new String(cbuf,0,length));
                        }
                    } catch (IOException ex)
                    {
                        ex.printStackTrace();
                    }
                }
            });
            //为jTF2新建鼠标监听事件
            jTF2.addMouseListener(new MouseAdapter()
            {
                public void mouseEntered(MouseEvent e)
                {
                    JTextField f = (JTextField) e.getSource();
                    if ("请输入需要追加的内容...".equals(f.getText()))
                    {
                        f.setText(null);
                    }
                }
            });
            //为jTF2新建回车监听事件
            jTF2.addActionListener(new AbstractAction()
            {
                public void actionPerformed(ActionEvent e)
                {
                    JTextField f = (JTextField) e.getSource();
                    if(f.getText()==null||f.getText().length()==0)
                    {
                        JOptionPane.showMessageDialog(jFrame,"请输入追加内容","通知",JOptionPane.INFORMATION_MESSAGE);
                    }
                    else
                    {
                        jTextArea.setText(jTextArea.getText() + f.getText() + "\r\n");
                    }
                    jTF2.setText(null);
                }
            });
            //为jB2新建点击监听事件
            jB2.addActionListener(new AbstractAction()
            {
                public void actionPerformed(ActionEvent e)
                {
                    try
                    {
                        FileWriter fileWriter = new FileWriter(file);
                        //获取文本域的内容
                        String content = jTextArea.getText();
                        System.out.println(jTextArea.getText());
                        //写出内容
                        fileWriter.write(content);
                        fileWriter.close();
                        JOptionPane.showMessageDialog(jFrame,"写入成功","恭喜",JOptionPane.INFORMATION_MESSAGE);
                    } catch (IOException ex)
                    {
                        ex.printStackTrace();
                    }
                }
            });
    
        }
    }
    
    //该类为JFrame工具类,用于初始化Frame窗口
    class JFrameUtil
    {
        //获取屏幕分辨率
        public static void initFrame(JFrame frame, int width, int height)
        {
            //设置窗体可见性
            frame.setVisible(true);
            //frame.setSize(300,400);
            //获取一个与系统相关的工具类对象,获取电脑分辨率
            Toolkit toolkit = Toolkit.getDefaultToolkit();
            Dimension dimension = toolkit.getScreenSize();
            //左上角x坐标、左上角y坐标、窗体的宽、窗体的高
            int x = (int) dimension.getWidth();
            int y = (int) dimension.getHeight();
            //设置窗体(左上角)出现的位置,将位置设置成最中间
            frame.setBounds((x - width) / 2, (y - height) / 2, width, height);
            //设置关闭选项
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //设置窗体不可改变大小
            frame.setResizable(false);
        }
    }

    三、运行截图

    这里写图片描述

    展开全文
  • Java图形用户界面1—GUI、AWT、组件和容器概述

    千次阅读 多人点赞 2011-10-18 21:23:54
    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。图形用户界面包括...
  • Java 图形用户界面编程

    千次阅读 多人点赞 2019-03-27 14:03:29
    要进行Java的图形用户界面编程就需要学习Java的API,即Application Programming Interface——应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又...
  • java图形用户界面基础

    万次阅读 多人点赞 2016-11-26 21:27:52
    Swing和AWT介绍java的时候,将图形用户界面相关类捆绑在一起,放在一个称为抽象窗口工具箱(Abstract Window Toolkit,AWT)的库中。AWT适合开发简单的图形用户界面,但并不适合开发复杂的GUI项目。除此之外,AWT更容易...
  • Java GUI图形用户界面简介

    千次阅读 2013-07-24 19:57:17
     抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括: ...
  • java的几种基础的布局管理器为FlowLayout(流水布局)、BorderLayout(边界布局)、GridLayout(网格布局)、CardLayout(卡片布局),还有其他几种更复杂的布局管理器这里就不做示例了。 示例代码如下:import ...
  • Java——用户界面的布局

    千次阅读 2016-09-23 13:49:58
     开始为Java程序设计图形用户界面时,面临的一个障碍是组件会移动。容器大小发生变化时,容器中的组件将会根据容器的新尺寸重新排列。这种变化对程序员有利,因为它考虑到了界面组件在不同操作系统中的显示方式。...
  • 轻松实现Java 用户界面编程

    千次阅读 2005-04-19 16:13:00
    Buoy 是一个构建在 Swing 之上的免费用户界面... 第一次尝试用 Java 语言构建简单的用户界面时,我对 Swing 接口的复杂性感到有些惊讶。老实说,有点想打退堂鼓。最近,一个朋友向我提到,他使用的渲染程序 Art of Ill
  • AWT(Abstract Windowing Toolkit),抽象窗口工具包,是SUN公司在发布JDK1.0时一个重要的组成部分,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT中的所有工具类都保存在java.awt包中,此包中的...
  • JavaJava图形化用户界面-GUI

    万次阅读 2017-08-16 13:00:00
    摘要:本文讲解了Java基础中的图形用户界面的主要实现,包括:布局管理器、容器等内容
  • Java图形界面编程

    万次阅读 多人点赞 2019-02-23 22:23:45
    一、Java图形用户界面(gui)介绍 1、Java GUI简介   图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。   Sun已经提供了一个跨平台GUI开发工具包AWT...
  • Java图形界面——Swing包中的常用

    万次阅读 多人点赞 2017-01-03 20:25:17
    介绍了Java中Swing库控件的简单用法
  • Java图形用户界面设计

    千次阅读 多人点赞 2014-11-28 20:23:26
    但是,同样是从论坛中,看到多数人提到 Java 就以为是网络开发——不是这样的,Java 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,也就是 Windows/XWindow 应用程序。因此,我写下这篇文章,...
  • Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入...
  • java组件和容器

    千次阅读 2013-10-02 08:44:45
    Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才...
  • Java_图形用户界面(AWT)

    千次阅读 2019-02-02 09:21:20
    AWT(抽象窗口工具包)是JAVA提供的建立图形用户界面GUI的开发包,可用于JAVA的Applet和Application中 —————————————— 组件,容器,布局管理器 JAVA.awt包 JAVA.awt包提供了设计GUI使用的类和接口 ...
  • Java 图形用户界面设计

    千次阅读 2013-10-03 15:51:34
    但是,同样是从论坛中,看到多数人提到 Java 就以为是网络开发——不是这样的,Java 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,也就是 Windows/XWindow 应用程序。因此,我写下这篇文章,...
  • Java编写图形用户界面知识点 1、概念:抽象窗口工具包AWT(Abstract Window Toolkit)是Java提供的建立图形用户界面GUI(Graphics User Interface)的开发包,AWT可用于java的Applet和Application中。 2、Component...
  • java-GUI图形用户界面

    千次阅读 多人点赞 2019-04-09 19:03:44
    java-GUI图形用户界面 图形用户界面GUI(Graphical User Interface),指的是在一个程序中用户可以看到的和与之交互的部分。 JavaAPI中提供两套组件用于支持编写用户界面AWT and Swing。 java在初期借助一种...
  • JAVA的图形用户界面布局GUI入门(上)

    万次阅读 多人点赞 2017-09-14 21:29:25
    java的GUI企业里面用的比较少,现在主流的UI都使用HTML5 开发。Java提供了三个主要包 做GUI开发:java.awt 包 – 主要提供字体/布局管理器 javax.swing 包[商业开发常用] ...界面主要包括:组件/控件 – 就是界面中的
  • Java图形用户界面——Swing概述

    千次阅读 2015-11-04 15:47:34
    Java2中提供了轻量级的图形界面组件——Swing,Swing使用Java语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松地构建用户界面。 在Java中所有的Swing都保存在javax.swing包中,从包的名称...
  • 注意:像JButton 这种GUI组件只可以添加到一...面板的作用就是分组放置用户界面组件的子容器。 可以将这些按钮添加到面板(JPanels)中,然后再将这个面板添加到框架中。 setLayout是在java.awt.Container中定义的,JPa

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,885
精华内容 35,154
关键字:

常用的java用户界面容器

java 订阅