我的作业涉及编写GUI。我不是在找人为我做作业,但我只是想帮助他更好地理解它。我们将编写以下类的代码:由于我们需要单独的类和单独的驱动程序来测试类,因此我将分工。根据需要使用MATH类。一定要使用浮点数或双原语数据类型。其他学生将拥有默认构造函数(将默认值设置为2.0f或2.0为double),以及重载方法以接受数据浮点数或双精度数。
此外,学生将使用图形用户界面编程技术作为类的接口。学生可以使用标签,按钮,单选按钮,菜单以及滑块。
方形等级(周长和面积)
主要是我需要帮助的地方:
施工人员应该去哪里?如何在这段代码中实现它们重载?我怎么能重载这段代码中的方法?
import javax.swing.*;
import java.awt.event.*; // Needed for ActionListener Interface
/**
* The BugayTestSquare 3 class displays a JFrame that lets the user enter in the
* sides of the of a square. When the calculate button is pressed, a dialog box
* will be displayed with the area and perimeter shown.
*/
public class FirstGUI extends JFrame
{
/*
* Acording to good class design princples, the fields are private.
*/
private JPanel panel;
private JLabel messageLabel, messageLabel2;
private JTextField lengthTextField;
private JButton calcButton;
private final int WINDOW_WIDTH = 310;
private final int WINDOW_HEIGHT = 150;
/**
* Constructor
*/
public FirstGUI()
{
// Set the window title
setTitle("Area and Perimiter Calculator");
// Set the size of the window.
setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
// Specify what happens when the close button is clicked.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Build the panel and add it to the frame.
buildPanel();
// Add the panel to the frames content pane.
add(panel);
//diplay the window.
setVisible(true);
}
/** The buildPanel method adds a label,
* text field, and a button to a panel.
**/
private void buildPanel()
{
// Create a label to display instructions.
messageLabel = new JLabel("Please enter in the length " +
"of the square.");
messageLabel2 = new JLabel("Please enter in the width " +
"of the square.");
// Create a text field 10 characters wide.
lengthTextField = new JTextField(10);
//Create a button with the caption "Calculate."
calcButton = new JButton("Calculate");
// Add an action listener to the button.
calcButton.addActionListener(new FirstGUI.CalcButtonListener());
//Create a JPanel object and let the
// panel field reference it.
panel =new JPanel();
// Add the label, text field, and button.
// components to the panel.
panel.add(messageLabel);
panel.add(messageLabel2);
panel.add(lengthTextField);
panel.add(calcButton);
}
/**
* CalcButtonListener is an action listener
* class for the Calculate button.
*/
private class CalcButtonListener implements ActionListener
{
/**
* The actionPerformed method executes when the user
* clicks on the Calculate Button.
* @param e The Event Object.
*/
public void actionPerformed(ActionEvent e)
{
String input; // To hold the user's input
double area; // The area
double perimeter; // the perimter
// Get the text entered by the user into the
// text field
input = lengthTextField.getText();
//Perform Calculations
area = Double.parseDouble(input)*2;
perimeter = Double.parseDouble(input)*4;
//Display the result.
JOptionPane.showMessageDialog(null, "Your area is " +area +
"\nYour perimter is " + perimeter);
}
}
}
答案 0 :(得分:0)
这应该有所帮助:
public class FirstGUI extends JFrame
{
public FirstGUI {
// Constructers go here
}
}
至于重载。想象一下,你有一张借记卡,它可以用作借记卡或信用卡。它有两个用途。您可以创建两个具有相同名称但具有不同含义的方法。
示例:
public void functionOne(int num1, int num1) {
// do some stuff
}
public void functionOne(int num1, int num1, String str) {
// do some stuff but has different input
}
public void functionOne(int num1) {
// do some stuff but has different input
}
您可以将方法调用为:
functionOne(1, 2);
functionOne(1, 2, "hello world");
public void functionOne(59);
所有调用都将是一个具有相同名称但输入不同的方法。所有电话都是正确的。您现在可以调用functionOne重载。