我正在尝试用Java创建一个简单的绘图应用程序但不能对按钮进行操作,现在我的窗口显示了选项,但是在单击形状下拉列表后我需要编写代码来执行操作。请帮忙
代码:
package simplepaint;
import java.awt.*;
import javax.swing.*;
public class DrawingFrame extends JFrame {
JButton loadButton, saveButton, drawButton;
JComboBox colorList, shapesList;
JTextField parametersTextField;
DrawingFrame() {
super("Drawing Application");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JToolBar toolbar = new JToolBar();
toolbar.setRollover(true);
toolbar.add(loadButton=new JButton("Load"));
toolbar.add(saveButton=new JButton("Save"));
toolbar.addSeparator();
toolbar.add(drawButton=new JButton("Draw"));
toolbar.addSeparator();
toolbar.addSeparator();
toolbar.add(new JLabel("Shape"));
shapesList=new JComboBox(new String[] { "Circle", "Rectangle", "Line","Triangle" });
toolbar.add(shapesList);
toolbar.addSeparator();
toolbar.add(new JLabel("Parameters"));
toolbar.add(parametersTextField=new JTextField());
toolbar.add(new JLabel("Color "));
colorList=new JComboBox(new String[] { "black", "red", "blue",
"green", "yellow", "orange", "pink", "magenta", "cyan",
"lightGray", "darkGray", "gray", "white" });
toolbar.add(colorList);
getContentPane().add(toolbar, BorderLayout.NORTH);
}
class DrawPane extends JPanel{
public void paintComponent(Graphics g){
g.fillRect(20, 20, 100, 200);
}
}
public static void main(final String args[]) {
DrawingFrame frame = new DrawingFrame();
frame.setBounds(100, 100, 600, 500);
frame.setVisible(true);
}
}
答案 0 :(得分:0)
您可以先查看Custom Painting Approaches。
它显示了两种常用的自定义绘画方法。
ArrayList
BufferedImage
。示例显示如何绘制具有指定颜色的Rectangle。
修改代码以绘制圆和线应该相对简单,因为它们也只需要一个起点和终点。
绘制三角形会更复杂。
答案 1 :(得分:0)
您可以做的第一件事是创建ActionListener
,以便在单击按钮时执行回调。在构造函数中,您可以执行以下操作:
drawButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("hello");
}
});
每次点击绘图按钮时,你都会注意到stdout,'你好'将打印。
请参阅@ camickr的答案,了解如何实际绘制形状的工作。