Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. import java.awt.Dimension;
  2. import java.awt.Graphics;
  3. import java.awt.GridBagLayout;
  4. import java.awt.GridLayout;
  5. import java.awt.image.BufferedImage;
  6. import java.io.IOException;
  7. import java.net.URL;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import javax.imageio.ImageIO;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JPanel;
  14. import javax.swing.SwingUtilities;
  15.  
  16. public class ButtonsWithBackground {
  17.  
  18. public ButtonsWithBackground() {
  19. BufferedImage[] images = getImages();
  20. ImagePanel backgroundPanel = new ImagePanel(images[0]);
  21. backgroundPanel.setLayout(new GridLayout(1, 2, 0, 0));
  22. JPanel buttonsPanel = createButtonsPanel(images);
  23. JPanel leftPanel = new JPanel();
  24. leftPanel.setOpaque(false);
  25.  
  26. backgroundPanel.add(leftPanel);
  27. backgroundPanel.add(buttonsPanel);
  28.  
  29. JFrame frame = new JFrame();
  30. frame.setContentPane(backgroundPanel);
  31. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32. frame.pack();
  33. frame.setLocationRelativeTo(null);
  34. frame.setVisible(true);
  35. }
  36.  
  37. private JPanel createButtonsPanel(BufferedImage[] images) {
  38. JPanel panel = new JPanel(new GridLayout(4, 1));
  39. for (int i = 0; i < 4; i++) {
  40. ImagePanel buttonPanel = new ImagePanel(images[1]);
  41. buttonPanel.add(new JButton("Hey I'm a Button"));
  42. panel.add(buttonPanel);
  43. }
  44. return panel;
  45. }
  46.  
  47. private BufferedImage[] getImages() {
  48. BufferedImage[] bi = new BufferedImage[2];
  49. try {
  50. BufferedImage bg = ImageIO.read(new URL("http://i.stack.imgur.com/YFfO4.png"));
  51. BufferedImage jbtbg = ImageIO.read(new URL("http://i.stack.imgur.com/DtO9U.png"));
  52. bi[0] = bg;
  53. bi[1] = jbtbg;
  54. } catch (IOException ex) {
  55. Logger.getLogger(ButtonsWithBackground.class.getName()).log(Level.SEVERE, null, ex);
  56. }
  57. return bi;
  58. }
  59.  
  60. private class ImagePanel extends JPanel {
  61. private BufferedImage img;
  62.  
  63. public ImagePanel(BufferedImage img) {
  64. this.img = img;
  65. setLayout(new GridBagLayout());
  66. }
  67.  
  68. @Override
  69. protected void paintComponent(Graphics g) {
  70. super.paintComponent(g);
  71. g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
  72. }
  73. @Override
  74. public Dimension getPreferredSize() {
  75. return new Dimension(img.getWidth(), img.getHeight());
  76. }
  77. }
  78.  
  79. public static void main(String[] args) {
  80. SwingUtilities.invokeLater(new Runnable(){
  81. public void run() {
  82. new ButtonsWithBackground();
  83. }
  84. });
  85. }
  86. }
  87.  
  88. Jpanel buttonHolder = new JPanel;
  89. buttonHolder.add(button1);
  90. buttonHolder.add(button2);
  91. buttonHolder.add(button3);
  92. buttonHolder.add(button4);
  93.  
  94. frame.add(buttonHolder, FlowLayout.RIGHT); //justify to the right side
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement