내 Java 메뉴에서 JMenuItem에 ActionListener를 추가하려고합니다.JMenuItem에 ActionListener를 추가하는 방법은 무엇입니까?
나는 "사각형"메뉴 항목을 클릭시 사각형 모양을 보여주기 위해의 ActionListener에 "직사각형"의 JMenuItem를 추가 할 : 여기
메뉴의 스크린 샷이다. ActionListener를 추가하는 데 여러 번 시도했지만 매번 실패합니다. 누군가가 나에게 도움이 경우import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class shapes extends JPanel{
int midX = 220;
int midY = 90;
int radius[] = {60,20,50,20};
int nPoints = 16;
int[] X = new int[nPoints];
int[] Y = new int[nPoints];
public void paintComponent(Graphics gphcs){
super.paintComponent(gphcs);
this.setBackground(Color.WHITE);
gphcs.setColor(Color.BLUE);
gphcs.fillRect(20,35,100,30);
gphcs.setColor(Color.RED);
gphcs.drawString("Welcome to Java", 20, 20);
for (int i=0; i < nPoints; i++) {
double x = Math.cos(i * ((2 * Math.PI)/nPoints)) * radius[i % 4];
double y = Math.sin(i * ((2 * Math.PI)/nPoints)) * radius[i % 4];
X[i] = (int) x + midX;
Y[i] = (int) y + midY;
}
gphcs.setColor(Color.GREEN);
gphcs.fillPolygon(X, Y, nPoints);
}
}
나는 매우 감사 할 것입니다 :
클래스 "menubar.java":
import javax.swing.*;
public class menubar extends JFrame{
public menubar(){
JMenuBar menubar = new JMenuBar();
setJMenuBar(menubar);
JMenu shape = new JMenu("Shape");
menubar.add(shape);
JMenuItem rect = new JMenuItem("Rectangle");
shape.add(rect);
JMenuItem star = new JMenuItem("Star");
shape.add(star);
JMenu color = new JMenu("Color");
menubar.add(color);
JMenuItem black = new JMenuItem("Black");
color.add(black);
JMenuItem orange = new JMenuItem("Orange");
color.add(orange);
}
public static void main(String[] args) {
menubar gui = new menubar();
gui.setTitle("Menu Bar");
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
shapes SPS = new shapes();
gui.add(SPS);
gui.setSize(500,300);
gui.setVisible(true);
gui.setLocationRelativeTo(null);
}
}
클래스 "shapes.java"여기
내 코드입니다 이 문제는 시간에 대한감사합니다 .. 당신이 당신의 용기에 ActionListener를 추가 할 수 있습니다
어디에도'addActionListener (...) '를 호출하려고하지 않았습니다. 스윙 메뉴 자습서를 보셨습니까? 모두들 당신을 위해 철자가되어 있습니다. 그래서 여기에있는 정보를 거부 할 필요가 없습니다. Google에서 찾을 수 있도록 도울 것입니다. 또는 [메뉴 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html) –
정말입니까? 이전 질문에서 링크 된 [메뉴 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html)을 보았습니까? 투표 마감 – MadProgrammer
@MadProgrammer : 나도 알아, 나도 놀랐다. 그리고 나는 그가 이미 링크를 받았다는 것을 몰랐다! 원래의 포스터에, 이전에 튜토리얼을보고 혼란 스러우면, 당신의 질문에 당신을 혼란스럽게 말 해주세요. 그러나 문제를 여기에 던지기 전에 먼저 그것을 풀려고 시도해보십시오. 노력의 증거. 이 문제에 관해 게으르지 않으려 고하지 말고 다른 사람들이 문제를 해결하도록 노력하고 있다는 것을 보여주십시오. –