Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何组合GUI类和扫描器类?

如何组合GUI类和扫描器类?
EN

Stack Overflow用户
提问于 2014-10-07 14:26:42
回答 1查看 1.1K关注 0票数 1

我是java的新手,我正在尝试创建一个程序,它将首先要求用户输入一些数字,然后输出一个卷、面积等等。另外,我想显示一个矩形,我不知道如何做,因为我的程序运行良好,只是不会显示矩形。我能做什么?

代码语言:javascript
运行
AI代码解释
复制
package testchap3;

import java.util.*;
import javax.swing.JApplet;
import java.awt.*;

public class Chapter_3 extends JApplet
{
    public void paint(Graphics page)
    {
        page.drawRect(50,50,60,60);
    }

    public static void main(String[] args)
    {
        int lenght,width,height,volume,Area,Perimeter;

        Scanner scan = new Scanner(System.in);

        System.out.println("What is the lenght:");
        lenght = scan.nextInt();

        System.out.println("What is the height:");
        height = scan.nextInt();

        System.out.println("What is the width:");
        width= scan.nextInt();

        volume = (lenght*height*width);
        Area= volume/height;
        Perimeter= lenght+width+lenght+width;   

        System.out.println("Your volume is:"+volume);
        System.out.println("Your Area is:"+ Area);
        System.out.println("Your perimeter is:"+Perimeter);

     }
}
EN

回答 1

Stack Overflow用户

发布于 2014-10-07 14:28:02

你的问题:

如何组合GUI类和扫描器类?

简短的回答:不要。

更长的答案:至少不要尝试将GUI和与系统绑定在一起的扫描仪结合在一起,因为这会导致两种截然相反的获取用户输入的方法:线性控制台输入和事件驱动的GUI交互。相反,为什么不让用户以事件驱动的方式通过GUI输入信息呢?否则,首先您将失去使用GUI的所有优点,并且可能会将GUI的事件线程绑定到控制台输入。

在您的例子中,我有三个JTextFields、JFormattedTextFields或JSpinners,用户可以输入数据,然后在按下一个JButton并启动它的操作之后,在另一个文本组件或JLabel中显示结果。

其他问题:您的GUI是一个JApplet,但是您已经给它一个主方法,并运行它的主要方法,这个方法永远不会工作,也不会显示GUI。请阅读GUI教程,您可以找到here。相反,显示一个JFrame,而不是applet,重写一个JPanel并在它的paintComponent方法中绘制(按照教程的方式),然后再次删除所有的扫描程序代码。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26246308

