📄 usegifencoder.java
字号:
/*
* UseGifEncoder.java
*
* Created on 2007年8月5日, 下午8:15
*/
package org.Adam;
import Acme.JPM.Encoders.GifEncoder;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
/**
*
* @author Administrator
*/
public class UseGifEncoder extends javax.swing.JFrame {
/*
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO 将在此处添加您的处理代码:
System.exit(0);
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt){
this.saveImageAsGif();
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt){
this.openImageFile();
}
*/
/** Creates new form UseGifEncoder */
public UseGifEncoder() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPaneGlobal = new javax.swing.JScrollPane();
jLabelImage = new javax.swing.JLabel();
jMenuBarGlobal = new javax.swing.JMenuBar();
jMenuFile = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jScrollPaneGlobal.setViewportView(jLabelImage);
jMenuFile.setText("\u6587\u4ef6");
jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
jMenuItem1.setText("\u6253\u5f00\u6587\u4ef6");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenuFile.add(jMenuItem1);
jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
jMenuItem2.setText("\u4fdd\u5b58\u6587\u4ef6");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenuFile.add(jMenuItem2);
jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
jMenuItem3.setText("\u9000\u51fa");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenuFile.add(jMenuItem3);
jMenuBarGlobal.add(jMenuFile);
setJMenuBar(jMenuBarGlobal);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jScrollPaneGlobal, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.add(jScrollPaneGlobal, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE)
.add(20, 20, 20))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
// TODO 将在此处添加您的处理代码:
System.exit(0);
}//GEN-LAST:event_jMenuItem3ActionPerformed
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
// TODO 将在此处添加您的处理代码:
this.saveImageAsGif();
}//GEN-LAST:event_jMenuItem2ActionPerformed
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
// TODO 将在此处添加您的处理代码:
this.openImageFile();
}//GEN-LAST:event_jMenuItem1ActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new UseGifEncoder().setVisible(true);
}
});
}
private GifEncoder encoder ;
private JFileChooser fileChooser = new JFileChooser();
private File selectFile = null;
private File openedFile;
private void openImageFile() {
fileChooser.showOpenDialog(this);
openedFile=fileChooser.getSelectedFile();
if(openedFile==null)
return;
else{
this.jLabelImage.setIcon(new ImageIcon(openedFile.getPath()));
}
}
public void saveImageAsGif() {
try{
int saved=fileChooser.showSaveDialog(this);
if(saved==JFileChooser.APPROVE_OPTION){
if(this.openedFile !=null){
File saveFileName=fileChooser.getSelectedFile();
String fileName=new String(saveFileName.getPath()+".gif");
FileOutputStream fileOutPut=new FileOutputStream(fileName);
InputStream ins=new FileInputStream(this.openedFile.toString());
BufferedImage srcImage=ImageIO.read(ins);
encoder = new GifEncoder(srcImage, fileOutPut);
encoder.encode();
fileOutPut.flush();
fileOutPut.close();
ins.close();
}
}
}catch(Exception ea){
ea.printStackTrace();
}
}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JLabel jLabelImage;
private javax.swing.JMenuBar jMenuBarGlobal;
private javax.swing.JMenu jMenuFile;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JScrollPane jScrollPaneGlobal;
// 变量声明结束//GEN-END:variables
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -