📄 s10.htm
字号:
<p>public class Test extends JApplet {<br> private JPopupMenu popup = new JPopupMenu();</p> <p> public void init() {<br> Container contentPane = getContentPane();<br> JLabel label = new JLabel("Click To Show Popup");</p> <p> popup.add(new JMenuItem("item one"));<br> popup.add(new JMenuItem("item two"));<br> popup.add(new JMenuItem("item three"));<br> popup.add(new JMenuItem("item four"));</p> <p> label.setHorizontalAlignment(JLabel.CENTER);<br> contentPane.add(label, BorderLayout.CENTER);</p> <p> label.addMouseListener(new MouseAdapter() {<br> public void mousePressed(MouseEvent e) {<br> //if(e.isPopupTrigger()) {<br> popup.setVisible(true);<br> //}<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 10.8.7 AWT兼容</p> <p> </p> <p> 10.9 JMenuBar</p> <p> </p> <p align="center"><b>例10-21 一个简单的菜单栏</b></p> <hr noshade size="1"> import javax.swing.*;<br> import java.awt.*;<br> import java.awt.event.*;<br> import java.util.*; <p>public class Test extends JFrame {<br> public Test() {<br> final JMenuBar mb = new JMenuBar();<br> final JMenu fileMenu = new JMenu("File");<br> JMenuItem exitItem = new JMenuItem("Exit");</p> <p> fileMenu.add("New ...");<br> fileMenu.add("Open ...");<br> fileMenu.add("Save");<br> fileMenu.add("Save As ..");<br> fileMenu.addSeparator();<br> fileMenu.add(exitItem);</p> <p> mb.add(new JLabel(<br> new ImageIcon("smiley_face_small.gif")));</p> <p> mb.add(fileMenu);</p> <p> // Either one of the following two lines will <br> // attach the menu bar to the application<br> //setJMenuBar(mb);<br> getRootPane().setJMenuBar(mb);</p> <p> exitItem.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> dispose();<br> System.exit(0);<br> }<br> });<br> System.out.println("component count: " + <br> mb.getComponentCount());<br> System.out.println("first component: " + <br> (mb.getComponentAtIndex(0)).getClass().getName());</p> <p> System.out.println("menu count: " + (mb.getMenuCount()));</p> <p> JMenu menu = mb.getMenu(0);<br> if(menu == null) System.out.println("null menu");<br> else System.out.println("got menu");<br> }<br> public static void main(String args[]) {<br> GJApp.launch(new Test(), <br> "A Menu Bar",300,300,300,250); <br> }<br> }<br> class GJApp extends WindowAdapter {<br> static private JPanel statusArea = new JPanel();<br> static private JLabel status = new JLabel(" ");<br> static private ResourceBundle resources;</p> <p> public static void launch(final JFrame f, String title,<br> final int x, final int y, <br> final int w, int h) {<br> launch(f,title,x,y,w,h,null); <br> }<br> public static void launch(final JFrame f, String title,<br> final int x, final int y, <br> final int w, int h,<br> String propertiesFilename) {<br> f.setTitle(title);<br> f.setBounds(x,y,w,h);<br> f.setVisible(true);</p> <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br> statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br> statusArea.add(status);<br> status.setHorizontalAlignment(JLabel.LEFT);</p> <p> f.setDefaultCloseOperation(<br> WindowConstants.DISPOSE_ON_CLOSE);</p> <p> if(propertiesFilename != null) {<br> resources = ResourceBundle.getBundle(<br> propertiesFilename, Locale.getDefault());<br> }</p> <p> f.addWindowListener(new WindowAdapter() {<br> public void windowClosed(WindowEvent e) {<br> System.exit(0);<br> }<br> });<br> }<br> static public JPanel getStatusArea() {<br> return statusArea;<br> }<br> static public void showStatus(String s) {<br> status.setText(s);<br> }<br> static Object getResource(String key) {<br> if(resources != null) {<br> return resources.getString(key);<br> }<br> return null;<br> }<br> }</p> <hr size="1" noshade> <p> 10.9.1 菜单栏菜单和组件</p> <p> </p> <p align="center"><b>例10-22 菜单栏中的菜单和组件</b></p> <hr noshade size="1"> import javax.swing.*;<br> import java.awt.*;<br> import java.awt.event.*; <p>public class Test extends JApplet {<br> public void init() {<br> Container contentPane = getContentPane();</p> <p> final JMenuBar mb = new JMenuBar();<br> JMenu fileMenu = new JMenu("File");<br> JMenu editMenu = new JMenu("Edit");<br> JMenuItem exitItem = new JMenuItem("Exit");<br> JButton compButton = new JButton(<br> "show menubar components ...");<br> JButton menuButton = new JButton(<br> "show menubar menus ...");</p> <p> fileMenu.add("New ...");<br> fileMenu.add("Open ...");<br> fileMenu.add("Save");<br> fileMenu.add("Save As ..");<br> fileMenu.addSeparator();<br> fileMenu.add(exitItem);</p> <p> editMenu.add("Undo");<br> editMenu.addSeparator();<br> editMenu.add("Cut");<br> editMenu.add("Copy");<br> editMenu.add("Paste");</p> <p> mb.setMargin(new Insets(30,20,10,5));<br> mb.add(new JLabel(new ImageIcon("smiley.gif")));<br> mb.add(fileMenu);<br> mb.add(editMenu);</p> <p> setJMenuBar(mb);<br> contentPane.setLayout(new FlowLayout());<br> contentPane.add(compButton);<br> contentPane.add(menuButton);</p> <p> exitItem.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> System.exit(0);<br> }<br> });<br> menuButton.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> Component c;<br> int cnt = mb.getMenuCount();</p> <p> for(int i=0; i < cnt; ++i) {<br> c = mb.getMenu(i);<br> System.out.println(c);<br> System.out.println();<br> }<br> }<br> });<br> compButton.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> Component c;<br> int cnt = mb.getComponentCount();</p> <p> for(int i=0; i < cnt; ++i) {<br> c = mb.getComponentAtIndex(i);<br> System.out.println(c);<br> System.out.println();<br> }<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 10.9.2 JMenuBar属性</p> <p> </p> <p> 10.9.3 JMenuBar事件</p> <p> </p> <p> 10.9.4JMenuBar类总结</p> <p> </p> <p> 10.9.5 AWT兼容</p> <p> </p> <p> 10.10 JToolBar</p> <p> </p> <p align="center"><b>例10-23 把组件添加到一个菜单栏中</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public Test() {<br> Container contentPane = getContentPane();<br> JToolBar tb = new JToolBar();<br> JComboBox fontCombo = new JComboBox(),<br> fontSizeCombo = new JComboBox();</p> <p> JButton newButton = new JButton(new ImageIcon("new.gif")),<br> openButton = new JButton(new ImageIcon("open.gif")),<br> cutButton = new JButton(new ImageIcon("cut.gif")),<br> copyButton = new JButton(new ImageIcon("copy.gif")),<br> pasteButton = new JButton(new ImageIcon("paste.gif"));</p> <p> fontCombo.addItem("Helvetica");<br> fontCombo.addItem("Palatino");<br> fontCombo.addItem("Courier");<br> fontCombo.addItem("Times");<br> fontCombo.addItem("Times-Roman");</p> <p> fontSizeCombo.addItem("10");<br> fontSizeCombo.addItem("12");<br> fontSizeCombo.addItem("14");<br> fontSizeCombo.addItem("16");<br> fontSizeCombo.addItem("18");</p> <p> tb.add(newButton);<br> tb.add(openButton);</p> <p> tb.addSeparator();</p> <p> tb.add(cutButton);<br> tb.add(copyButton);<br> tb.add(pasteButton);</p> <p> tb.addSeparator();</p> <p> tb.add(fontCombo);<br> tb.add(fontSizeCombo);</p> <p> contentPane.setLayout(new BorderLayout());<br> contentPane.add(tb, BorderLayout.NORTH);<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例10-24 把组件添加到一个工具条中</b>(方法2)</p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public Test() {<br> Container contentPane = getContentPane();<br> JToolBar tb = new JToolBar();<br> JComboBox fontCombo = new JComboBox(),<br> fontSizeCombo = new JComboBox();</p> <p> JButton newButton = new JButton(new ImageIcon("new.gif")),<br> openButton = new JButton(new ImageIcon("open.gif")),<br> cutButton = new JButton(new ImageIcon("cut.gif")),<br> copyButton = new JButton(new ImageIcon("copy.gif")),<br> pasteButton = new JButton(new ImageIcon("paste.gif"));</p> <p> fontCombo.addItem("Helvetica");<br> fontCombo.addItem("Palatino");<br> fontCombo.addItem("Courier");<br> fontCombo.addItem("Times");<br> fontCombo.addItem("Times-Roman");</p> <p> fontSizeCombo.addItem("10");<br> fontSizeCombo.addItem("12");<br> fontSizeCombo.addItem("14");<br> fontSizeCombo.addItem("16");<br> fontSizeCombo.addItem("18");</p> <p> tb.add(newButton);<br> tb.add(openButton);</p> <p> tb.addSeparator();</p> <p> tb.add(cutButton);<br> tb.add(copyButton);<br> tb.add(pasteButton);</p> <p> tb.addSeparator();</p> <p> tb.add(fontCombo);<br> tb.add(fontSizeCombo);</p> <p> newButton.setAlignmentY(0.5f);<br> openButton.setAlignmen
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -