首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用JTextField,JButton和JLabel构建一个带有图形区域paintComponent的JFrame窗口?

要用JTextField,JButton和JLabel构建一个带有图形区域paintComponent的JFrame窗口,你可以按照以下步骤进行:

  1. 导入必要的Java类库:
代码语言:txt
复制
import javax.swing.*;
import java.awt.*;
  1. 创建一个继承自JFrame的类,并实现一个继承自JPanel的内部类,用于绘制图形:
代码语言:txt
复制
public class MyFrame extends JFrame {
    
    private MyPanel panel;
    
    public MyFrame() {
        panel = new MyPanel();
        add(panel);
        
        // 设置窗口属性
        setTitle("My Frame");
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }
    
    private class MyPanel extends JPanel {
        
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            
            // 在这里绘制你的图形
            // 可以使用Graphics类提供的方法进行绘制,如g.drawLine(), g.drawRect()等
        }
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new MyFrame());
    }
}
  1. 在MyPanel类的paintComponent方法中,根据需要使用Graphics类提供的方法绘制图形。例如,可以在窗口中绘制一个矩形:
代码语言:txt
复制
@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    
    g.drawRect(50, 50, 200, 100);
}
  1. 在MyFrame的构造方法中,创建JTextField、JButton和JLabel,并将它们添加到窗口中的适当位置:
