Java:Background 图片添加到 JFrame
Java:Background Image add on JFrame
我正在制作一个 gui 程序,一切正常,但在框架中添加背景图像,所以我将 jpanel 设为私有 variable.Also 我在 src 中添加图像,它是
但是如何使用这个 jpanel 变量在框架中添加背景图像。
代码:
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);
}
}
您已将 Layout 设置为 null,这是一个问题。每当我们将布局设置为 null 时,我们必须为其设置边界。
按照这个方法:
首先复制你的背景图片并粘贴到代码的src
而不是像这样将布局设置为 borderlayout:
setLayout(new BorderLayout());
现在添加此代码:
setContentPane(new JLabel new ImageIcon(getClass().getResource("image.jpg"))));
注意:在此处添加您的图片名称"image.jpg"
我正在制作一个 gui 程序,一切正常,但在框架中添加背景图像,所以我将 jpanel 设为私有 variable.Also 我在 src 中添加图像,它是
但是如何使用这个 jpanel 变量在框架中添加背景图像。
代码:
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);
}
}
您已将 Layout 设置为 null,这是一个问题。每当我们将布局设置为 null 时,我们必须为其设置边界。
按照这个方法:
首先复制你的背景图片并粘贴到代码的src
而不是像这样将布局设置为 borderlayout:
setLayout(new BorderLayout());
现在添加此代码:
setContentPane(new JLabel new ImageIcon(getClass().getResource("image.jpg"))));
注意:在此处添加您的图片名称"image.jpg"