Jframe.Jbutton与背景

时间:2015-12-14 07:56:48

标签: java swing background jframe jbutton

我写了这段代码,但是当我启动它时,我可以看到我的背景而不是它上面的按钮?如果有人可以帮助我,那就完美了!

package hamza;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class fr {

   public static void main(String[] args){

   JFrame frame = new JFrame("ORDERING FOOD APPLICATION");
   JPanel panel = new JPanel();
   ImageIcon icon = new ImageIcon("hamburger.jpg"); 
   frame.setIconImage(icon.getImage());
   frame.setSize(700, 700);
   frame.setVisible(true);

   try {
      frame.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("fd12.jpg")))));
   } catch (IOException e) {
      e.printStackTrace();
   }

2 个答案:

答案 0 :(得分:2)

  1. 在您完成设置UI之前,不要让框架可见
  2. 首选pack <{1}}
  3. setSize默认没有布局管理器,因此您需要提供一个
  4. JLabel不会根据它的子组件计算它的首选布局大小(它将忽略布局管理器),它只使用JLabel和{{1属性,所以要小心。
  5. Click me

    icon

    有关使用可能更灵活的text的替代方法,请参阅this

答案 1 :(得分:1)

你没有在框架上添加按钮,请尝试下面的代码

JButton button = new JButton("Click Me");
frame.add(button);