我有一个程序,有4个文本字段和一个按钮来绘制矩形,输入数字(x,y,x1,y1)的文本字段和添加它们的按钮(addO),我需要知道如何使用动作侦听器和画布中的 paint()方法进行绘制?
答案 0 :(得分:2)
问题是开放和模糊的,答案很大程度上取决于缺少实施细节......
基本上,从JTextField
获取值就像在字段实例上调用getText
一样简单......
private JTextField field;
//...
field = new JTextField(10);
add(field);
//...
String text = field.getText();
将值转换为int
会要求您使用Integer.parseInt(text)
。如果该值不是整数值,则会抛出NumberFormatException
错误。同样,您可以改为使用JSpinner
。
使用ActionListener
只是将ActionListener
的实例附加到JButton
...
JButton doStuff = new JButton("Do Stuff");
doStuff.addActionListene(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
// See previous comments about extract the field values...
}
});
Swing中的绘画通常是通过覆盖从paintComponent
延伸的组件的JComponent
来实现的,通常类似于JPanel
。
在这种方法中你可以画出你需要的任何东西......
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawRect(x1, y1, x2, y2);
}
例如。
请参阅:
了解更多详情