fork download
  1. import java.awt.Color;
  2. import java.awt.FlowLayout;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Image;
  6. import java.awt.Window;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.image.BufferedImage;
  10. import java.io.File;
  11. import java.io.IOException;
  12. import javax.imageio.ImageIO;
  13. import javax.swing.JButton;
  14. import javax.swing.JFileChooser;
  15. import javax.swing.JFrame;
  16. import javax.swing.JLabel;
  17. import javax.swing.JPanel;
  18. import javax.swing.JTextField;
  19. import javax.swing.SwingUtilities;
  20. import javax.swing.filechooser.FileNameExtensionFilter;
  21.  
  22. class T extends JPanel implements ActionListener {
  23. /**
  24.   *
  25.   */
  26. private static final long serialVersionUID = -2900955352094956729L;
  27. int x = 0;
  28. int flag = 0;
  29. Image z;
  30. JButton j, a, cl;
  31. JTextField ht, wdth;
  32.  
  33. T() {
  34. j = new JButton("Hi");
  35. a = new JButton("Resizze");
  36. a.addActionListener(this);
  37. add(a);
  38. j.addActionListener(this);
  39. add(j);
  40. setBackground(Color.WHITE);
  41.  
  42. }
  43.  
  44. class tobi implements ActionListener {// for close button of second window
  45. public void actionPerformed(ActionEvent asd) {
  46. // if(x==1)
  47. {
  48. int gadda = 100, w = 100;
  49. gadda = Integer.parseInt(ht.getText());
  50. w = Integer.parseInt(wdth.getText());
  51. z = z.getScaledInstance(gadda, w, Image.SCALE_SMOOTH);
  52. setBackground(Color.BLACK);
  53. j.repaint();
  54. JButton ttr = (JButton) asd.getSource();
  55. Window qwe = SwingUtilities.windowForComponent(ttr);
  56. qwe.setVisible(false);
  57. }
  58. }
  59.  
  60. }
  61.  
  62. public void meth()// method to create second window
  63. {
  64. JFrame win = new JFrame();
  65. win.setTitle("resizze!!");
  66. win.setLayout(new FlowLayout());
  67. JLabel height = new JLabel("Height:");
  68. ht = new JTextField(20);
  69.  
  70. JLabel width = new JLabel("Width:");
  71. wdth = new JTextField(20);
  72. JButton cl = new JButton("close");
  73.  
  74. cl.addActionListener(new tobi());
  75. win.add(height);
  76. win.add(ht);
  77. win.add(width);
  78. win.add(wdth);
  79. win.add(cl);
  80. win.pack();
  81. win.setVisible(true);
  82. }
  83.  
  84. public void paintComponent(Graphics g) {
  85.  
  86. super.paintComponent(g);
  87. if (x == 1)
  88. g.drawImage(z, 0, 0, null);
  89. }
  90.  
  91. public void actionPerformed(ActionEvent e) {
  92. if (e.getSource() == j) {
  93. // q.setFileFilter(new
  94. // FileNameExtensionFilter("Image Files",ImageIO.getReaderFileSuffixes()));
  95. q.addChoosableFileFilter(new FileNameExtensionFilter("Image Files",
  96. "jpg", "jpeg", "png"));
  97. int option = q.showOpenDialog(null);
  98. if (option == JFileChooser.APPROVE_OPTION) {
  99. File f = q.getSelectedFile();
  100. try {
  101. b = ImageIO.read(f);
  102. z = b.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
  103. } catch (IOException ae) {
  104. }
  105. }
  106. x = 1;
  107. repaint();
  108. }
  109.  
  110. else if (e.getSource() == a) {
  111. meth();
  112. }
  113.  
  114. }
  115.  
  116. public static void main(String args[]) {
  117. SwingUtilities.invokeLater(new Runnable(){
  118. public void run(){
  119. JFrame j = new JFrame();
  120. j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  121. j.setSize(500, 500);
  122. j.add(new T());
  123. j.setVisible(true);
  124. j.revalidate();
  125. j.repaint();
  126.  
  127. }
  128. });
  129. }
  130. }
Success #stdin #stdout #stderr 0.16s 322688KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
	at java.awt.Window.<init>(Window.java:536)
	at java.awt.Frame.<init>(Frame.java:420)
	at java.awt.Frame.<init>(Frame.java:385)
	at javax.swing.JFrame.<init>(JFrame.java:189)
	at T$1.run(Main.java:122)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)