Java 如何在鼠标单击时将字符串绘制到小程序屏幕?
编辑:好的,在朋友的帮助下,我现在成功地让它工作了。=)Java 如何在鼠标单击时将字符串绘制到小程序屏幕?,java,applet,awt,java-2d,mouselistener,Java,Applet,Awt,Java 2d,Mouselistener,编辑:好的,在朋友的帮助下,我现在成功地让它工作了。=) 我目前正在创建一个Java小程序。小程序的工作原理是从用户处获取文本输入,并在用户按return键时将其显示在屏幕上。这就是我的程序目前工作的重点。 我想知道是否有一种方法可以使文本输入/字符串在鼠标点击时绘制出来 非常感谢任何能帮我解决这个问题的人。:) 我想知道是否有一种方法我可以做到这一点 单击鼠标时,在点处绘制文本输入/字符串 鼠标点击的次数 回答:是的 我把答案留作那样会不会很无礼 这是一个相对简单的过程,取决于你想要实现什么
我目前正在创建一个Java小程序。小程序的工作原理是从用户处获取文本输入,并在用户按return键时将其显示在屏幕上。这就是我的程序目前工作的重点。 我想知道是否有一种方法可以使文本输入/字符串在鼠标点击时绘制出来 非常感谢任何能帮我解决这个问题的人。:) 我想知道是否有一种方法我可以做到这一点 单击鼠标时,在点处绘制文本输入/字符串 鼠标点击的次数 回答:是的 我把答案留作那样会不会很无礼 这是一个相对简单的过程,取决于你想要实现什么 本例仅使用
Graphics#drawString
将文本呈现给自定义组件。同样,您也可以只在指定点的组件标签上添加一个标签,但这是另一种蠕虫
public class TestDrawText {
public static void main(String[] args) {
new TestDrawText();
}
public TestDrawText() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception ex) {
}
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private Point textPoint;
public TestPane() {
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
textPoint = e.getPoint();
repaint();
}
});
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (textPoint != null) {
FontMetrics fm = g.getFontMetrics();
g.drawString("You clicked at " + textPoint.x + "x" + textPoint.y, textPoint.x, textPoint.y + fm.getAscent());
}
}
}
}
退房
有关详细信息。“如何在鼠标单击时将字符串绘制到小程序屏幕?”有大量鼠标单击绘制内容的示例。不过有一个技巧,首先在添加到
JFrame
的JPanel中对其进行分类。只有当它工作时,才应将其添加到JApplet
。好的,我该怎么做?“我该怎么做?”搜索?转到右上角的搜索
框并键入“[java]鼠标”等。但我看到@MadProgrammer提供了答案。顺便说一句-不要去寻找“小程序+字符串+鼠标”。它太具体了,可以在小程序中完成的任何事情也可以在框架中完成(顺便说一句,这更容易开发和调试)。我不能使用框架,这是我必须使用小程序来完成的事情。所以添加一个答案。否则,该线程对社区没有任何价值。谢谢,但我认为applet没有主方法?它们没有,这是一个使用JFrame
的简单示例,它更简单,更容易演示,然后再摆弄applet。哦,这是我使用applet必须做的事情。Soo?使用TestPane
并将其添加到applet中,这没什么大不了的。技术和过程是一样的,一个转到窗口,另一个转到小程序..现在没关系,我已经设法用小程序完成了..=)