menuutilities.java

来自「一个用java开发界面的程序集(jfc核心编程)」· Java 代码 · 共 50 行

JAVA
50
字号
package JFCBook.Chapter6.jdk12;

import javax.swing.*;
import java.awt.*;
import java.util.*;

public class MenuUtilities {

	public static void applyOrientationToMenus(JMenuBar bar) {
		applyOrientationToMenus(bar, bar.getComponentOrientation());
	}

	public static void applyOrientationToMenus(JMenuBar bar,
									String bundleName) {
		applyOrientationToMenus(bar, ResourceBundle.getBundle(bundleName));
	}

	public static void applyOrientationToMenus(JMenuBar bar,
									ResourceBundle rb) {
		applyOrientationToMenus(bar, ComponentOrientation.getOrientation(rb));
	}

	public static void applyOrientationToMenus(JMenuBar bar,
									ComponentOrientation orientation) {
		// Apply the given orientation to each menu
		// on the menu bar. This is a recursive operation.
		int menuCount = bar.getMenuCount();
		for (int i = 0; i < menuCount; i++) {
			applyOrientationToMenu(bar.getMenu(i), orientation);
		}
	}

	public static void applyOrientationToMenu(JMenu menu,
									ComponentOrientation orientation) {

		// Apply the orientation to the menu
		menu.setComponentOrientation(orientation);

		// Now handle menu items and submenus
		Component[] comps = menu.getMenuComponents();
		for (int i = 0; i < comps.length; i++) {
			Component comp = comps[i];
			comp.setComponentOrientation(orientation);
			if (comp instanceof JMenu) {
				applyOrientationToMenu((JMenu)comp, orientation);
			}
		}
	}    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?