如何在JavaSwing的jframe中添加图像?
如何添加图像。我只想将图像添加到行的上方,而不是整个jframe上。如何在jframe swing中执行此操作。我试过了,但我可以在整个屏幕上设置背景图像。我只需要在线条上方设置背景如何在JavaSwing的jframe中添加图像?,java,image,swing,jframe,Java,Image,Swing,Jframe,如何添加图像。我只想将图像添加到行的上方,而不是整个jframe上。如何在jframe swing中执行此操作。我试过了,但我可以在整个屏幕上设置背景图像。我只需要在线条上方设置背景 import java.awt.*; import java.awt.event.*; import java.awt.geom.Line2D; import javax.swing.*; import java.sql.*; public class Demo1 extends JFrame { publi
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Line2D;
import javax.swing.*;
import java.sql.*;
public class Demo1 extends JFrame
{
public void paint(Graphics g) {
super.paint(g); // fixes the immediate problem.
Graphics2D g2 = (Graphics2D) g;
Line2D lin = new Line2D.Float(20, 150, 1350, 150);
g2.draw(lin);
}
public Demo1( )
{
{
getContentPane().setBackground(new java.awt.Color(240,255,255));
}
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Container c = getContentPane();
c.setLayout( new FlowLayout() );
setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
}
public static void main( String[] args )
{
Demo1 frame = new Demo1();
frame.setVisible(true);
}
}
要添加图像,您可以在
paint()
函数中使用g.drawImage(图像img,int x,int y,ImageObserver)
或
制作一个
JLabel
并将其添加到中,要添加图像,可以使用g.drawImage(图像img,int x,int y,ImageObserver)
函数中的
或
制作一个JLabel
并将其添加到中,要添加图像,可以使用g.drawImage(图像img,int x,int y,ImageObserver)
函数中的
或
制作一个JLabel
并将其添加到中,要添加图像,可以使用g.drawImage(图像img,int x,int y,ImageObserver)
函数中的
或
制作一个JLabel
并添加到它中//全局声明
private BufferedImage bi;
//某处
try {
bi = ImageIO.read(new File("C:/1.jpg"));//Write path of your image here
} catch (IOException ex) {
Logger.getLogger(ClassName.class.getName()).log(Level.SEVERE, null, ex);//Change ClassName to your class Name
}
final JPanel panel = new JPanel(){
@Override
protected void paintComponent(Graphics g){
Graphics g2 = g.create();
g2.drawImage(bi, 0, 0, getWidth(), getHeight(), null);
g2.dispose();
}
@Override
public Dimension getPreferredSize(){
return new Dimension(bi.getWidth()/2, bi.getHeight()/2);
}
};
mainPanel.add(panel, BorderLayout.CENTER);
//Add other components to mainPanel
frm.add(mainPanel);
//全球宣言
private BufferedImage bi;
//某处
try {
bi = ImageIO.read(new File("C:/1.jpg"));//Write path of your image here
} catch (IOException ex) {
Logger.getLogger(ClassName.class.getName()).log(Level.SEVERE, null, ex);//Change ClassName to your class Name
}
final JPanel panel = new JPanel(){
@Override
protected void paintComponent(Graphics g){
Graphics g2 = g.create();
g2.drawImage(bi, 0, 0, getWidth(), getHeight(), null);
g2.dispose();
}
@Override
public Dimension getPreferredSize(){
return new Dimension(bi.getWidth()/2, bi.getHeight()/2);
}
};
mainPanel.add(panel, BorderLayout.CENTER);
//Add other components to mainPanel
frm.add(mainPanel);
//全球宣言
private BufferedImage bi;
//某处
try {
bi = ImageIO.read(new File("C:/1.jpg"));//Write path of your image here
} catch (IOException ex) {
Logger.getLogger(ClassName.class.getName()).log(Level.SEVERE, null, ex);//Change ClassName to your class Name
}
final JPanel panel = new JPanel(){
@Override
protected void paintComponent(Graphics g){
Graphics g2 = g.create();
g2.drawImage(bi, 0, 0, getWidth(), getHeight(), null);
g2.dispose();
}
@Override
public Dimension getPreferredSize(){
return new Dimension(bi.getWidth()/2, bi.getHeight()/2);
}
};
mainPanel.add(panel, BorderLayout.CENTER);
//Add other components to mainPanel
frm.add(mainPanel);
//全球宣言
private BufferedImage bi;
//某处
try {
bi = ImageIO.read(new File("C:/1.jpg"));//Write path of your image here
} catch (IOException ex) {
Logger.getLogger(ClassName.class.getName()).log(Level.SEVERE, null, ex);//Change ClassName to your class Name
}
final JPanel panel = new JPanel(){
@Override
protected void paintComponent(Graphics g){
Graphics g2 = g.create();
g2.drawImage(bi, 0, 0, getWidth(), getHeight(), null);
g2.dispose();
}
@Override
public Dimension getPreferredSize(){
return new Dimension(bi.getWidth()/2, bi.getHeight()/2);
}
};
mainPanel.add(panel, BorderLayout.CENTER);
//Add other components to mainPanel
frm.add(mainPanel);
JFrame
甚至有paintComponent
方法吗?你的想法是对的。但也可能建议使用JPanel
来绘制,使用paintComponent
方法JFrame
和其他顶级组件不应在其上喷漆,因为它们已经承载了喷漆组件的负载,并且没有双缓冲。JFrame
甚至有paintComponent
方法吗?您的想法是对的。但也可能建议使用JPanel
来绘制,使用paintComponent
方法JFrame
和其他顶级组件不应在其上喷漆,因为它们已经承载了喷漆组件的负载,并且没有双缓冲。JFrame
甚至有paintComponent
方法吗?您的想法是对的。但也可能建议使用JPanel
来绘制,使用paintComponent
方法JFrame
和其他顶级组件不应在其上喷漆,因为它们已经承载了喷漆组件的负载,并且没有双缓冲。JFrame
甚至有paintComponent
方法吗?您的想法是对的。但也可能建议使用JPanel
来绘制,使用paintComponent
方法JFrame
和其他顶级组件不应在其上绘制,因为它们已经承载了绘制组件的负载,并且不是双缓冲区。为了OP和其他人的利益,对该代码进行一点ox解释,可以公正地回答这个问题。为了OP和其他人的利益,对该代码进行一点ox解释,我会公正地回答这个问题。为了OP和其他人的利益,对这个代码进行一点ox解释,我会公正地回答这个问题。为了OP和其他人的利益,对这个代码进行一点ox解释,我会公正地回答这个问题。