Java 代码实现图形绘制,文本框输入内容
时间: 2024-03-03 21:53:19 浏览: 87
以下是一个 Java Swing 程序,它可以实现图形绘制和文本框输入内容:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DrawAndType extends JFrame {
private JPanel canvas;
private JTextField textField;
private String text;
public DrawAndType() {
setTitle("Draw and Type");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
canvas = new JPanel();
canvas.setPreferredSize(new Dimension(400, 400));
canvas.setBackground(Color.WHITE);
canvas.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
Graphics g = canvas.getGraphics();
g.setColor(Color.BLACK);
g.fillOval(e.getX() - 5, e.getY() - 5, 10, 10);
}
});
textField = new JTextField();
textField.setPreferredSize(new Dimension(400, 30));
textField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text = textField.getText();
canvas.repaint();
textField.setText("");
}
});
add(canvas, BorderLayout.CENTER);
add(textField, BorderLayout.SOUTH);
pack();
setVisible(true);
}
public void paint(Graphics g) {
super.paint(g);
if (text != null) {
g.setColor(Color.RED);
g.drawString(text, 100, 100);
}
}
public static void main(String[] args) {
new DrawAndType();
}
}
```
在这个程序中,我们创建了一个 JFrame 窗口,它包含一个 JPanel 用来绘制图形和一个 JTextField 用来输入文本。当鼠标在 JPanel 上按下时,我们会绘制一个黑色的圆形。当用户在文本框中输入内容并按下 Enter 键时,我们会在 JPanel 上绘制一个红色的字符串。注意在重写 paint 方法时,我们需要先调用 super.paint(g) 来绘制窗口的背景。
阅读全文