int state =file_load.showOpenDialog(this); File file=file_load.getSelectedFile(); //if choose the open if(file!=null&&state==JFileChooser.APPROVE_OPTION) {
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {
setVisible(false); } } ); }
public void valueChanged(ListSelectionEvent e) { int size=Integer.parseInt(list.getSelectedValue().toString()); setFont(new Font(getFont().getFontName(),Font.PLAIN,size)); }
public void actionPerformed(ActionEvent e) { setVisible(false); } }
*
*/
package mypackage;/**
* @author Administrator
*
*/
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.*;public class TestFrame {
public static void main(String[] args){
Frame f = new Frame("对外展示窗口");
f.setVisible(true);
f.setBackground(Color.green);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
TextArea t = new TextArea("展示介绍");
f.add(t,"Center");
f.setBackground(Color.red);
MenuBar m = new MenuBar();
Menu m1 = new Menu("效果展示");
Menu m2 =new Menu("关于我们");
m.add(m1);
m.add(m2);
f.setMenuBar(m);
MenuItem m11 = new MenuItem("文字");
MenuItem m12 = new MenuItem("图片");
MenuItem m13 = new MenuItem("视频");
m1.add(m11);
m1.add(m12);
m1.add(m13);
}
}
package com.test.demo;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileReader;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.filechooser.FileNameExtensionFilter;
public class EditorDemo
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new DWindow("COLOR");
}
});
}
}
class DWindow extends JFrame implements ActionListener
{
JTextPane tx;
JScrollPane jp;
JMenuBar menuBar;
JMenu menu1,menu2;
JMenuItem menuitem1,menuitem2,menuitem3,menuitem4,menuitem5;
JFileChooser file_save,file_load;
FileNameExtensionFilter filternew;
FileReader readfile;
ImageIcon icon;
DWindow(String s)
{
super(s);
Container con=getContentPane();
tx=new JTextPane();
jp=new JScrollPane(tx);
con.setLayout(new BorderLayout());
file_load=new JFileChooser();
filternew=new FileNameExtensionFilter( "图片文件", "jpg", "gif","jpeg","bmp","png");
file_load.setFileFilter(filternew);
menuBar=new JMenuBar();
menu1=new JMenu("设置");
menu2=new JMenu("文件");
menuitem1=new JMenuItem("字体");
menuitem4=new JMenuItem("字号");
menuitem2=new JMenuItem("背景色");
menuitem3=new JMenuItem("前景色");
menuitem5=new JMenuItem("打开图片文件");
menuitem1.addActionListener(this);
menuitem2.addActionListener(this);
menuitem3.addActionListener(this);
menuitem4.addActionListener(this);
menuitem5.addActionListener(this);
menu1.add(menuitem1);
menu1.add(menuitem4);
menu1.add(menuitem2);
menu1.add(menuitem3);
menu2.add(menuitem5);
menuBar.add(menu1);
menuBar.add(menu2);
setJMenuBar(menuBar);
con.add(jp,BorderLayout.CENTER);
setBounds(60,60,400,400);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
tx.setText(null);
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==menuitem1)
{
FontWindow fw=new FontWindow(this,"字体设置",true);
fw.setVisible(true);
System.out.println("返回的字体:"+fw.getFont().getName());
tx.setFont(new Font(fw.getFont().getFontName(),Font.PLAIN,tx.getFont().getSize()));
}
else if(e.getSource()==menuitem2)
{
Color newColor=JColorChooser.showDialog(this,"背景色设置",tx.getBackground());
tx.setBackground(newColor);
}
else if(e.getSource()==menuitem3)
{
Color newColor=JColorChooser.showDialog(this, "前景色设置",tx.getForeground());
tx.setForeground(newColor);
}
else if(e.getSource()==menuitem4)
{
FontSize fs=new FontSize(this,"字号设置",true);
fs.setVisible(true);
System.out.println("返回的字体:"+fs.getFont().getName());
tx.setFont(new Font(tx.getFont().getFontName(),Font.PLAIN,fs.getFont().getSize()));
}
else if(e.getSource()==menuitem5)
{
int state =file_load.showOpenDialog(this);
File file=file_load.getSelectedFile();
//if choose the open
if(file!=null&&state==JFileChooser.APPROVE_OPTION)
{
if(file.getName().endsWith(".gif")
||file.getName().endsWith(".jpg")
||file.getName().endsWith(".JPG")
||file.getName().endsWith(".JPEG")
||file.getName().endsWith(".jpeg")
||file.getName().endsWith(".bmp")
||file.getName().endsWith(".png")
)
{
icon=new ImageIcon(file.getAbsolutePath());
tx.insertIcon(icon);
}else
{
JOptionPane.showConfirmDialog(this, "你打开的不是一个图片文件,读取时会产生乱码。仍要继续吗?","确认对话框",JOptionPane.YES_NO_OPTION);
try
{
readfile=new FileReader(file);
tx.read(readfile, file.getName());
}catch(Exception e1)
{
e1.printStackTrace();
}
}
}
//if click the cancel
else if(state==JFileChooser.CANCEL_OPTION)
{
JOptionPane.showConfirmDialog(this, "确定要放弃吗?","确认对话框",JOptionPane.YES_NO_OPTION);
System.exit(0);
}
}
}
} class FontWindow extends JDialog implements ActionListener,ListSelectionListener
{
JList list;
JButton button;
JScrollPane sp;
FontWindow(JFrame f,String s,boolean b)
{
super(f,s,b);
button=new JButton("OK");
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontName=ge.getAvailableFontFamilyNames();
list=new JList();
list.setListData(fontName);
list.addListSelectionListener(this);
sp=new JScrollPane(list);
setLayout(new BorderLayout());
button.addActionListener(this);
add(button,BorderLayout.SOUTH);
add(sp,BorderLayout.CENTER);
setBounds(70,70,200,500);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
}
);
}
public void valueChanged(ListSelectionEvent e)
{
String fontName=list.getSelectedValue().toString();
Font font=new Font(fontName,Font.PLAIN,getFont().getSize());
setFont(font);
System.out.println(font.getName());
}
public void actionPerformed(ActionEvent e)
{
setVisible(false);
}
}
//字体大小
class FontSize extends JDialog implements ActionListener,ListSelectionListener
{
private int fontSize;
JList list;
JButton button;
JScrollPane sp;
FontSize(JFrame f,String s,boolean b)
{
super(f,s,b);
button=new JButton("OK");
String[] fontSize=new String[]{"5","8","12","16","20","26","32","36","40","48"};
list=new JList();
list.setListData(fontSize);
list.addListSelectionListener(this);
sp=new JScrollPane(list);
setLayout(new BorderLayout());
button.addActionListener(this);
add(button,BorderLayout.SOUTH);
add(sp,BorderLayout.CENTER);
setBounds(70,70,200,500);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
}
);
}
public void valueChanged(ListSelectionEvent e)
{
int size=Integer.parseInt(list.getSelectedValue().toString());
setFont(new Font(getFont().getFontName(),Font.PLAIN,size));
}
public void actionPerformed(ActionEvent e)
{
setVisible(false);
}
}
可以加载图片之类的。谁想更改,继续添加就行了