Java学习笔记之多媒体设计.docx

上传人:b****8 文档编号:8997881 上传时间:2023-02-02 格式:DOCX 页数:15 大小:492.68KB
下载 相关 举报
Java学习笔记之多媒体设计.docx_第1页
第1页 / 共15页
Java学习笔记之多媒体设计.docx_第2页
第2页 / 共15页
Java学习笔记之多媒体设计.docx_第3页
第3页 / 共15页
Java学习笔记之多媒体设计.docx_第4页
第4页 / 共15页
Java学习笔记之多媒体设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java学习笔记之多媒体设计.docx

《Java学习笔记之多媒体设计.docx》由会员分享,可在线阅读,更多相关《Java学习笔记之多媒体设计.docx(15页珍藏版)》请在冰豆网上搜索。

Java学习笔记之多媒体设计.docx

Java学习笔记之多媒体设计

1.画直线

Graphics中画直线的方法:

drawLine(intx1,inty1,intx2,inty2);

packageaaa;

importjava.awt.*;

import.URL;

importjavax.swing.*;

publicclassDrawMedia

{

JFrameframe;

MyCanvaspale;//创建类对象

Containercontframe;//在类中定义,易于被其他方法调用

publicclassMyCanvasextendsJPanel//创建另一个类

{

publicvoidpaint(Graphicsg)

{

g.setColor(Color.red);

g.drawString("nihao",200,100);

g.drawLine(10,10,150,150);

g.setColor(Color.blue);

g.drawLine(150,150,300,10);

}

}

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()

{

pale=newMyCanvas();//实例化对象

contframe.add(pale);

}

publicstaticvoidmain(String[]args)

{

DrawMediaform=newDrawMedia("meida");

form.add();

}

}

效果如下:

其实g.后面就有很多方法,可以用于画直线、矩形、椭圆等等。

2.画多变线:

g.drawRect(10,10,20,20);//画矩形

g.drawOval(40,40,30,50);//画椭圆,前面两个是外切矩形的左上角点,后两个是外切矩形的框和高

g.drawArc(5,60,30,40,0,100);//画圆弧,前面四个和上面一样,第五个代表起始角度,0代表水平开始,最后一个代表终止角度,正代表逆时针,负代表顺时针

3.画多变型或折线;

通过数组设定多个点来画多变型或折线。

4.封闭图像并填充:

5.根据窗口大小来调整图像

我们这个外切矩形的长和宽与窗口的长和宽联系在一起,这就可以随着窗体来调整大小了。

6.字体:

系统的字体有家族名(familyname)、逻辑名(logicalname)和外形名(facename)。

家族名是字体的一般名称,如Courier,逻辑名是指字体的类别,如Monospaced,外形名是指特殊的字体,如CourierItalic

Font类的方法:

方法

说明

StaticFontdecode(Stringstr)

创建一个由str指定名称的字体对象

Map

>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();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1