如题...
本人JAVA初学者, 希望高人指点, 给出一点参考代码.
我看过java sdk document.
里面的那个demo也试过, 似乎不行.
我用的netbeans5.5的ide, 不能修改生成的初始化代码.
只能在外部初始化, 所以不知如何下手.
本人JAVA初学者, 希望高人指点, 给出一点参考代码.
我看过java sdk document.
里面的那个demo也试过, 似乎不行.
我用的netbeans5.5的ide, 不能修改生成的初始化代码.
只能在外部初始化, 所以不知如何下手.
我自己写的一个FileFilter扩展了FileFilter,方便自己用, 这里供你参考:public class MyFileFilter extends FileFilter{
private String extension;
private String description;
public MyFileFilter(String ext) {
this(ext, null);
}
public MyFileFilter(String ext, String descr) {
extension = ext.toLowerCase();
description = (descr == null ? ext + "files" : descr); }
public boolean accept(File f) {
String name = f.getName().toLowerCase();
if (f.isDirectory() || (name.endsWith(extension))) {
return true;
} return false;
}
/**
* @return the description
* @uml.property name="description"
*/
public String getDescription() {
return description;
}
}结合JFileChooser一起使用:JFileChooser fc = new JFileChooser();
MyFileFilter mff = new MyFileFilter("xml", "XML File (*.xml)");
fc.addChoosableFileFilter(mff);
fc.setAcceptAllFileFilterUsed(false);
int returnVal = fc.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
} file 就是选择的文件
JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView());
FileFilter fileFilter = new javax.swing.filechooser.FileFilter() {
public boolean accept(File file) { //可接受的文件类型
String name = file.getName().toLowerCase();
return name.endsWith(".mp3")||
name.endsWith(".MP3")||
name.endsWith(".wav")||
name.endsWith(".WAV")||
file.isDirectory();
}
public String getDescription() { //文件描述
return "mp3,wav,midi 音乐文件";
}
};
File getFile(){
jfc.setFileFilter(fileFilter);
int result = fileChooser.showOpenDialog(new Frame());
if(result == JFileChooser.APPROVE_OPTION){
return fileChooser.getSelectedFile();
}
else{
return null;
}
}
继续请教,如何将选择的图片,绘制到Jframe上?
我自己做了一些,尝试,参考书上和网上的一些例子,但是都提示找不到方法或元件。
我都怀疑是不是有这个getImage()方法。下面是用netbeans 5.5.1 IDE生成的代码,小部分是自己写的。
/*
* frmMain.java
*
* Created on June 18, 2007, 6:12 PM
*//**
*
* @author BillyChow
*/
import java.awt.*;
public class frmMain extends javax.swing.JFrame {
/** Creates new form frmMain */
public frmMain() {
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=" Generated Code ">
private void initComponents() {
frmFile_Open = new javax.swing.JFrame();
jFileChooser1 = new javax.swing.JFileChooser();
dlgFile_Open = new javax.swing.JDialog();
jMenuBar1 = new javax.swing.JMenuBar();
mnuFile = new javax.swing.JMenu();
mnuFile_Open = new javax.swing.JMenuItem();
mnuFile_Exit = new javax.swing.JMenuItem(); jFileChooser1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jFileChooser1ActionPerformed(evt);
}
}); javax.swing.GroupLayout frmFile_OpenLayout = new javax.swing.GroupLayout(frmFile_Open.getContentPane());
frmFile_Open.getContentPane().setLayout(frmFile_OpenLayout);
frmFile_OpenLayout.setHorizontalGroup(
frmFile_OpenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, frmFile_OpenLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jFileChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
frmFile_OpenLayout.setVerticalGroup(
frmFile_OpenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(frmFile_OpenLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jFileChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout dlgFile_OpenLayout = new javax.swing.GroupLayout(dlgFile_Open.getContentPane());
dlgFile_Open.getContentPane().setLayout(dlgFile_OpenLayout);
dlgFile_OpenLayout.setHorizontalGroup(
dlgFile_OpenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
dlgFile_OpenLayout.setVerticalGroup(
dlgFile_OpenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("PictureViewer");
mnuFile.setText("File");
mnuFile_Open.setText("Open");
mnuFile_Open.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuFile_OpenActionPerformed(evt);
}
}); mnuFile.add(mnuFile_Open); mnuFile_Exit.setText("Exit");
mnuFile.add(mnuFile_Exit); jMenuBar1.add(mnuFile); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 279, Short.MAX_VALUE)
);
pack();
}// </editor-fold> private void jFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: } private void mnuFile_OpenActionPerformed(java.awt.event.ActionEvent evt) {
int returnVal = jFileChooser1.showOpenDialog(dlgFile_Open);
if(returnVal == jFileChooser1.APPROVE_OPTION){
System.out.println(jFileChooser1.getSelectedFile().getName());
}
Image pic;
Graphics g;
// Image = getImage("xx.jpg");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frmMain().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JDialog dlgFile_Open;
private javax.swing.JFrame frmFile_Open;
private javax.swing.JFileChooser jFileChooser1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenu mnuFile;
private javax.swing.JMenuItem mnuFile_Exit;
private javax.swing.JMenuItem mnuFile_Open;
// End of variables declaration
}