>getAttribute()
获取当前字体对象的属性,以Map类型返回
StringgetFamily()
返回字体的对象家族名
StaticFontgetFont(Stringname)
返回name指定的系统属性相关的字体
StringgetFontName()
返回字体对象的外形名
StringgetName()
返回当前字体对象的逻辑名
IntgetSize()
返回当前字体对象的尺寸,单位为像素
IntgetStyle()
返回当前字体对象的样式值
BooleanisBold()
如果字体为黑色样式,返回true
BooleanisItalic()
如果字体为斜体样式,返回true
BooleanisPlain()
如果字体为纯文本,返回true
packageaaa;
importjava.awt.*;
import.URL;
importjavax.swing.*;
publicclassDrawMedia
{
JFrameframe;
Containercontframe;//在类中定义,易于被其他方法调用
privateJListnameList;
privateJScrollPanenameSpane;
publicDrawMedia(Stringname)//这里是最基本的东西,在创建对象实例form的时候,就自动调用这个构造函数创建了frame
{//这里的东西可以以后一点都不改动,要操作到其他方法中操作。
frame=newJFrame();
frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
frame.setTitle(name);//调用父类的方法
frame.setVisible(true);
frame.setBounds(10,10,450,450);
contframe=frame.getContentPane();
URLurl=DrawMedia.class.getResource("/image/picture.png");
//Form是类名,图片要放在项目---src文件----image文件夹下,URL是包下的类
ImageIconimageicon=newImageIcon(url);
Imageimage=imageicon.getImage();
frame.setIconImage(image);
}
publicvoidadd()
{
GraphicsEnvironmenteq=GraphicsEnvironment.getLocalGraphicsEnvironment();//获得本地所以的字体
String[]availableFonts=eq.getAvailableFontFamilyNames();//存放到数组中
nameList=newJList(availableFonts);//存放到列表框中
nameSpane=newJScrollPane();//滚动面板
nameSpane.setViewportView(nameList);//设置滚动面板显示列表框
contframe.add(nameSpane);
}
publicstaticvoidmain(String[]args)
{
DrawMediaform=newDrawMedia("meida");
form.add();
}
}
效果如下;
7.创建字体
Font(Stringname,intstyle,intsize)
Name可以使逻辑名或者是外形名
Style是字体的风格,Font.BOLD\Font.PLAIN\Font.ITALIC三种。
Size是字体的尺寸,以像素为单位
组件都有一个setFont(Fontfont)方法,可以通过这种方式把我们所创建的字体显示出来。
下面是一个完整的字体引用实例:
packageaaa;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
import.URL;
importjavax.swing.*;
publicclassDrawMedia
{
JFrameframe;
Containercontframe;//在类中定义,易于被其他方法调用
privateJListnameList;
privateJScrollPanenameSpane;
publicDrawMedia(Stringname)//这里是最基本的东西,在创建对象实例form的时候,就自动调用这个构造函数创建了frame
{//这里的东西可以以后一点都不改动,要操作到其他方法中操作。
frame=newJFrame();
frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
frame.setTitle(name);//调用父类的方法
frame.setVisible(true);
frame.setBounds(10,10,450,450);
frame.setLayout(null);
contframe=frame.getContentPane();
URLurl=DrawMedia.class.getResource("/image/picture.png");
//Form是类名,图片要放在项目---src文件----image文件夹下,URL是包下的类
ImageIconimageicon=newImageIcon(url);
Imageimage=imageicon.getImage();
frame.setIconImage(image);
}
publicvoidadd()
{
GraphicsEnvironmenteq=GraphicsEnvironment.getLocalGraphicsEnvironment();//获得本地所以的字体
String[]availableFonts=eq.getAvailableFontFamilyNames();//存放到数组中
finalJComboBoxcomname=newJComboBox(availableFonts);
comname.setBounds(5,5,150,30);
String[]fontstyle={"正常","粗体","斜体","粗斜体"};
finalJComboBoxcomstyle=newJComboBox(fontstyle);
comstyle.setBounds(160,5,80,30);
finalJTextFieldtext=newJTextField("12");
text.setBounds(300,5,80,30);
finalJLabellabel=newJLabel("实例字体");
label.setBounds(100,100,200,200);
JButtonbut=newJButton("显示字体");
but.setBounds(200,350,120,40);
contframe.add(comname);
contframe.add(but);
contframe.add(label);
contframe.add(text);
contframe.add(comstyle);
but.addActionListener(newActionListener()
{
@Override
publicvoidactionPerformed(ActionEvente){
intstyleIndex=comstyle.getSelectedIndex();
Stringfontstr=(String)comname.getSelectedItem();
intfontsize=Integer.parseInt(text.getText());
Fontuserfont=newFont(fontstr,styleIndex,fontsize);
label.setFont(userfont);
}
});
}
publicstaticvoidmain(String[]args)
{
DrawMediaform=newDrawMedia("meida");
form.add();
}
}
上面设置好后,点击显示字体,就可以轻松的显示出来,这就是一个很好的字体选择对话框。
8图像的显示:
packageaaa;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.File;
import.URL;
importjavax.swing.*;
publicclassDrawMedia
{
JFrameframe;
Containercontframe;//在类中定义,易于被其他方法调用
JPanelpane;
JScrollPanescrollpane;
publicDrawMedia(Stringname)//这里是最基本的东西,在创建对象实例form的时候,就自动调用这个构造函数创建了frame
{//这里的东西可以以后一点都不改动,要操作到其他方法中操作。
frame=newJFrame();
frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
frame.setTitle(name);//调用父类的方法
frame.setVisible(true);
frame.setBounds(10,10,450,450);
//frame.setLayout(null);
contframe=frame.getContentPane();
URLurl=DrawMedia.class.getResource("/image/picture.png");
//Form是类名,图片要放在项目---src文件----image文件夹下,URL是包下的类
ImageIconimageicon=newImageIcon(url);
Imageimage=imageicon.getImage();
frame.setIconImage(image);
}
publicvoidadd()
{
finalJTextFieldtext=newJTextField();
text.setColumns(25);
JButtonbut=newJButton("浏览");
pane=newJPanel();
pane.add(text);
pane.add(but);
finalJLabellabel=newJLabel();
scrollpane=newJScrollPane();
scrollpane.setViewportView(label);
contframe.add(pane,BorderLayout.NORTH);
contframe.add(scrollpane,BorderLayout.CENTER);
but.addActionListener(newActionListener()
{
@Override
publicvoidactionPerformed(ActionEvente){
JFileChooserchooser=newJFileChooser();
if(chooser.showOpenDialog(frame)==JFileChooser.APPROVE_OPTION)
{
Filetempfile=chooser.getSelectedFile();
text.setText(tempfile.toString());
ImageIconimg=newImageIcon(text.getText());//将图片加载到内存中
label.setIcon(img);//显示图片
}
else
{
JOptionPane.showMessageDialog(frame,"你选择取消");
}
}
});
}
publicstaticvoidmain(String[]args)
{
DrawMediaform=newDrawMedia("meida");
form.add();
}
}