复制
相关文章
类的组合
什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外外一个类的对象 为什么用组合 组合是用来解决类与类之间代码冗余的问题 首先我们先写一个简单版的选课系统 class OldboyPe
py3study
2020/01/15
3870
类的组合
类的组合
内嵌对象的初始化使用了 初始化列表 来完成——内嵌对象必须使用初始化列表来实现初始化。举个简单的例子——现在我们有一个圆的类Circle,以及一个点坐标的类 Point,定义如下:
小飞侠xp
2022/03/23
2370
类与对象,类的继承,类的派生,类的组合,多态
在python中先有类再有对象,类和对象,你可以看成,类是把对象的相同特征和相同方法汇总再一起,再根据类来生成对象,这个对象具有类的特征与方法
小小咸鱼YwY
2019/07/24
1.2K0
Java--类和对象之组合和继承
上一篇:类和对象之初始化和清除 类的组合的实现很简单,只需要在新类中置入对象句柄即可: class Door{ //字段和方法 } class Wheel{ //字段和方法 } public class Car{ Door d = new Door(); wheel w = new wheel(); //其他字段和方法 } 类的继承需要使用关键字extends. 创建一个类时肯定会使用继承,因为每个类都是继承自根类Object.  class animal{
SuperHeroes
2018/05/22
1.1K0
Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)
QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。也可以对日历的日期范围进行规定。
不脱发的程序猿
2021/10/26
2.4K0
Python_类的组合
A类与B类之间没有共同点,但是A类与B类之间有关联,比如说,医院类与患者类是两个完全不同的类,他们之间没有任何关联,但是患者是属于医院的。此时我们就要用到类的组合来关联医院类与患者类。详细操作详见下图:
py3study
2020/01/07
4890
关于python类的组合
关于python类的组合,绞尽脑汁之后,写了一个生活中的简单例子,有需要的童鞋可以理解下,水平有限,不对的地方望指正
py3study
2020/01/06
6700
python3--类的组合,初始类的继承
圆环是由两个圆组成的,圆环的面积是外面圆的面积减去内部圆的面积。圆环的周长是内部圆的周长加上外部圆的周长
py3study
2018/08/02
7650
Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)
一般情况下,应用程序都是单线程运行的,但是对于GUI程序来说,单线程有时候满足不了需求。例如,如果需要执行一个特别耗时的操作,在执行过程中整个程序就会卡顿,效果就非常不理想或者Windows系统也认为程序运行出错,自动关闭了程序。要解决这种问题就涉及多线程的知识。
不脱发的程序猿
2021/10/13
3.3K0
python类和元类
       今天在网上看到一篇关于python语言中类和元类(metaclass)的一些讲解和简单运用,感觉对python入门的童鞋非常有帮助,分享出来,希望大家喜欢。 (一) python中的类 今天看到一篇好文,然后结合自己的情况总结一波。 这里讨论的python类,都基于python2.7x以及继承于object的新式类进行讨论。 首先在python中,所有东西都是对象。这句话非常重要要理解元类我要重新来理解一下python中的类。 class Trick(object):     pass 当python在执行带class语句的时候,会初始化一个类对象放在内存里面。例如这里会初始化一个Trick对象。 这个对象(类)自身拥有创建对象(通常我们说的实例,但是在python中还是对象)的能力。 为了方便后续理解,我们可以先尝试一下在新式类中最古老厉害的关键字type。 input: class Trick(object): pass print type('123') print type(123) print type(Trick()) output: <type 'str'> <type 'int'> <class '__main__.Trick'> 可以看到能得到我们平时使用的 str, int, 以及我们初始化的一个实例对象Trick() 但是下面的方法你可能没有见过,type同样可以用来动态创建一个类 type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值)) 这个怎么用呢,我要用这个方法创建一个类 让我们看下下面的代码 input: print type('trick', (), {}) output: <class '__main__.trick'> 同样我们可以实例化这个类对象 input: print type('trick', (), {})() output: <__main__.trick object at 0x109283450> 可以看到,这里就是一个trick的实例对象了。 同样的这个方法还可以初始化创建类的父类,同时也可以初始化类属性: input: class FlyToSky(object):     pass pw = type('Trick', (FlyToSky, ), {'laugh_at': 'hahahaha'}) print pw().laugh_at print pw.__dict__ print pw.__bases__ print pw().__class__ print pw().__class__.__class__ output: hahahaha {'__module__': '__main__', 'laugh_at': 'hahahaha', '__doc__': None} (<class '__main__.FlyToSky'>,) <class '__main__.Trick'> <type 'type'> 下面我将依次理一下上面的内容,在此之前我必须先介绍两个魔法方法: __class__这个方法用于查看对象属于是哪个生成的,这样理解在python中的所有东西都是对象,类对象也是对象。如果按照以前的思维来想的话就是类是元类的实例,而实例对象是类的实例。 __bases__这个方法用于得到一个对象的父类是谁,特别注意一下__base__返回单个父类,__bases__以tuple形式返回所有父类。 好了知道了这两个方法我来依次说一下每行什么意思。 使用type创建一个类赋值给pw type的接受的三个参数的意思分辨是(类的名称, 类是否有父类(), 类的属性字典{}) 这里初始化一个类的实例,然后尝试去获得父类的laugh_at属性值,然后得到结果hahahaha 取一个pw的也就是我们常见类的类字典数据 拿到pw的父类,结果是我们指定的 FlyToSky pw的实例pw()属于哪个类初始化的,可以看到是class Trick 我们再看class trick是谁初始化的? 就是元类type了 (二) 什么是元类以及简单运用 这一切介绍完之后我们总算可以进入正题 到底什么是元类?通俗的就是说,元类就是创建类的类。。。这样听起来是不是超级抽象? 来看看这个 Trick = MetaClass() MyObject = Trick() 上面我们已经介绍了,搞一个Trick可以直接这样 Trick = type('Trick', (), {}) 可以这样其实就是因为,Type实际上是一个元类,用他可以去创建类。什么是元类刚才说了,元类就是创建类的类。也可以说他就是一个类的创建工厂。 类上面的__metaclass__属性,相信愿意了解元类细节的盆友,
