±Û¾´ÀÌ :±è»óÀÏ 2000³â 7¿ù 05ÀÏ 21:41:44
¿©·¯ ´Ù¸¥ ȨÆäÀÌÁö¿¡µµ ¿Ã·È´Âµ¥ ´äº¯ÀÌ ¾ø¾î¿ä.....
ÀÚ¹ÙÃ¥Àº Çѹø Âß ºÃ´Âµ¥¿ä. Á¦°¡ °øºÎ¸¦ ÇÏ°í ÀÖ´Â ºÐ¾ß°¡ ¿µ»óó¸® Áï À̹ÌÁö ó¸® ºÐ¾ß Àä. JÇÁ·¹ÀÓ¿¡ JFileChooser¸Þ¼Òµå¸¦ fileÀ» ¿±â¹öÆ°À» »ý¼ºÇÏ¿© *.JPG, *.GIFÆÄÀÏÀ» ³»ºÎÇÁ·¹ÀÓ¿¡ ¿µ»óÀ» ºÙ¿©¼ Æ÷Å伥ó·³ ¸¸µé¾î º¼·Á°í ÆûÀâ°í Àִµ¥¿ä. ³»ºÎÇÁ·¹ÀÓ¿¡ ¿µ»óÀ» ºÙ¿©ÁöÁö°¡ ¾Ê¾Æ¼¿ä... °í»ýÀ» ÇÏ°í Àִµ¥¿ä. ºÙÀÌ´Â ¹æ¹ýÀ» °¡¸£ÃÄ ÁÖ¼¼¿ä. ¾Æ·¡°¡ ¼Ò½ºÀ̱¸¿ä. À߸ø µÈ ºÎºÐÀ» ÄÚÄ¡ Á».. ^^;
±×¸®°í¿ä. JFileChooser¿¡ °ü·Ã ÆÄÀÏÀº ¿Ã¸®Áö ¾Ê¾Ò½À´Ï´Ù.
import java.awt.*; // °øÅë»ç¿ë
import java.awt.event.*;
import javax.swing.JToolBar; // Åø¹Ù°ü·Ã
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.JInternalFrame; // ³»ºÎ ÇÁ·¹ÀÓ°ü·Ã
import javax.swing.JMenu;
import javax.swing.JDesktopPane;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MainFrame extends JFrame {
// ³»ºÎ ÇÁ·¹ÀÓÀ» ¸¸µç´Ù.
JDesktopPane desktop;
public MainFrame() {
super("Image Processing for Swing(½ºÀ®À» ÀÌ¿ëÇÑ ¿µ»óó¸®)");
/* Make the big window be indented 50 pixels from each edge
of the screen. : ȸé ÀÚÀåÀÚ¸®·ÎºÎÅÍ 50Çȼ¿ ¶³¾îÁø Å« À©µµ¿ì¸¦ ¸¸µç´Ù.*/
int inset = 50;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset, screenSize.width - inset*2, screenSize.height-inset*2);
// Set up the GUI. : GUI¸¦ ¼³Á¤ÇÑ´Ù.
desktop = new JDesktopPane(); // a specialized layered pane : Ư¼öÈµÈ ´ÙÃþâ
//createFrame(); // Create first window : ù¹ø° À©µµ¿ì¸¦ »ý¼ºÇÑ´Ù.
setContentPane(desktop);
setJMenuBar(createMenuBar());
//Make dragging faster : À©µµ¿ì ²ø±â ¼Óµµ¸¦ ºü¸£°Ô Çâ»óÇÑ´Ù.
desktop.putClientProperty("JDesktopPane.dragMode", "outline");
}
// create MenuBar : ¸Þ´º ¸¸µé±â cascadeÇüÅ·Π¸¸µé¾î Áø´Ù.
protected JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("ÆÄÀÏ");
menuFile.setMnemonic(KeyEvent.VK_D);
JMenuItem menuItemNew = new JMenuItem("»õÆÄÀÏ");
menuItemNew.setMnemonic(KeyEvent.VK_N);
JMenuItem menuItemOpen = new JMenuItem("¿±â");
JMenuItem menuItemSave = new JMenuItem("ÀúÀå");
JMenuItem menuItemExit = new JMenuItem("Á¾·á");
JMenu menuEdit = new JMenu("ÆíÁý");
JMenuItem menuItemCancle= new JMenuItem("½ÇÇàÃë¼Ò");
JMenuItem menuItemCopy = new JMenuItem("º¹»ç");
JMenuItem menuItemCut = new JMenuItem("ÀÚ¸£±â");
JMenuItem menuItemPaste= new JMenuItem("ºÙÀ̱â");
JMenu menuImage = new JMenu("À̹ÌÁö");
JMenu menuMode = new JMenu("¸ðµå");
JMenuItem menuItemRGB = new JMenuItem("RGB");
JMenu menuFilter = new JMenu("ÇÊÅÍ");
JMenuItem menuItemLowPass = new JMenuItem("·Î¿ì Æнº");
JMenuItem menuItemHighPass = new JMenuItem("ÇÏÀÌ Æнº");
JMenuItem menuItemMorphology = new JMenuItem("¸ðÆú·ÎÁö");
JMenuItem menuItemBoundary = new JMenuItem("°æ°è¼±");
JMenuItem menuItemMedian = new JMenuItem("¹Ìµð¾È");
JMenuItem menuItemPaint = new JMenuItem("ÆäÀÎÆ®");
JMenuItem menuItemEdge = new JMenuItem("¿¡Áö");
JMenuItem menuItemColor = new JMenuItem("Ä÷¯");
JMenuItem menuHelp = new JMenu("µµ¿ò¸»");
menuItemNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// createFrame();
}
});
menuFile.add(menuItemNew);
menuFile.add(menuItemOpen);
menuFile.add(menuItemSave);
menuFile.addSeparator();
menuFile.add(menuItemExit);
menuBar.add(menuFile);
menuEdit.add(menuItemCancle);
menuEdit.addSeparator();
menuEdit.add(menuItemCopy);
menuEdit.add(menuItemCut);
menuEdit.add(menuItemPaste);
menuBar.add(menuEdit);
menuMode.add(menuItemRGB);
menuImage.add(menuMode);
menuBar.add(menuImage);
menuFilter.add(menuItemLowPass);
menuFilter.add(menuItemHighPass);
menuFilter.add(menuItemMorphology);
menuFilter.add(menuItemBoundary);
menuFilter.add(menuItemMedian);
menuFilter.add(menuItemPaint);
menuFilter.add(menuItemEdge);
menuFilter.add(menuItemColor);
menuBar.add(menuFilter);
menuBar.add(menuHelp);
// ¸Þ´º ¾ÆÀÌÅÛÀÇ ¿±â¸¦ Å©¸¯ÇßÀ» °æ¿ì ÆÄÀÏ ¼±Åà âÀÌ ³ªÅ¸³´Ù.
menuItemOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
fc.addChoosableFileFilter(new ImageFilter());
fc.setFileView(new ImageFileView());
fc.setAccessory(new ImagePreview(fc));
int returnVal = fc.showDialog(MainFrame.this, "¿±â");
if (returnVal == JFileChooser.APPROVE_OPTION) {
/*File file = fc.getSelectedFile();
log.append("Attaching file: "" + file.getName()
+ "." + newline);
} else {
log.append("Attachment cancelled by user." + newline);*/
}
}
});
menuItemSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
/* fc.addChoosableFileFilter(new ImageFilter());
fc.setFileView(new ImageFileView());
fc.setAccessory(new ImagePreview(fc));*/
int returnVal = fc.showDialog(MainFrame.this, "ÀúÀå");
if (returnVal == JFileChooser.APPROVE_OPTION) {
//File file = fc.getSelectedFile();
/*log.append("Attaching file: "" + file.getName()
+ "." + newline);
} else {
log.append("Attachment cancelled by user." + newline);*/
}
}
});
/* Container contentPane = getContentPane();
contentPane.add(sendButton, BorderLayout.NORTH);
contentPane.add(logScrollPane, BorderLayout.CENTER);*/
return menuBar; // ¾×¼Ç ¸®½º³Êº¸´Ù ¾Õ¿¡ ÀÖÀ» °æ¿ì ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
}
/* create ImageFrame : ³»ºÎÇÁ·¹ÀÓÀÇ Ä¿½ºÅÒ ¼ºêŬ·¡½ºÀÎ À̹ÌÁö ÇÁ·¹ÀÓÀ» ±¸Çö
protected void createFrame() {
ImageFrame frame = new ImageFrame();
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}*/
// ¸ÞÀÎ ÇÔ¼ö
public static void main(String[] args) {
MainFrame frame = new MainFrame();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setVisible(true);
}
}
JFileChooser ºÎºÐÀ» À߸øÇÑ°Í °°Àºµ¥¿ä... Çѹø ºÁ ÁÖ¼¼¿ä.....