我是java的新手,我正在尝试创建一个程序,它将首先要求用户输入一些数字,然后输出一个卷、面积等等。另外,我想显示一个矩形,我不知道如何做,因为我的程序运行良好,只是不会显示矩形。我能做什么?
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);
}
}
发布于 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方法中绘制(按照教程的方式),然后再次删除所有的扫描程序代码。
https://stackoverflow.com/questions/26246308
复制相似问题