我试图让JInternalFrame在启动时最大化.我已经对此进行了网络搜索并尝试了各种代码建议,但它们似乎无法在我的机器上正常运行,该机器在
Windows 7上运行
Java 6.
任何人都可以告诉我如何更改下面的代码,以便内部框架在创建时自动最大化?
import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JlayeredPane; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.Keystroke; public class MaximizeInternalFrame extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; JlayeredPane desktop; JInternalFrame internalFrame; public MaximizeInternalFrame() { super("Test To Maximize Internal Frame"); this.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); //Make the big window be indented 50 pixels from each edge of the screen. int inset = 50; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension screenMinus50 = new Dimension(screenSize.width - inset*2,screenSize.height - inset*2); this.setPreferredSize(screenMinus50); desktop = new JDesktopPane(); setJMenuBar(createMenuBar()); this.add(desktop,BorderLayout.CENTER); this.pack(); this.setSize(screenMinus50); this.setLocationRelativeto(null); } protected JMenuBar createMenuBar() { JMenuBar menuBar = new JMenuBar(); //Set up the File menu. JMenu FileMenu = new JMenu("File"); FileMenu.setMnemonic(KeyEvent.VK_F); menuBar.add(FileMenu); //Set up the first menu item. JMenuItem menuItem = new JMenuItem("New"); menuItem.setMnemonic(KeyEvent.VK_N); menuItem.setAccelerator(Keystroke.getKeystroke(KeyEvent.VK_N,ActionEvent.ALT_MASK)); menuItem.setActionCommand("new"); menuItem.addActionListener(new OpenListener()); FileMenu.add(menuItem); //Set up the second menu item. menuItem = new JMenuItem("Quit"); menuItem.setMnemonic(KeyEvent.VK_Q); menuItem.setAccelerator(Keystroke.getKeystroke(KeyEvent.VK_Q,ActionEvent.ALT_MASK)); menuItem.setActionCommand("quit"); menuItem.addActionListener(this); FileMenu.add(menuItem); return menuBar; } class OpenListener implements ActionListener { public void actionPerformed(ActionEvent e) { // create internal frame internalFrame = new JInternalFrame("this internal frame needs to be maximized",true,true); desktop.add(internalFrame); internalFrame.setSize(internalFrame.getMaximumSize()); internalFrame.pack(); internalFrame.setVisible(true); } } public static void main(String args[]) { MaximizeInternalFrame myParentFrame = new MaximizeInternalFrame(); myParentFrame.setVisible(true); } public void actionPerformed(ActionEvent e) {if ("quit".equals(e.getActionCommand())){System.exit(0);}} }
解决方法
原文地址:https://www.jb51.cc/java/126748.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。