`

Java中frame对象

    博客分类:
  • Java
阅读更多
1. Java中frame对象

1. Frame对象
import java.awt.Color;
import java.awt.Frame;
public class MyFrame extends Frame {
    public MyFrame(String title) {
        super(title);
    }
    public static void main(String[] args) {
        MyFrame frame = new MyFrame("First GUI app");
        frame.setSize(500, 500);
        frame.setBackground(Color.GREEN);
        frame.setVisible(true);
    }
}

2. Panel对象
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
public class FrameWithPanel extends Frame{
    public FrameWithPanel(String title){
        super(title);
    }
    public static void main(String[] args) {
        FrameWithPanel frame = new FrameWithPanel("frame with panel");
        Panel panel = new Panel();
        frame.setSize(200, 200);
        frame.setBackground(Color.BLACK);
        frame.setLayout(null);
        panel.setSize(100, 100);
        panel.setBackground(Color.YELLOW);
        frame.add(panel);
        frame.setVisible(true);
    }
}

3. lowLayout布局
pack()方法: 根据窗口里面的布局及组件的 preferedSize来确定frame的最佳大小

1) 默认布局
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
public class ExGui {
    private Frame frame;
    private Button button1;
    private Button button2;
    public void go(){
        frame = new Frame("gui example");
        // frame.setLayout(new FlowLayout());
        button1 = new Button("Press me");
        button2 = new Button("Don't press me");
        frame.add(button1);
        frame.add(button2);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        ExGui window = new ExGui();
        window.go();
    }
}

2) BorderLayout布局
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;

public class ExGui2 {
    private Frame frame;
    private Button bn, bs, bw, be, bc;
    public void go(){
        frame = new Frame("Border Layout");
        bn = new Button("B1");
        bs = new Button("B2");
        bw = new Button("B3");
        be = new Button("B4");
        bc = new Button("B5");
        frame.add(bn, BorderLayout.NORTH);
        frame.add(bs, BorderLayout.SOUTH);
        frame.add(bw, BorderLayout.WEST);
        frame.add(be, BorderLayout.EAST);
        frame.add(bc, BorderLayout.CENTER);
        frame.setSize(200, 200);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        ExGui2 gui = new ExGui2();
        gui.go();
    }
}

3) FlowLayout布局
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
public class MyFlow {
    private Frame frame;
    private Button button1, button2, button3;
    public void go(){
        frame = new Frame("Flow Layout");
        //使用FlowLayout替换掉默认的BorderLayout布局管理器
        frame.setLayout(new FlowLayout()); 
        button1 = new Button("hello");
        button2 = new Button("world");
        button3 = new Button("welcome");
        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
        frame.setSize(100,100);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        MyFlow flow = new MyFlow();
        flow.go();
    }
}

4. 综合使用
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
public class GridEx {
    private Frame frame;
    private Button b1, b2, b3, b4, b5, b6;
    public void go(){
        frame = new Frame("Grid Layout");
        frame.setLayout(new GridLayout(3, 2));
        b1 = new Button("1");
        b2 = new Button("2");
        b3 = new Button("3");
        b4 = new Button("4");
        b5 = new Button("5");
        b6 = new Button("6");
        frame.add(b1);
        frame.add(b2);
        frame.add(b3);
        frame.add(b4);
        frame.add(b5);
        // frame.add(b6);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        GridEx grid = new GridEx();
        grid.go();
    }
}

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
public class ExGui3 {
    private Frame frame;
    private Panel panel;
    private Button b1, b2, b3, b4;
    public void go(){
        frame = new Frame("complex layout");
        b1 = new Button("West");
        b2 = new Button("hello");
        frame.add(b1, BorderLayout.WEST);
        frame.add(b2, BorderLayout.CENTER);
        panel = new Panel();
        b3 = new Button("world");
        b4 = new Button("welcome");
        panel.add(b3);
        panel.add(b4);
        frame.add(panel, BorderLayout.NORTH);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        ExGui3 gui = new ExGui3();
        gui.go();
    }
}
分享到:
评论

相关推荐

    Java cs frame弹窗控件

    本实例主要关注Java中的"cs frame弹窗控件",即窗口和对话框的使用,以及事件处理和JComboBox下拉列表的操作。 首先,`frame`在Java Swing中指的是JFrame类,它是顶级容器,用于创建应用程序的主要窗口。JFrame是...

    JAVAFrame与MYSQL实现JDBC简单程序

    在Java编程领域,JavaFrame与MYSQL的结合是常见的数据交互方式,主要依赖于Java Database Connectivity(JDBC)技术。JDBC是Java平台中用于访问数据库的标准API,它允许Java应用程序与各种类型的数据库进行通信。本...

    java frame的使用

    Java Frame的使用是Java GUI编程中的基础,它主要用于创建窗口应用程序。在Java AWT(Abstract Window Toolkit)库中,`java.awt.Frame`类是顶级容器,可以用来展示其他组件,如按钮、文本框等,从而构建用户交互...

    ButtonFrame.class

    这个例子展示了Java编程中的事件驱动模型,以及如何通过OOP(面向对象编程)来组织和管理代码。同时,也体现了Java的多态性,因为ActionListener接口可以被任何实现了相应方法的类实例化,包括匿名内部类。 总结来...

    java frame大鱼吃小鱼背景音乐键盘监听

    在这个游戏中,开发者可能创建了一个`Clip`对象来加载并循环播放背景音乐文件,确保音乐在整个游戏过程中持续播放。 键盘监听是通过`KeyListener`接口实现的。在`JFrame`或者某个可视组件上添加监听器,可以捕捉到...

    《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

    13. 在 Java 中,界面元素有多种,例如 Dialog、Frame、List、Panel 等。 14. 在 Java 中,异常处理可以使用 try-catch-finally 语句捕获异常,使用 throw 语句抛出异常。 15. 在 Java 中,迭代器(Iterator)接口...

    java学习笔记Frame JFrame和源代码

    在这个"java学习笔记Frame JFrame和源代码"的压缩包中,我们可以找到一些关键的Java知识点,特别是关于图形用户界面(GUI)和数据库操作的部分。让我们逐一探讨这些主题。 首先,`Frame`和`JFrame`是Java Swing库中...

    人事管理系统(java+frame)

    首先,Java作为后端开发的主流语言,以其跨平台、面向对象的特点,被广泛应用于各种企业级应用的开发,包括人事管理系统。Java的稳定性和强大的库支持使得开发高效、安全的系统成为可能。在本系统中,Java主要负责...

    JAVA Swing日期选择控件datepicker

    在Java Swing中并没有内置的DatePicker组件,但开发者可以借助第三方库来实现这一功能,例如JCalendar。 `datepicker.jar` 文件很可能就是一个包含DatePicker组件的第三方库,它可能包含了预定义的DatePicker类和...

    Application程序,在Frame中加入2个按钮(Button)和1个标签(Label)

    本示例中的【标题】"Application程序,在Frame中加入2个按钮(Button)和1个标签(Label)"描述了一个基础的GUI应用,其中包含两个Button对象和一个Label对象。【描述】进一步说明了功能:当用户点击任一按钮时,Label将...

    Java Swing 日期时间组件

    在Java Swing中,创建一个`DateChooser`组件的基本步骤如下: 1. 引入JDatePicker库:首先,你需要在项目中引入JDatePicker库,通常通过Maven或Gradle的依赖管理来完成。 2. 创建Date Picker实例:使用`JDatePicker...

    面向对象的程序设计(JAVA)第一次作业

    面向对象的程序设计是计算机科学中的核心概念,尤其是在Java编程语言中。本次“面向对象的程序设计(JAVA)第一次作业”是由清华大学郑莉教授主讲的课程的一部分,涵盖了1-5章的内容,主要涉及Java语言的基础知识和...

    Java面向对象程序设计面向对象程序设计_名词解释

    OOP(Object-Oriented Programming,面向对象程序设计)是一种编程范式,其基本概念是将数据(属性)和操作数据的方法(行为)封装在一个对象中。一个对象可以包含多个实例变量和方法,这样可以模拟现实世界中的一些...

    Javacv处理视频,提取成帧图片,生成gif

    在这个项目中,我们使用 JavaCV 来处理视频,将视频帧提取为图片,并进一步生成 GIF 动画。以下是关于这个主题的详细知识点: 1. **JavaCV**: - JavaCV 是一个基于 Java 的框架,它通过 JavaCPP(Java 与 C++ 互...

    SSM_java_Frame_ssm_mybatis_

    SSM框架集是Java开发中的常见技术栈,它由Spring、SpringMVC和MyBatis三个组件构成,分别负责不同的职责。Spring作为一个全能型的框架,提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,极大地简化了Java应用...

    Java文件对话框---FileDialog.pdf

    Java中的`FileDialog`类是`Dialog`类的一个子类,专用于实现文件操作的有模式对话框,主要包括打开文件和保存文件的功能。在Java AWT(Abstract Window Toolkit)库中,`FileDialog`提供了与操作系统集成的简洁接口...

    JAVA简单实现截屏

    在Java编程语言中,实现截屏功能并不复杂,主要依赖于Java AWT(Abstract Window Toolkit)库中的Robot类。Robot类提供了模拟用户键盘和鼠标操作的功能,包括获取屏幕的像素数据,这正是我们进行截屏操作的核心。接...

    java中方法重载内存分析

    当一个方法被调用时,JVM会在栈内存中创建一个栈帧(Stack Frame),这个栈帧包含了局部变量表、操作数栈、动态链接和方法返回地址等信息。对于方法重载,每次调用不同的重载方法,都会在栈上创建一个新的栈帧,每个...

    在matlab中使用java

    2. **创建Java对象**:用户可以在MATLAB环境中创建Java对象,并使用这些对象的方法和属性。 3. **使用Java语法或MATLAB语法**:对于Java对象的使用,MATLAB提供了两种语法:Java标准语法和MATLAB风格的语法。 4. **...

Global site tag (gtag.js) - Google Analytics