java jinternalframe_Java JInternalFrame

package com.what21.demo03;

import java.awt.BorderLayout;

import java.awt.Frame;

import java.awt.Panel;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JInternalFrame;

import javax.swing.JLayeredPane;

public class SimpleInternalFrame extends Frame {

private static final long serialVersionUID = 2836748548836950487L;

private JButton openButton, macButton, javaButton, motifButton, winButton;

private JLayeredPane desktop;

// 内部窗口

private JInternalFrame internalFrame;

public SimpleInternalFrame() {

super("Internal Frame Demo");

this.setSize(500, 400);

this.openButton = new JButton("Open");

this.macButton = new JButton("Mac");

this.javaButton = new JButton("Metal");

this.motifButton = new JButton("Motif");

this.winButton = new JButton("Windows");

Panel p = new Panel();

p.add(this.openButton);

p.add(this.macButton);

p.add(this.javaButton);

p.add(this.motifButton);

p.add(this.winButton);

add(p, BorderLayout.SOUTH);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

this.openButton.addActionListener(new OpenListener());

ButionActionListener lnf = new ButionActionListener(this);

this.macButton.addActionListener(lnf);

this.javaButton.addActionListener(lnf);

this.motifButton.addActionListener(lnf);

this.winButton.addActionListener(lnf);

desktop = new JDesktopPane();

desktop.setOpaque(true);

add(desktop, BorderLayout.CENTER);

}

// 成员内部类

class OpenListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

if ((internalFrame == null) || (internalFrame.isClosed())) {

internalFrame = new JInternalFrame("Internal Frame", true,

true, true, true);

internalFrame.setBounds(50, 50, 200, 100);

desktop.add(internalFrame, new Integer(1));

internalFrame.setVisible(true);

}

}

}

/**

* @param args

*/

public static void main(String args[]) {

SimpleInternalFrame sif = new SimpleInternalFrame();

sif.setVisible(true);

}

}

package com.what21.demo03;

import java.awt.Frame;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

public class ButionActionListener implements ActionListener {

//窗口

private Frame frame;

/**

* 构造方法

*

* @param f

*/

public ButionActionListener(Frame f) {

frame = f;

}

public void actionPerformed(ActionEvent e) {

String lnfName = null;

if (e.getActionCommand().equals("Mac")) {

lnfName = "com.apple.mrj.swing.MacLookAndFeel";

} else if (e.getActionCommand().equals("Metal")) {

lnfName = "javax.swing.plaf.metal.MetalLookAndFeel";

} else if (e.getActionCommand().equals("Motif")) {

lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";

} else if (e.getActionCommand().equals("Windows")) {

lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";

} else {

System.err.println("Unrecognized L&F request action: "+ e.getActionCommand());

return;

}

try {

UIManager.setLookAndFeel(lnfName);

SwingUtilities.updateComponentTreeUI(frame);

} catch (UnsupportedLookAndFeelException ex1) {

System.err.println("Unsupported LookAndFeel: " + lnfName);

} catch (ClassNotFoundException ex2) {

System.err.println("LookAndFeel class not found: " + lnfName);

} catch (InstantiationException ex3) {

System.err.println("Could not load LookAndFeel: " + lnfName);

} catch (IllegalAccessException ex4) {

System.err.println("Cannot use LookAndFeel: " + lnfName);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值