超蛋lhy
2018/08/31
1.1K0
ServletConfig 类和ServletContext 类
ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。
愷龍
2022/09/26
3920
ServletConfig 类和ServletContext 类
基类和派生类
  在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。-百度百科
全栈程序员站长
2022/09/20
1K0
5.1 类、超类和子类
5.1 类、超类和子类   子类比超类拥有的功能更加丰富。   在本例中,Manager类比超类Employee封装了更多的数据,拥有更多的功能。   在Manager类中,增加了一个用于存储奖金信息的域,以及一个用于设置这个域的方法: class Manager extends Employee { private double bonus; ... public void setBouns(double b) { bonus = b; }
Mister24
2018/05/14
1.1K0
类索引和父类索引
类索引(this_class)和父类索引(super_class)都是一个u2类型的数据,类索引用于确定这个类的全限定名,父类索引用于确定这个类的父类全限定名。由于java语言不允许多重继承,所以父类索引只有一个。
不会飞的小鸟
2020/06/14
8170
友元类和嵌套类
友元函数用于类的扩展接口中,类并非只能拥有友元函数,也可以将类作为友元,该类称为友元类。
艰默
2022/12/12
7420
类加载器如何实现类隔离
更多类加载器知识点,可以看一下我之前写过关于类加载器的文章: JVM第六卷—类加载机制 JVM第八卷—类加载与执行子系统的案例与实战
大忽悠爱学习
2022/05/10
4760
类加载器如何实现类隔离
C++类和对象 | 类和对象
C++中对象的类型称为类,类代表了某一批对象的共性和特征,类是对象的抽象,而对象是类的具体实例, 类是抽象的,不占用内存,而对象是具体的,占用 存储空间,这点很重要,读者需要牢记。
小林C语言
2021/01/13
8230
通过对象组合水平扩展 PHP 类功能
通过前面的学习,我们已经知道,通过类继承可以扩展类的功能,但是随着系统越来越复杂,如果仅仅通过类继承的方式扩展类的功能,而 PHP 又是单继承机制,会导致类的层级越来越深,系统也会随之变得越来越臃肿,而且新增子类来扩展功能这种方式本身也不太灵活,子类和父类相互绑定,改变父类方法会影响子类的行为,这也会让系统的可维护性大大降低。
学院君
2020/07/21
1.4K0
通过对象组合水平扩展 PHP 类功能
UML类图(下):关联、聚合、组合、依赖
关联(Assocition)关系是类与类之间最常见的一种关系,它是一种结构化的关系,表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等。在UML类图中,用实线连接有关联关系的对象所对应的类,在Java中通常将一个类的对象作为另一个类的成员变量。关联关系分单向关联、双向关联、自关联,逐一看一下。
lyb-geek
2018/07/26
1.9K0
UML类图(下):关联、聚合、组合、依赖
gym中的discrete类、box类和multidiscrete类简介和使用
Box() dict()可用于创建连续的空间;OpenAI Gym Discrete和Box spaces同时存在,代码该怎么写;gym中各种离散连续写法
汀丶人工智能
2022/12/21
1.3K0
gym中的discrete类、box类和multidiscrete类简介和使用

相似问题

Java类和扫描器

33

扫描器类和InputMismatchException

12

扫描器类InputMismatchException和警告

11

静态/类变量和GUI

11

GUI类和逻辑类之间的交互?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文