代码语言:txt
复制
public MyFrame() {
    panel = new MyPanel();
    add(panel);
    
    // 创建JTextField
    JTextField textField = new JTextField();
    textField.setBounds(50, 200, 200, 30);
    add(textField);
    
    // 创建JButton
    JButton button = new JButton("Click");
    button.setBounds(50, 250, 100, 30);
    add(button);
    
    // 创建JLabel
    JLabel label = new JLabel("Label");
    label.setBounds(50, 300, 100, 30);
    add(label);
    
    // 设置窗口属性
    setTitle("My Frame");
    setSize(500, 500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setVisible(true);
}
  1. 运行程序,即可看到带有图形区域和相应组件的JFrame窗口。

这是一个简单的示例,你可以根据需要进行扩展和修改。在实际开发中,你可以使用更多的Swing组件和绘图方法来实现更复杂的界面和图形效果。

注意:本回答中没有提及任何云计算品牌商的相关产品和链接地址,如需了解相关产品和服务,请自行搜索或参考腾讯云官方文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数据库课程设计-宿舍管理系统「建议收藏」

大家好,又见面了,我是你们朋友全栈君。 最近写完了数据库课程设计,想把整个源码编辑过程发出来。程序很简单,需要有很多完善地方,在这里,我想大家分享写这个程序心路历程。...我们需要先写一些工具类,来辅助完成整个程序构建,在这里我把连接jdbc代码放在了一个包下面。...其中两个是负责,数据库连接释放。jdbcExecuteUpdate负责传递SQL增加,修改,删除,不需要有结果集语句。...具体构建过程就是,在JFrame里添加JMenu,用来表示要放置菜单选项,在JMenu里面放置JMeunItem用来表示菜单子选项。其中,用了JLabel来存放图片。...具体搭建界面如下: public class Login extends JFrame { private JButton loginButton,exitButton; private JLabel

2K11
  • Java中规模软件开发实训——掌握财务自由关键!解锁智能家庭记账系统神奇力量!(家庭记账软件)

    ☀️项目一:家庭记账软件 一、 实验内容 《家庭记账管理软件》是一个利用Java Swing图形界面创建应用程序,旨在帮助家庭记录管理收入支出,并提供支出明细表打印功能。...记账方便性:传统手写记账可能繁琐且容易出错,而该软件提供了一个简单直观图形界面,使记账变得更加方便准确。用户可以通过输入相关信息,快速记录收入支出,而且软件会自动计算管理数据。...setTitle("家庭记账管理系统"); // 设置窗口标题 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭操作为退出程序...这段代码是一个简单家庭记账管理系统,使用Java Swing构建一个图形用户界面。代码实现了添加收入、添加支出、显示收支明细清空记录等功能。...通过完成这个项目,我对Java Swing使用有了更深入理解,并且学会了如何设计实现一个简单图形用户界面应用程序。我也意识到良好代码结构注释对于代码可读性可维护性是非常重要

    18210

    疯踏java知识点-进阶精讲篇

    java.awt包:——抽象窗口工具包 javax.swing包: 组件:是具有图形表示对象,该图形表示可以显示在屏幕上并且可以 用户交互 JFrame 一个顶层窗口...构造方法 JFrame():构造一个最初不可见窗体 成员方法 void setVisible(boolean b):显示或隐藏窗口 void setSize(int width...jf.setVisible(true); } } JButton 按钮实现 构造方法 JButton(String text):创建一个带文本按钮 成员方法...短文本字符串或图像显示区域 构造方法 JLabel(String text):使用指定文本创建JLabel实例 JLabel(lcon image):使用指定图像创建JLabel...); jf.setVisible(true); } } 通过丰富案例详细知识点讲解,丰富案例详细知识点讲解,希望能对大家带来点帮助。

    18920

    java swing入门教程_java swing基础(菜鸟教程学习)

    Java Swing介绍 1.Swing是一个为java世纪GUI工具包 2.Swing是JAVA基础类一部分 3.Swing包括了图形用户界面(GUI)器件:文本框,按钮,分隔窗格表 4个器件...createAndShowGUI(){ //创建一个漂亮外观风格 JFrame.setDefaultLookAndFeelDecorated(true); //创建及设置窗口 JFrame frame...void main(String[] args) { //好,日常用JFrame创建一个窗口对象frame,然后设置关闭建 JFrame frame = new JFrame(“Login Example...”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //多了一个对frame对象窗口操作,嗯 设计下窗口大小还不错 frame.setSize...JPanel java图形用户界面(GUI)工具包swing中面板容器类,包含在javax.swing包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能组件进行组合,是一种轻量级容器,可以加入到JFrame

    2.5K20

    java学习之路:32.史上最全Swing常用组件

    JComboBox 代表Swing下拉列表框,可以在下拉显示区域显示多个选项 JFrame 代表Swing框架类 JDialog 代表Swing版本对话框 JLabel 代表Swing中标签组件...JButton(Icon icon) 创建带有图标的按钮 JButton(String text, Icon icon) 创建带有初始文本图标的按钮 JButton(Action a) 创建一个按钮...JFrame(GraphicsConfiguration gc) 在屏幕设备指定图形配置中创建一个框架一个空白标题。...JFrame(String title, GraphicsConfiguration gc) 创建具有指定标题指定屏幕设备图形配置JFrame。 1.使用指定标题创建一个最初不可见新框架。...JTextField(Document doc, String text, int columns) 构造一个JTextField,该字段使用给定文本存储模型给定列数。

    7K32

    java swing一篇轻松学习(高考后可以自学)

    1、swing窗口和面板容器 窗口:(JFrame) 这里是类继承【JFrame】,然后完成基本设置,一定要显示true,不然看不见。...setDefaultLookAndFeelDecorated (boolean defaultLookAndFeelDecorated) 设置 JFrame 窗口使用 Windows 外观(边框、...创建一个标签 JLabel lable=new JLabel("lable就是一个文本"); //获取本窗口内容窗格 Container c=getContentPane(); //将...getText() 返回 JLabel 所显示文本字符串 Component getLabelFor() 获得将 JLabel 添加到组件 int getIconTextGap() 返回此标签中显示文本图标之间间隔量...本文虽然没有写数据库操作,但是后面会有一篇图形化框架操作,我会在那一篇文章里搞定

    9.4K10

    Java入门(12)-- Swing程序设计

    12.1 Swing概述 GUI(图形用户界面)为程序提供图形界面,它最初设计目的是为程序员构建一个通用GUI,使其能够在所有的平台上运行,但Java1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要求...,于是Swing出现了,它是AWT组件增强组件,但是它并不能完全替代AWT组件,这两种组件需要同时出现在一个图形用户界面中。...12.1.2 Swing包 Swing组件层次继承关系: 12.1.3 常用Swing组件概述 12.2 常用窗体 12.2.1 JFrame窗体 JFrame窗体是一个容器,它是Swing...; HIDE_ON_CLOSE:隐藏窗口默认窗口关闭; EXIT_ON_CLOSE:退出应用程序默认窗口关闭。...JLabel类常用几种构造方法: public JLabel():创建一个不带图片和文本JLabel对象; public JLabel(Icon icon):创建一个带图标的JLabel对象 public

    5.4K10

    java swing开发窗体程序开发(一)GUI编程

    运行效果如下 (二)带有菜单栏,菜单条,子菜单窗体程序 首先要知道几个常见类函数 JMenuBar:代表菜单条,他需要被设置给JFrame窗体中 JMenu:代表菜单,他需要被放在菜单条中...: 其双参构造方法:第一个是菜单项名字,第二个是菜单项图标 /** * 创建一个带菜单条,菜单项,子菜单窗口 */ public class MainForm extends JFrame...这些组件都继承至JComponent 常用JTextField:单行文本输入 JTextArea:多行文本输入 JButton:按钮 JLabel:标签,用于显示提示信息 JCheckBox...类中,JFrame叫做底层容器,然而在实际开发为了更好使用【例如实现同一个窗口切换选项卡有不同面板】 这些组件并不是直接添加在底层容器。...2:BorderLayout布局:表示将这个容器划分为5个部分,东西南北中【上下左右中】 中间区域最大,所加入组件都应该指明其属于哪一个区域

    2.8K30

    Java课程设计——学生成绩管理系统

    介于此提出了学生成绩管理系统,学生管理系统是计算机对学生档案信息进行管理,具有手工管理无可比拟优点,索检迅速、查找方便、可靠性高、存储量大等有点。...学生成绩管理系统是为了更好管理学生考试成绩而开发数据管理软件。它对于一个学校是不可缺少重要部分,它内容对于学校决策者管理者来说都至关重要。...友好的人机交互模式,清晰简明图形界面,高效安全操作使得我们对成千上万信息管理得心应手。...1.2 系统需求分析 实现数据录入(添加)、删除、修改 按姓名或学号查询 按照成绩排序,按照成绩段统计汇总 2 设计思路 系统通过窗口显示并以菜单方式工作,; 能查询、修改删除文件中考生信息; 能够显示全部考生信息...Connection 主类 Main 类 将连接数据库操作封装在主类中,定义一个静态方法,该方法返回一个连接数据库 Connection 类型引用,以便随时方便连接数据库。

    4K21

    【课后练习分享】Java用户注册界面设计求三角形面积图形界面程序

    、密码输入框,性别单选按钮,表示爱好 篮球、足球、乒乓球复选框,表示学历下拉列表框,“注册”按钮“取消”按钮。...2.设计一个求三角形面积图形界面程序,要求通过3个输入框输入3个边长,当单 击“计算”按钮时,能够计算以输入3个边长所形成三角形面积。...= new JLabel("Side C:"); JTextField sideCField = new JTextField(); JButton calculateButton...: 这两个程序分别实现了用户注册三角形面积计算图形界面。...第一个程序包含用户名、密码输入框,性别单选按钮,爱好复选框,学历下拉列表框,以及注册取消按钮。

    4500

    漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有感

    前篇回顾:上篇《漫谈可视化Prefuse(二)---一分钟学会Prefuse》主要通过一个Prefuse具体实例了解了构建一个Prefuse application具体步骤。...Table: 表格是由一系列行列数组组成,每一行即为一个数据记录,每一列是由指定数据域和数据类数据组成。表格数据可以直接通过使用行数列名称进行访问。 表格行可以插入删除。...但是为了提高用户可操作性,也为了熟悉Java图形编程如何进行界面之间传值,对上面文章中例子进行了改进,将部分参数端口号、数据库用户名、密码等信息开放给用户填写,提高程序可操作性灵活性,后期实际开发还会能够让用户在多中数据库之间切换...我界面传值思路:首先创建一个接收读取数据对象config,在填写参数界面中画出文本框供用户填写参数,在完成按钮中添加监听事件,将所填信息赋给对象config,并执行在父界面中画出读取数据构成图形...(4)图形显示在父界面并关闭配置窗口: 061029400927699.jpg 因为之前对于SwingAWT编程不是很熟悉,考虑在界面传值也可以做,但是对于多个字符串传值可能逻辑比较复杂,这里采用一个

    1.2K100

    java swing图形化界面_javagui界面设计

    Swing 包含了构建图形界面(GUI)各种组件,: 窗口、标签、按钮、文本框等。 Swing 提供了许多比 AWT 更好屏幕显示元素,使用纯 Java 实现,能够更好兼容跨平台运行。...为了 AWT 组件区分,Swing 组件在javax.swing.*包下,类名均以 J 开头,例如: JFrameJLabelJButton等。 2....一个简单窗口组成,如下层级结构所示: 顶层容器 菜单栏 中间容器 基本组件 基本组件 组件类型继承关系: 顶层容器 属于窗口类组件,继承自java.awt.Window; 中间容器 基本组件...2.1 顶层容器 顶层容器属于窗口类组件,可以独立显示,一个图形界面至少需要一个窗口,例如: # 组件 描述 1 JFrame 一个普通窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器...常用简单基本组件: # 组件 描述 1 JLabel 标签 2 JButton 按钮 3 JRadioButton 单选按钮 4 JCheckBox 复选框 5 JToggleButton 开关按钮

    1.6K50

    Java课程设计【学生信息管理系统】

    四、概要设计 1、类之间调用关系 2、学生信息模块 3、系统管理模块 4、详细设计 ①主程序LoginGUI代码 主要实现了系统登录窗口登录之后进入信息管理窗口,还有增删改查功能。...bLogin=new JButton("登录"); private JButton bCancel=new JButton("取消"); //设置运行时窗口大小 Dimension faceSize...lFileName=new JLabel("请选择上传照片"); private JTextField tFileName=new JTextField(15); private JButton bBrowse...在里面没有上传照片下载图片这一选项。我在View这个程序里面首先添加了本地图片作为图标可供下载,然后选定一个文件夹Config作为上传路径。...六、用户使用说明 1、登录 (1)程序设计任务是先设计出一个登录窗口,输入用户名密码。

    5.5K21

    java超市仓库管理系统(超市条形码管理系统)

    ,要求如下: 1、商品管理页面布局,添加一个JScrollPanel(内嵌JTable),用来显示所有商品信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;...五、注意事项 A、仔细审题,把题目要求理解准确; B、请注意按照界面的设计要求来进行窗体设计; C、请注意代码书写、命名符合规范适当注释; 评分标准:超市管理系统—商品管理(查询及删除商品)...this.setResizable(false);//让窗口大小不可改变 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户单击窗口关闭按钮时程序执行操作...; public class GoodsXG extends JFrame { private JTextField id,name,num,price; private JButton button...; public class GoodsADD extends JFrame { private JTextField id,name,num,price; private JButton button

    3.5K20

    MYSQL数据库文档生成器

    一、概述     平常会遇到编写文档类工作,尤其是数据库,要把每张表详细字段列出来,手写实在费劲,从网上找了很多,都没有那种直接GUI输入参数,一键生成,所以自己花时间做了一个,功能很简陋,但是基本需求可以实现...; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel...int height = frame.getHeight();// 获取窗口宽度 // 将lable放在 窗口左边1/3处 comboBox.setBounds(100, 20...int height = frame.getHeight();// 获取窗口宽度 // 将lable放在 窗口左边1/3处 comboBox.setBounds(100, 20...四、说明     目前实现功能很简单,其实还可以增加忽略表功能,但现在用不到。

    4.4K20

    基于mysql简单图书管理系统_图书管理系统

    因为这两天要做数据库课设但是本人又很菜就做了一个简单系统,简单实现了增删改查,数据库用是mysql,但是数据库权限功能都没有实现,就是程序比较简陋,新手程序员可以参考一下~ 题目内容 图书管理系统...开发要求 ○1 进行新书入库、现有图书信息修改以及删除; ② 能够实现对读者基本信息查询编辑管理; ③ 能够实现预约功能; ④ 能够实现借阅信息查询功能; (2) 开发环境及工具 系统前台开发软件...("无法加载驱动."); } try { con = DriverManager.getConnection(URL, "root", "123456");//这里输入你自己安装MySQL时候设置用户名密码...= new JTextField("",20); JTextField jtdepartment = new JTextField("",20); JButton buttonadd = new JButton...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.8K10

    Java学习代码合集

    其实我学习java最根本原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮界面的程序,因为C总是控制台,我不是很喜欢,在这份java代码合集中,我会记录自己学习Java界面化编程点点滴滴..."); int a=scanner.nextInt(); System.out.printf("%d平方是%d\n",a,a*a); } } Java图形化界面求数平方...AppFrame(); } } class AppFrame extends JFrame { JTextField in=new JTextField(10); JButton...btn=new JButton("求平方"); JLabel out=new JLabel("用于显示平方结果标签"); public AppFrame() {...,首先看我修改一个拙劣界面版本模板: 这样其实就好了很多,起码可以看到加数是哪些了,代码很简单,只需要在输出那行添加上n1n2信息就可以了。

    46130
    领券