「JAVA板书图片」板书设计类型图片
今天给各位分享JAVA板书图片的知识,其中也会对板书设计类型图片进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java窗口中加载图片?
- 2、java 数据类型的自动转换
- 3、java中的swing设计界面时怎么加上背景图片。而不覆盖什么label等控件?
- 4、求一个Java无损压缩图片的示例,把原图片复制到指定目录,按原图比例改变尺寸,不影响图片质量。
- 5、请问下java中导出图片怎么做?
- 6、Java怎么添加背景图片?
java窗口中加载图片?
我刚好写了个浏览图片的。你看有帮助就改改好了
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.Rectangle;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
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.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JToolBar;
import javax.swing.UIManager;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Picture extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
private JPanel state;//状态面板
private JLabel statebar;
private JLabel timebar;
private JPanel client;//中间客户区
private JLabel pic;//图片标签
private TimeThread timethread;
private JToolBar jtoolbar;
private URL[] filepath;
public Picture(String str) throws AWTException
{
super(str);
//windows风格
try { // 使用Windows的界面风格
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
//菜单栏
JMenuBar Menubar=new JMenuBar();
JMenu MenuFile = new JMenu("文件(F)");
MenuFile.setMnemonic('F');
JMenu MenuAbout = new JMenu("关于(H)");
MenuAbout.setMnemonic('H');
Menubar.add(MenuFile);
Menubar.add(MenuAbout);
//菜单项
JMenuItem OpenItem = new JMenuItem("打开图片文件(O)",'O');
OpenItem.setMnemonic('o');
JMenuItem LoadItem = new JMenuItem("批量导入图片(L)",'L');
LoadItem.setMnemonic('L');
JMenuItem ExitItem = new JMenuItem("退出(X)",'X');
ExitItem.setMnemonic('X');
JMenuItem AboutItem = new JMenuItem("关于(A)",'A');
AboutItem.setMnemonic('A');
MenuFile.add(OpenItem);
MenuFile.add(ExitItem);
MenuAbout.add(AboutItem);
//菜单项选项时间注册
OpenItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
openfile();
}
});
ExitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
if (!SystemTray.isSupported())
{
System.out.println("SystemTray is not supported");
return;
}
SystemTray tray = SystemTray.getSystemTray();
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("image/tray.gif");
PopupMenu menu = new PopupMenu();
MenuItem ExitItemTray=new MenuItem("退出");
ExitItemTray.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
menu.add(ExitItemTray);
TrayIcon icon = new TrayIcon(image,"图片浏览器");
icon.setImageAutoSize(true);
icon.setPopupMenu(menu);
tray.add(icon);
AboutItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
showhelp();
}
});
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//设置菜单栏
super.setJMenuBar(Menubar);
timebar=new JLabel();
// 时间线程
timethread =new TimeThread();
timethread.start();
//状态栏信息栏
statebar=new JLabel();
statebar.setText("未选定");
client=new JPanel();
add(client,BorderLayout.CENTER);
client.setBorder(BorderFactory.createTitledBorder(""));
pic =new JLabel();
client.add(pic,BorderLayout.CENTER);
pic.setSize(client.getWidth()-200, client.getHeight());
state = new JPanel();
add(state,BorderLayout.SOUTH);//状态栏
state.setBorder(BorderFactory.createTitledBorder(""));
//状态栏两个面板
state.add(timebar);
timebar.setBorder(BorderFactory.createTitledBorder(""));
state.setLayout(new FlowLayout(FlowLayout.LEFT));
state.add(statebar);
jtoolbar = new JToolBar();
JButton jb_next=new JButton("上一个");
jb_next.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e) {
}
});
JButton jb_pre=new JButton("下一个");
JButton jb_play=new JButton("播 放");
jtoolbar.add(jb_next);
jtoolbar.add(jb_pre);
jtoolbar.add(jb_play);
add(jtoolbar,BorderLayout.NORTH);
setSize(700,400);//窗口大小
setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-350,150);//设置位置
setVisible(true);//显示
}
//打开图片
public void openfile()
{
JFileChooser f = new JFileChooser(); // 查找文件
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"图片文件(*.jpg,*.gif,*.png)", "jpg", "gif","png");
f.setFileFilter(filter);
f.showOpenDialog(this);
File[] files=new File[100];
files=f.getSelectedFile().listFiles();
ImageIcon img=new ImageIcon(f.getSelectedFile().getPath());
pic.setIcon(img);
statebar.setText("像素大小: "+img.getIconWidth()+"*"+img.getIconHeight()+" 文件位置: "+
f.getSelectedFile().getPath().toString()+" 文件大小: "+f.getSelectedFile().length()/1024+"KB"
);
}
//显示帮助
public void showhelp()
{
JOptionPane.showMessageDialog(this,"这是一款简单的图片浏览器"+"\n"+
"虽然只能进行图片阅览"+"\n"+"以后改进\n"+"作者:lqqnjust");
}
//主函数
public static void main(String[] args) throws Exception {
// TODO 自动生成方法存根
new Picture("图片浏览");
}
//时间线程类
public class TimeThread extends Thread
{
public void run()
{
//不停循环时间刷新
while(true){
Date d=new Date();//获取时间
SimpleDateFormat sdf=new SimpleDateFormat("kk:mm:ss");//转换格式
timebar.setText(sdf.format(d));
try{
Thread.sleep(1000);//1s执行一次
}catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
//托盘类
public class CreateTray
{
private CreateTray(){}
private CreateTray ct=null;
/** *//**创建单实列*/
public CreateTray getInstance()
{
//因为使用了判断语句,所以要用getInstance()方法
if(ct==null)
{
ct=new CreateTray();
}
return ct;
}
}
}
java 数据类型的自动转换
String就是字符串类型
第一 char相加的结果是int类型,不能赋值给String
第二 A+B的结果是int类型,再加上String,请应用int+String的规则
第三String+char+char,请应用char+String的规则
package org.xyz;
public class Test{
public static void main(String[] args) {
String V = "与";
char A = '男';
char B = '女';
// String s = A + B;//错误 A+B的结果是int,int不能赋值给String
int i = A + B;//正确,在java中char和byte是可以转换为十进制的 A+B的结果是int类型的
System.out.println(i);
String sum2 = i + V;//正确 字符串可以跟任意的基本类型相加 下面有证明
System.out.println(sum2);
String sum = A + B + V;//A+B的结果是int类型的,然后再加V A+B是char+char结果是int,字符串可以跟任意的基本类型相加
System.out.println(sum);
//===================String begin================================================================================
//八种基本类型String都可以跟它们进行相加,没有任何问题
boolean boo = true;
sum2 = boo + V;
double d = 10.0;
sum2 = d + V;
float f = 10.0f;
sum2 = f + V;
byte b = 'A';
sum2 = b + V;
//char
sum2 = A + V;
short sr = 10;
sum2 = sr + V;
long l = 10;
sum2 = l + V;
int i10 = 10;
sum2 = i10 + V;
//===================String end================================================================================
}
}
字符串跟基本类型相加的结果
package org.xyz;
/**
* 除了byte是转换称ACII码的值之后再跟字符串相加其他没有任何例外
*
*/
public class Test{
public static void main(String[] args) {
String str = "中";
String str2 = "";
boolean bl = true;
str2 = "";
str2 = bl + str;
System.out.println(str2);//true中
float f = 10.0f;
str2 = "";
str2 = f + str;
System.out.println(str2);//10.0中
double d = 10.0;
str2 = "";
str2 = d + str;
System.out.println(str2);//10.0中
int i = 10;
str2 = "";
str2 = i + str;
System.out.println(str2);//10中
short s = 10;
str2 = "";
str2 = s + str;
System.out.println(str2);//10中
byte b = 'c';
str2 = "";
str2 = b + str;
System.out.println(str2);//99中
char c = 'c';
str2 = "";
str2 = c + str;
System.out.println(str2);//c中
long l = 10;
str2 = "";
str2 = l + str;
System.out.println(str2);//10中
}
}
基本类型相加的规律
package org.xyz;
/**
*
* 任意基本类型都是可以相加了,除了跟boolean,boolean跟任何基本类型都不能相加,包括自身
* 可以相加的基本类型相加之後的结果一定是int float long double类型(有short参与并且另一个参数不大与short类型的结果都是int)
*/
public class Test{
public static void main(String[] args) {
char c = 'c';
byte b = 'b';
int i = 1;
long l = 10;
float f = 10.0f;
double d = 10.0;
short s = 10;
boolean bl = true;
//===================char begin==========================================
//char不可以跟boolean相加
i = c + c;//char + char = int
i = c + b;
i = c + i;
f = c + f;
d = c + d;
i = c + s;
l = c + l;
// i = c + bl;
//===================char end==========================================
//===================byte begin==========================================
//char不可以跟boolean相加
i = b + c;//char + char = int
i = b + b;
i = b + i;
f = b + f;
d = b + d;
i = b + s;
l = b + l;
// i = b + bl;
//===================byte end==========================================
//===================int begin==========================================
//char不可以跟boolean相加
i = i + c;//char + char = int
i = i + b;
i = i + i;
f = i + f;
d = i + d;
i = i + s;
l = i + l;
// i = i + bl;
//===================int end==========================================
//===================long begin==========================================
//char不可以跟boolean相加
l = l + c;//char + char = int
l = l + b;
l = l + i;
f = l + f;
d = l + d;
l = l + s;
l = l + l;
// l = l + bl;
//===================long end==========================================
//===================float begin==========================================
//char不可以跟boolean相加
f = f + c;//char + char = int
f = f + b;
f = f + i;
f = f + f;
d = f + d;
f = f + s;
f = f + l;
// f = f + bl;
//===================float end==========================================
//===================double begin==========================================
//char不可以跟boolean相加
d = d + c;//char + char = int
d = d + b;
d = d + i;
d = d + f;
d = d + d;
d = d + s;
d = d + l;
// d = d + bl;
//===================double end==========================================
//===================short begin==========================================
//char不可以跟boolean相加
i = s + c;//char + char = int
i = s + b;
i = s + i;
f = s + f;
d = s + d;
i = s + s;
l = s + l;
// i = s + bl;
//===================short end==========================================
//===================boolean begin==========================================
// i = bl + c;
// i = bl + b;
// i = bl + i;
// f = bl + f;
// d = bl + d;
// i = bl + s;
// l = bl + l;
// i = bl + bl;
//===================boolean end==========================================
}
}
java中的swing设计界面时怎么加上背景图片。而不覆盖什么label等控件?
通过以下方式设置下背景就可以了:
background = new ImageIcon("images/backImage.png");
backImage = new JLabel(background);
backImage.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight());
backPanel = (JPanel) this.getContentPane();
backPanel.setOpaque(false);
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));
backPanel.setLayout(new BorderLayout());
这样就可以把图片放在最下面了,效果图:
求一个Java无损压缩图片的示例,把原图片复制到指定目录,按原图比例改变尺寸,不影响图片质量。
一般都是大尺寸变小尺寸,肯定有损的。
不知道你的无损是什么意思,意思是变小尺寸了还能变大也像以前一样清晰?
好像有种“矢量图片”就是可以随意放大缩小并且无损,缺点就是图片很占空间。
请问下java中导出图片怎么做?
package com.xolt;
import java.io.FileOutputStream;
import java.io.File;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;
public class TestPOI {
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg =null;
BufferedImage bufferImg1 = null;
try{
//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));
bufferImg1 = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));
ImageIO.write(bufferImg,"jpg",byteArrayOut);
ImageIO.write(bufferImg1,"jpg",byteArrayOut1);
//创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("poi picT");
//HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60);
anchor1.setAnchorType(2);
//插入图片
patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
fileOut = new FileOutputStream("c:/workbook.xls");
//写入excel文件
wb.write(fileOut);
fileOut.close();
}catch(IOException io){
io.printStackTrace();
System.out.println("io erorr : "+ io.getMessage());
} finally
{
if (fileOut != null)
{
try {
fileOut.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
poi中图片到到excel的方法 你需要准备poi包 试试看看
Java怎么添加背景图片?
这是我以前的一个小代码你可以看看
public class demo_9 extends JFrame {
JSplitPane jsp = null;
JList jlist;
JLabel jlabel;
public static void main(String[] args) {
demo_9 a = new demo_9();
}
public demo_9(){
String []words ={"boy","girl"};
JList jlist = new JList(words);
jlabel = new JLabel(new ImageIcon("Image//真三.gif")); //这里就是引入图片了
//拆分窗格
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jlabel);
jsp.setDividerLocation(70);
//设置可以伸缩
jsp.setOneTouchExpandable(true);
this.add(jsp);
this.setTitle("test");
this.setSize(400,300);
this.setLocation(400,200);
this.setVisible(true);
}
}
步骤:首先先在project里新建个文件夹(Folder),然后把你要插入的图片复制黏贴到这个文件夹里面。
例如我那个引入的图片代码:jlabel = new JLabel(new ImageIcon("Image//真三.gif"));
我new一个folder叫Image,图片名称叫"真三.gif"
JAVA板书图片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于板书设计类型图片、JAVA板书图片的信息别忘了在本站进行查找喔。