2015-06-02 3 views
1

Я делаю графический интерфейс программы все, что происходит правильно, но добавить фоновое изображение в кадре, так что я беру JPanel личного variable.Also я добавить изображение в ЦСИ, который

но как использовать эту переменную jpanel, чтобы добавить фоновое изображение в рамку.
Код:Java: Фоновое изображение добавить на JFrame

public class App extends JFrame{ 

private JPanel panel; 
private JTextField field1; 
private JTextField print; 
private JLabel label; 
private JLabel label2; 
private JButton button; 




public App(){ 
    super(); 
getContentPane().setLayout(null); 



label = new JLabel("Value"); 
label.setForeground(Color.RED); 
label.setFont(new Font("SansSerif", Font.PLAIN, 18)); 
label.setBounds(178, 46, 51, 26); 
getContentPane().add(label); 


label2 = new JLabel("Print"); 
label2.setForeground(Color.RED); 
label2.setFont(new Font("SansSerif", Font.PLAIN, 18)); 
label2.setBounds(178, 143, 42, 26); 


getContentPane().add(label2); 






field1 = new JTextField(); 
field1.setBounds(178, 72, 76, 26); 


getContentPane().add(field1); 



print = new JTextField(); 
print.setBounds(178, 181, 77, 26); 
getContentPane().add(print); 



button = new JButton("Click"); 
button.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 

     String w= field1.getText(); 
     print.setText(w); 



    } 
}); 
button.setBounds(178, 219, 77, 26); 
getContentPane().add(button); 



} 

}

Основной метод:

public class Main { 

public static void main(String[] args) { 



    App object = new App(); 
    object.setSize(450, 400); 
    object.setDefaultCloseOperation(object.EXIT_ON_CLOSE); 
    object.setLocationRelativeTo(null); 
    object.setVisible(true);   
     } 


} 
+2

Где вы читаете изображения в? – user1803551

ответ

1

Вы установили Layout обнулить, который делает проблему. Всякий раз, когда мы делаем макет null, мы должны установить для него границы.

Folow этот метод:

  1. прежде всего скопировать фоновое изображение и вставить в ГКЗ код

  2. , чем установленная макете, чтобы BorderLayout как это:

    setLayout (новый BorderLayout ());

  3. теперь добавить этот код:

    setContentPane) (новый JLabel новый ImageIcon (GetClass() getResource ("image.jpg")).)

Примечание: добавить свое имя изображения здесь «image.jpg»

Смежные вопросы