java中怎样做出像vb里的mdi窗体??? 你看看JInternalFrame(子窗体)和JDesktopPane(父窗体) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个例子,有三个.java文件JInternalFrameDemo.java、MainFrame.java、OwnInternalFrame.javapackage jinternalframedemo;import javax.swing.UIManager;import java.awt.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class JInternalFrameDemo { private boolean packFrame = false; //Construct the application public JInternalFrameDemo() { MainFrame frame = new MainFrame(); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame.pack(); } else { frame.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); } //Main method public static void main(String[] args) {/* try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); }*/ new JInternalFrameDemo(); }}package jinternalframedemo;import java.awt.*;import java.awt.event.*;import javax.swing.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class MainFrame extends JFrame {// private JPanel contentPane; private JDesktopPane desktop = new JDesktopPane();// private BorderLayout borderLayout1 = new BorderLayout(); private JMenuBar jMenuBar1 = new JMenuBar(); private JMenu jMenu1 = new JMenu(); private JMenuItem jMenuItem1 = new JMenuItem(); //Construct the frame public MainFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));// contentPane = (JPanel) this.getContentPane();// contentPane.setLayout(borderLayout1); desktop.putClientProperty("JDesktopPane.dragMode", "outline"); this.setContentPane(desktop); this.setJMenuBar(jMenuBar1); this.setSize(new Dimension(400, 300)); this.setTitle("JInternalFrameDemo"); jMenu1.setFont(new java.awt.Font("Dialog", 0, 12)); jMenu1.setText("Option"); jMenuItem1.setFont(new java.awt.Font("Dialog", 0, 12)); jMenuItem1.setText("Add Frame"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuItem1_actionPerformed(e); } }); jMenuBar1.add(jMenu1); jMenu1.add(jMenuItem1); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } void jMenuItem1_actionPerformed(ActionEvent e) { OwnInternalFrame frame = new OwnInternalFrame(); frame.setVisible(true); //necessary as of kestrel desktop.add(frame); try { frame.setSelected(true); } catch (java.beans.PropertyVetoException err) { err.printStackTrace(); } }}package jinternalframedemo;import javax.swing.JInternalFrame;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class OwnInternalFrame extends JInternalFrame { static int frameNo = 0; static final int xOffset = 20, yOffset = 20; public OwnInternalFrame() { super("InternalFrame " + (++frameNo), true, true, true, true); setSize(150,150); setLocation(xOffset*frameNo, yOffset*frameNo); }} SGIP模拟网关发送短信报错,请各位高手指点 大家评论一下那个马甲到底是好还是不好!!! 关于JCheckBox标签显示 用JAVA怎样判断一个地址是IPv4还是IPv6 给大家发一个java 自动生成Bean的工具代码 float类型的数字怎么确定精度????? JCREATOR 用JAVA如何播放MP3 JTextField问题,如何把由左向右输入改为由右向左输入! java初学者 环境变量设置后,javac不可用? 在Java语言中如何以微秒的精确度测量一段代码的执行时间?
package jinternalframedemo;import javax.swing.UIManager;
import java.awt.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class JInternalFrameDemo {
private boolean packFrame = false; //Construct the application
public JInternalFrameDemo() {
MainFrame frame = new MainFrame();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
//Main method
public static void main(String[] args) {
/* try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
*/ new JInternalFrameDemo();
}
}
package jinternalframedemo;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class MainFrame extends JFrame {
// private JPanel contentPane;
private JDesktopPane desktop = new JDesktopPane();
// private BorderLayout borderLayout1 = new BorderLayout();
private JMenuBar jMenuBar1 = new JMenuBar();
private JMenu jMenu1 = new JMenu();
private JMenuItem jMenuItem1 = new JMenuItem(); //Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));
// contentPane = (JPanel) this.getContentPane();
// contentPane.setLayout(borderLayout1);
desktop.putClientProperty("JDesktopPane.dragMode", "outline");
this.setContentPane(desktop);
this.setJMenuBar(jMenuBar1);
this.setSize(new Dimension(400, 300));
this.setTitle("JInternalFrameDemo");
jMenu1.setFont(new java.awt.Font("Dialog", 0, 12));
jMenu1.setText("Option");
jMenuItem1.setFont(new java.awt.Font("Dialog", 0, 12));
jMenuItem1.setText("Add Frame");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuItem1_actionPerformed(e);
}
});
jMenuBar1.add(jMenu1);
jMenu1.add(jMenuItem1); }
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} void jMenuItem1_actionPerformed(ActionEvent e) {
OwnInternalFrame frame = new OwnInternalFrame();
frame.setVisible(true); //necessary as of kestrel
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException err) {
err.printStackTrace();
}
}
}
package jinternalframedemo;import javax.swing.JInternalFrame;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class OwnInternalFrame extends JInternalFrame { static int frameNo = 0;
static final int xOffset = 20, yOffset = 20; public OwnInternalFrame() {
super("InternalFrame " + (++frameNo), true, true, true, true);
setSize(150,150);
setLocation(xOffset*frameNo, yOffset*frameNo);
}
}