ハイ!
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 つのクラスを作成する必要があります。メニューから選択した色など、JMenu と対話するように Drawing クラスに指示するにはどうすればよいですか? ここで、クラス Drwa の行をデフォルトの色 BLUE で生成します :(
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);
}
}
ありがとう!