请写一段Java代码:添加另一个名为 addOval()的辅助方法;此方法应该采用四个整数(x; y; w; h)作为参数输入,并在主窗口中的位置(x; y)处创建一个宽度为 w 和高度为 h 的 Oval 对象。从 addOneOval()中调用此方法。该代码完成后,就可以通过在文本框中输入四个数值,并按“Add” 按钮在大窗口中创建一个椭圆形状了。
时间: 2024-02-19 10:57:19 浏览: 112
以下是Java代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class OvalCreator extends JFrame implements ActionListener {
private JButton addButton;
private JTextField xField, yField, wField, hField;
private JPanel inputPanel;
private JPanel buttonPanel;
private JPanel mainPanel;
public OvalCreator() {
super("Oval Creator");
// Create input fields
xField = new JTextField(5);
yField = new JTextField(5);
wField = new JTextField(5);
hField = new JTextField(5);
// Create input panel
inputPanel = new JPanel();
inputPanel.setLayout(new GridLayout(2, 4, 5, 5));
inputPanel.add(new JLabel("X:"));
inputPanel.add(xField);
inputPanel.add(new JLabel("Y:"));
inputPanel.add(yField);
inputPanel.add(new JLabel("Width:"));
inputPanel.add(wField);
inputPanel.add(new JLabel("Height:"));
inputPanel.add(hField);
// Create add button
addButton = new JButton("Add");
addButton.addActionListener(this);
// Create button panel
buttonPanel = new JPanel();
buttonPanel.add(addButton);
// Create main panel
mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
mainPanel.add(inputPanel, BorderLayout.CENTER);
mainPanel.add(buttonPanel, BorderLayout.SOUTH);
// Set up the main window
getContentPane().add(mainPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
int x = Integer.parseInt(xField.getText());
int y = Integer.parseInt(yField.getText());
int w = Integer.parseInt(wField.getText());
int h = Integer.parseInt(hField.getText());
addOval(x, y, w, h);
}
}
private void addOneOval() {
addOval(50, 50, 100, 50);
}
private void addOval(int x, int y, int w, int h) {
Graphics g = getGraphics();
g.drawOval(x, y, w, h);
}
public static void main(String[] args) {
OvalCreator oc = new OvalCreator();
oc.addOneOval();
}
}
```
其中,`addOval()` 方法是我们新增的方法,用于在指定位置创建一个椭圆形状。在 `actionPerformed()` 方法中,我们从文本框中获取四个整数值,然后调用 `addOval()` 方法来创建椭圆形状。`addOneOval()` 方法是原来的方法,用于在默认位置创建一个椭圆形状,现在它调用了 `addOval()` 方法。
阅读全文