嗨!
我想在 JFrame 中绘制自由线。我在一个扩展 JPanel 的类中实现了它。它的定义如下所示:
public class Draw extends JPanel implements MouseMotionListener, MouseListener
我向 Draw 类添加了一个 void 方法,在该方法中我还生成了 JFrame 并添加了 Draw 对象。我现在的问题是:我希望能够从菜单中选择线条的颜色:
JMenu colorMenu = new JMenu();
JMenuItem greenChoice = new JMenuItem("GREEN");
greenChoice.addActionListener(this);
colorMenu.add(greenChoice);
JMenuItem redChoice = new JMenuItem("RED");
colorMenu.add(redChoice);
JMenuBar bar = new JMenuBar();
bar.add(colorMenu);
我不知道在哪里实现这段代码!我应该做 2 个类,一个用于绘图,一个用于 JFrame 及其菜单?我应该如何告诉绘图类与我的 JMenu 交互,例如使用我从菜单中选择的颜色?在这里,我在 Drwa 类中生成我的行,默认颜色为蓝色 :(
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;
if(point1!=null && point2!=null){
g2d.setPaint(Color.BLUE);
g2d.setStroke(new BasicStroke(1.5f));
g2d.draw(line2d);
}
}
谢谢你!