import java.awt.Color ;
import java.awt.FlowLayout ;
import java.awt.Graphics ;
import java.awt.Graphics2D ;
import java.awt.Image ;
import java.awt.Window ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.awt.image.BufferedImage ;
import java.io.File ;
import java.io.IOException ;
import javax.imageio.ImageIO ;
import javax.swing.JButton ;
import javax.swing.JFileChooser ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
import javax.swing.JPanel ;
import javax.swing.JTextField ;
import javax.swing.SwingUtilities ;
import javax.swing.filechooser.FileNameExtensionFilter ;
/**
*
*/
private static final long serialVersionUID = - 2900955352094956729L;
int x = 0 ;
int flag = 0 ;
T( ) {
a.addActionListener ( this ) ;
add( a) ;
j.addActionListener ( this ) ;
add( j) ;
setBackground
( Color .
WHITE ) ;
}
class tobi
implements ActionListener { // for close button of second window // if(x==1)
{
int gadda = 100 , w = 100 ;
gadda
= Integer .
parseInt ( ht.
getText ( ) ) ; w
= Integer .
parseInt ( wdth.
getText ( ) ) ; z
= z.
getScaledInstance ( gadda, w,
Image .
SCALE_SMOOTH ) ; setBackground
( Color .
BLACK ) ; j.repaint ( ) ;
qwe.setVisible ( false ) ;
}
}
}
public void meth( ) // method to create second window
{
win.setTitle ( "resizze!!" ) ;
cl.addActionListener ( new tobi( ) ) ;
win.add ( height) ;
win.add ( ht) ;
win.add ( width) ;
win.add ( wdth) ;
win.add ( cl) ;
win.pack ( ) ;
win.setVisible ( true ) ;
}
public void paintComponent
( Graphics g
) {
super .paintComponent ( g) ;
if ( x == 1 )
g.drawImage ( z, 0 , 0 , null ) ;
}
if ( e.getSource ( ) == j) {
// q.setFileFilter(new
// FileNameExtensionFilter("Image Files",ImageIO.getReaderFileSuffixes()));
q.addChoosableFileFilter ( new FileNameExtensionFilter( "Image Files" ,
"jpg" , "jpeg" , "png" ) ) ;
int option = q.showOpenDialog ( null ) ;
File f
= q.
getSelectedFile ( ) ; try {
b = ImageIO.read ( f) ;
z
= b.
getScaledInstance ( 100 ,
100 ,
Image .
SCALE_SMOOTH ) ; }
}
x = 1 ;
repaint( ) ;
}
else if ( e.getSource ( ) == a) {
meth( ) ;
}
}
public static void main
( String args
[ ] ) { public void run( ) {
j.
setDefaultCloseOperation ( JFrame .
EXIT_ON_CLOSE ) ; j.setSize ( 500 , 500 ) ;
j.add ( new T( ) ) ;
j.setVisible ( true ) ;
j.revalidate ( ) ;
j.repaint ( ) ;
}
} ) ;
}
}
aW1wb3J0IGphdmEuYXd0LkNvbG9yOwppbXBvcnQgamF2YS5hd3QuRmxvd0xheW91dDsKaW1wb3J0IGphdmEuYXd0LkdyYXBoaWNzOwppbXBvcnQgamF2YS5hd3QuR3JhcGhpY3MyRDsKaW1wb3J0IGphdmEuYXd0LkltYWdlOwppbXBvcnQgamF2YS5hd3QuV2luZG93OwppbXBvcnQgamF2YS5hd3QuZXZlbnQuQWN0aW9uRXZlbnQ7CmltcG9ydCBqYXZhLmF3dC5ldmVudC5BY3Rpb25MaXN0ZW5lcjsKaW1wb3J0IGphdmEuYXd0LmltYWdlLkJ1ZmZlcmVkSW1hZ2U7CmltcG9ydCBqYXZhLmlvLkZpbGU7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YXguaW1hZ2Vpby5JbWFnZUlPOwppbXBvcnQgamF2YXguc3dpbmcuSkJ1dHRvbjsKaW1wb3J0IGphdmF4LnN3aW5nLkpGaWxlQ2hvb3NlcjsKaW1wb3J0IGphdmF4LnN3aW5nLkpGcmFtZTsKaW1wb3J0IGphdmF4LnN3aW5nLkpMYWJlbDsKaW1wb3J0IGphdmF4LnN3aW5nLkpQYW5lbDsKaW1wb3J0IGphdmF4LnN3aW5nLkpUZXh0RmllbGQ7CmltcG9ydCBqYXZheC5zd2luZy5Td2luZ1V0aWxpdGllczsKaW1wb3J0IGphdmF4LnN3aW5nLmZpbGVjaG9vc2VyLkZpbGVOYW1lRXh0ZW5zaW9uRmlsdGVyOwoKY2xhc3MgVCBleHRlbmRzIEpQYW5lbCBpbXBsZW1lbnRzIEFjdGlvbkxpc3RlbmVyIHsKICAgIC8qKgogICAgICogCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIGxvbmcgc2VyaWFsVmVyc2lvblVJRCA9IC0yOTAwOTU1MzUyMDk0OTU2NzI5TDsKICAgIGludCB4ID0gMDsKICAgIGludCBmbGFnID0gMDsKICAgIEJ1ZmZlcmVkSW1hZ2UgYjsKICAgIEltYWdlIHo7CiAgICBKQnV0dG9uIGosIGEsIGNsOwogICAgSlRleHRGaWVsZCBodCwgd2R0aDsKCiAgICBUKCkgewogICAgICAgIGogPSBuZXcgSkJ1dHRvbigiSGkiKTsKICAgICAgICBhID0gbmV3IEpCdXR0b24oIlJlc2l6emUiKTsKICAgICAgICBhLmFkZEFjdGlvbkxpc3RlbmVyKHRoaXMpOwogICAgICAgIGFkZChhKTsKICAgICAgICBqLmFkZEFjdGlvbkxpc3RlbmVyKHRoaXMpOwogICAgICAgIGFkZChqKTsKICAgICAgICBzZXRCYWNrZ3JvdW5kKENvbG9yLldISVRFKTsKCiAgICB9CgogICAgY2xhc3MgdG9iaSBpbXBsZW1lbnRzIEFjdGlvbkxpc3RlbmVyIHsvLyBmb3IgY2xvc2UgYnV0dG9uIG9mIHNlY29uZCB3aW5kb3cKICAgICAgICBwdWJsaWMgdm9pZCBhY3Rpb25QZXJmb3JtZWQoQWN0aW9uRXZlbnQgYXNkKSB7CiAgICAgICAgICAgIC8vIGlmKHg9PTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBnYWRkYSA9IDEwMCwgdyA9IDEwMDsKICAgICAgICAgICAgICAgIGdhZGRhID0gSW50ZWdlci5wYXJzZUludChodC5nZXRUZXh0KCkpOwogICAgICAgICAgICAgICAgdyA9IEludGVnZXIucGFyc2VJbnQod2R0aC5nZXRUZXh0KCkpOwogICAgICAgICAgICAgICAgeiA9IHouZ2V0U2NhbGVkSW5zdGFuY2UoZ2FkZGEsIHcsIEltYWdlLlNDQUxFX1NNT09USCk7CiAgICAgICAgICAgICAgICBzZXRCYWNrZ3JvdW5kKENvbG9yLkJMQUNLKTsKICAgICAgICAgICAgICAgIGoucmVwYWludCgpOwogICAgICAgICAgICAgICAgSkJ1dHRvbiB0dHIgPSAoSkJ1dHRvbikgYXNkLmdldFNvdXJjZSgpOwogICAgICAgICAgICAgICAgV2luZG93IHF3ZSA9IFN3aW5nVXRpbGl0aWVzLndpbmRvd0ZvckNvbXBvbmVudCh0dHIpOwogICAgICAgICAgICAgICAgcXdlLnNldFZpc2libGUoZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBtZXRoKCkvLyBtZXRob2QgdG8gY3JlYXRlIHNlY29uZCB3aW5kb3cKICAgIHsKICAgICAgICBKRnJhbWUgd2luID0gbmV3IEpGcmFtZSgpOwogICAgICAgIHdpbi5zZXRUaXRsZSgicmVzaXp6ZSEhIik7CiAgICAgICAgd2luLnNldExheW91dChuZXcgRmxvd0xheW91dCgpKTsKICAgICAgICBKTGFiZWwgaGVpZ2h0ID0gbmV3IEpMYWJlbCgiSGVpZ2h0OiIpOwogICAgICAgIGh0ID0gbmV3IEpUZXh0RmllbGQoMjApOwoKICAgICAgICBKTGFiZWwgd2lkdGggPSBuZXcgSkxhYmVsKCJXaWR0aDoiKTsKICAgICAgICB3ZHRoID0gbmV3IEpUZXh0RmllbGQoMjApOwogICAgICAgIEpCdXR0b24gY2wgPSBuZXcgSkJ1dHRvbigiY2xvc2UiKTsKCiAgICAgICAgY2wuYWRkQWN0aW9uTGlzdGVuZXIobmV3IHRvYmkoKSk7CiAgICAgICAgd2luLmFkZChoZWlnaHQpOwogICAgICAgIHdpbi5hZGQoaHQpOwogICAgICAgIHdpbi5hZGQod2lkdGgpOwogICAgICAgIHdpbi5hZGQod2R0aCk7CiAgICAgICAgd2luLmFkZChjbCk7CiAgICAgICAgd2luLnBhY2soKTsKICAgICAgICB3aW4uc2V0VmlzaWJsZSh0cnVlKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBwYWludENvbXBvbmVudChHcmFwaGljcyBnKSB7CgogICAgICAgIEdyYXBoaWNzMkQgZ3QgPSAoR3JhcGhpY3MyRCkgZzsKICAgICAgICBzdXBlci5wYWludENvbXBvbmVudChnKTsKICAgICAgICBpZiAoeCA9PSAxKQogICAgICAgICAgICBnLmRyYXdJbWFnZSh6LCAwLCAwLCBudWxsKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBhY3Rpb25QZXJmb3JtZWQoQWN0aW9uRXZlbnQgZSkgewogICAgICAgIGlmIChlLmdldFNvdXJjZSgpID09IGopIHsKICAgICAgICAgICAgSkZpbGVDaG9vc2VyIHEgPSBuZXcgSkZpbGVDaG9vc2VyKCk7CiAgICAgICAgICAgIC8vIHEuc2V0RmlsZUZpbHRlcihuZXcKICAgICAgICAgICAgLy8gRmlsZU5hbWVFeHRlbnNpb25GaWx0ZXIoIkltYWdlIEZpbGVzIixJbWFnZUlPLmdldFJlYWRlckZpbGVTdWZmaXhlcygpKSk7CiAgICAgICAgICAgIHEuYWRkQ2hvb3NhYmxlRmlsZUZpbHRlcihuZXcgRmlsZU5hbWVFeHRlbnNpb25GaWx0ZXIoIkltYWdlIEZpbGVzIiwKICAgICAgICAgICAgICAgICAgICAianBnIiwgImpwZWciLCAicG5nIikpOwogICAgICAgICAgICBpbnQgb3B0aW9uID0gcS5zaG93T3BlbkRpYWxvZyhudWxsKTsKICAgICAgICAgICAgaWYgKG9wdGlvbiA9PSBKRmlsZUNob29zZXIuQVBQUk9WRV9PUFRJT04pIHsKICAgICAgICAgICAgICAgIEZpbGUgZiA9IHEuZ2V0U2VsZWN0ZWRGaWxlKCk7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGIgPSBJbWFnZUlPLnJlYWQoZik7CiAgICAgICAgICAgICAgICAgICAgeiA9IGIuZ2V0U2NhbGVkSW5zdGFuY2UoMTAwLCAxMDAsIEltYWdlLlNDQUxFX1NNT09USCk7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBhZSkgewogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHggPSAxOwogICAgICAgICAgICByZXBhaW50KCk7CiAgICAgICAgfQoKICAgICAgICBlbHNlIGlmIChlLmdldFNvdXJjZSgpID09IGEpIHsKICAgICAgICAgICAgbWV0aCgpOwogICAgICAgIH0KCiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkgewogICAgICAgIFN3aW5nVXRpbGl0aWVzLmludm9rZUxhdGVyKG5ldyBSdW5uYWJsZSgpewoJcHVibGljIHZvaWQgcnVuKCl7CglKRnJhbWUgaiA9IG5ldyBKRnJhbWUoKTsKICAgICAgICBqLnNldERlZmF1bHRDbG9zZU9wZXJhdGlvbihKRnJhbWUuRVhJVF9PTl9DTE9TRSk7CiAgICAgICAgai5zZXRTaXplKDUwMCwgNTAwKTsKICAgICAgICBqLmFkZChuZXcgVCgpKTsKICAgICAgICBqLnNldFZpc2libGUodHJ1ZSk7CglqLnJldmFsaWRhdGUoKTsKCWoucmVwYWludCgpOwoKfQp9KTsKICAgIH0KfQ==