메뉴는 GUI에서 가장 일반적으로 사용되는 구성 요소입니다. 메뉴는 구성 요소 클래스의 하위 클래스가 아니며 일반 컨테이너에 배치할 수 없으며 레이아웃 관리자에 의해 제한되지 않으며 메뉴 표시줄에만 배치할 수 있습니다.
메뉴 구성요소는 메뉴 표시줄(MenuBar), 메뉴(Menu) 및 메뉴 항목(MenuItem)의 세 부분으로 구성됩니다. 메뉴 표시줄은 여러 메뉴로 구성되며, 메뉴는 여러 메뉴 항목으로 구성됩니다. 일반적으로 메뉴바는 Frame 창에 위치하며, Frame 클래스의 setMenuBar() 메소드를 호출하면 됩니다.
일반적으로 사용되는 메뉴에는 드롭다운 메뉴와 팝업 메뉴(독립적으로 표시되며 어디에나 나타날 수 있음)가 포함됩니다.
1: 드롭다운 메뉴를 만드는 단계:
1. 메뉴바를 생성합니다.
2. Frame의 setMenuBar() 메소드를 호출하여 Frame에 메뉴바를 추가합니다.
3. 여러 개의 메뉴 개체를 각각 생성하여 MenuBar에 추가합니다.
4. 각 메뉴 객체에 대해 여러 개의 MenuItem 객체를 생성하여 메뉴에 추가합니다.
예:
다음과 같이 코드 코드를 복사합니다.
import java.awt.*;
공개 클래스 MenuDemo {
프레임 f;
MenuBarmb;
메뉴 메뉴파일;
MenuItem mItemNew, mItemOpen, mItemSave;
메뉴데모() {
f = new Frame("내 메뉴 인스턴스");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar(); // 메뉴바 생성MenuBar
menuFile = new Menu("파일");
mItemNew = new MenuItem("새로 만들기");
mItemOpen = new MenuItem("열기");
menuFile.add(mItemNew);
mItemSave = new MenuItem("저장");
menuFile.add(mItemOpen);
//구분선 추가
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(메뉴파일);
// 메뉴바에 "파일" 메뉴 추가
// setMenuBar: 이 폼의 메뉴바를 지정된 메뉴바로 설정합니다.
f.setMenuBar(mb);
f.setVisible(true);
}
공개 정적 무효 메인(String[] args) {
새로운 MenuDemo();
}
}
사진이 있고 진실이 있습니다: (드롭다운 메뉴 항목은 스크린샷이 될 수 없습니다)
2: 팝업 메뉴를 만드는 단계:
1. 먼저 가장 기본적인 JFrame 프레임워크를 설정합니다.
2. 마우스 오른쪽 버튼 클릭 팝업 메뉴(JPopupMenu)를 생성하고 메뉴 항목(JMenuItem)을 추가합니다. 3. add 메소드와 insert 메소드를 사용하여 JPopupMenu에 추가하거나 삽입합니다. 4. show 메소드를 호출하여 팝업을 표시합니다. 팝업 메뉴 트리거에 해당하는 경우 모든 MouseEvent 이벤트를 확인하여 팝업 메뉴 트리거인지 확인한 다음 적절한 경우 팝업 메뉴를 표시합니다.
예:
다음과 같이 코드 코드를 복사합니다.
import java.awt.event.*;
import javax.swing.*;
공개 클래스 JPopMenu_Demo는 JFrame을 확장합니다.
// 팝업 메뉴 구현 팝업 메뉴는 팝업되어 일련의 옵션을 표시하는 작은 창입니다.
JPopupMenu 팝업메뉴;
공개 JPopMenu_Demo() {
super("오른쪽 클릭 팝업 메뉴"); // 상위 클래스 생성자를 호출합니다.
// 팝업 메뉴 인스턴스화
popupMenu = 새로운 JPopupMenu();
//메뉴에 메뉴 항목 추가
popupMenu.add(new JMenuItem("메뉴 항목"));
popupMenu.add(new JButton("버튼"));
popupMenu.add(new JLabel("레이블"));
마이이벤트();
setSize(350, 300); //창 크기 설정
setLocation(400, 200);
setVisible(true); //창이 보이도록 설정
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //창을 닫을 때 프로그램을 종료합니다.
}
개인 무효 myEvents() {
//윈도우 마우스 이벤트 처리
addMouseListener(새 MouseAdapter() {
//마우스를 클릭한다
공공 무효 mousePressed(MouseEvent 이벤트) {
//triggerEvent 메소드를 호출하여 이벤트를 처리합니다.
TriggerEvent(이벤트);
}
// 마우스 놓기
공공 무효 mouseReleased(MouseEvent 이벤트) {
TriggerEvent(이벤트);
}
private void TriggerEvent(MouseEvent event) { // 이벤트 처리
// isPopupTrigger(): 이 마우스 이벤트가 플랫폼의 팝업 메뉴에 대한 이벤트를 트리거하는지 여부를 반환합니다.
if(event.isPopupTrigger())
// 메뉴 표시
popupMenu.show(event.getComponent(), event.getX(),
event.getY());
}
});
}
공개 정적 무효 메인(문자열 인수[]) {
새로운 JPopMenu_Demo();
}
}
사진도 있고 진실도 있어요 (하지만 꽤 추악해요)
3: 탭 형식:
1.기본 지침:
2. 일반적으로 사용되는 방법:
JTabbedPanel에 여러 JPanel 객체를 추가합니다. 그리고 다시
JTabbedPanel을 양식에 추가하면 코드는 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT) //탭 좌표 설정
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel(); //여러 컨테이너 생성
jp.add("Form1", p1);
jp.add("양식 2", p2);
jp.add("Form 3", p3);//하위 컨테이너를 추가하고 탭에 이름을 추가합니다.
this.add(jp,BorderLayout.CENTER); //기본 폼에 탭 폼을 추가합니다.
3. 코드 예시 및 스크린샷:
다음과 같이 코드 코드를 복사합니다.
import java.awt.*;
import javax.swing.*;
/**
* <p>제목: 탭 시연</p>
* <p>설명: 다음은 탭 데모입니다. 다른 카드를 클릭하면 다른 콘텐츠가 표시됩니다.</p>
*/
공개 클래스 JTabbedPaneDemo1은 JPanel을 확장합니다.
공개 JTabbedPaneDemo1() {
super(new GridLayout(1, 1));
ImageIcon icon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = new JTabbedPane();
구성요소 panel1 = makeTextPanel("#첫 번째 카드#");
tabbedPane.addTab("One", icon, panel1, "첫 번째 카드 프롬프트 정보!");
tabbedPane.setSelectedIndex(0);
Component panel2 = makeTextPanel("##두 번째 카드##");
tabbedPane.addTab("Two", icon, panel2, "두 번째 카드 프롬프트 정보!");
Component panel3 = makeTextPanel("###세 번째 카드###");
tabbedPane.addTab("Three", icon, panel3, "세 번째 카드 프롬프트 정보!");
Component panel4 = makeTextPanel("####네 번째 카드####");
tabbedPane.addTab("Four", icon, panel4, "네 번째 카드 프롬프트 정보입니다!");
//panl에 탭 추가
add(tabbedPane);
}
/**
* <br>
* 방법 설명: 탭에 정보 추가<br>
* 입력변수 : 문자열 텍스트 표시되는 정보 내용<br>
* 반환 유형: 구성요소 멤버 객체
*/
보호된 구성요소 makeTextPanel(String text) {
JPanel 패널 = new JPanel(false);
JLabel 필러 = new JLabel(text);
fill.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(필러);
리턴 패널;
}
/**
* <br>
*방법 설명: 사진 가져오기<br>
* 입력 매개변수: 문자열 경로 이미지 경로<br>
* 반환 유형: ImageIcon 그림 객체
*/
protected static ImageIcon createImageIcon(문자열 경로) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
if (경로 != null) {
새로운 ImageIcon(경로)을 반환합니다.
} 또 다른 {
System.out.println("파일을 찾을 수 없습니다: " + 경로);
null을 반환;
}
}
공개 정적 무효 메인(String[] args) {
// Swing 양식 설명 사용
// JFrame.setDefaultLookAndFeelDecorated(true);
노력하다 {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} 잡기(예외 e) {
}
//폼 생성
JFrame 프레임 = new JFrame("TabbedPaneDemo");
프레임.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
// 표시 형식
프레임.setSize(400, 200);
프레임.setVisible(true);
}
}