我要做的就是将照片添加到JFrame
。
我真的很困惑,并且真的不明白......我已经在这个网站上查找了所有可能的问题,看了其他java的东西,比如论坛。我尽我所能,现在我必须请求帮助。我希望代码清晰易读。谢谢你的帮助。
package zeus;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
public class Main extends JFrame{
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public static final int SCALE = 1;
public static void Launch(){
JFrame xF = new JFrame("xFrame");
xF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
xF.setResizable(false);
xF.setVisible(true);
xF.setSize(WIDTH*SCALE,HEIGHT*SCALE);
xF.setLocationRelativeTo(null);
xF.add(new JLabel(new ImageIcon("/Clicker/xS/cow.png")));
}
public static void main(String[] args){
Launch();
}
}
非常抱歉混淆,eclipse显示没有错误,我也试图打开一个带有图像的JFrame,我最终可以创建一个按钮来更改int值的值。
答案 0 :(得分:3)
我能看到的最大问题是......
JFrame
延伸,但实际上没有使用它...... static
...... 在实际开始添加任何内容之前调用setVisible
。事实上,通常在添加任何内容之前以及在使其可见之后操纵框架属性......
public class Main {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame xF = new JFrame("xFrame");
xF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
xF.add(new JLabel(new ImageIcon("/Clicker/xS/cow.png")));
xF.setResizable(false);
xF.setSize(WIDTH*SCALE,HEIGHT*SCALE);
xF.setLocationRelativeTo(null);
xF.setVisible(true);
}
}
}
}
但是既然你从未真正描述过你遇到的问题,那么这些都是猜测......
答案 1 :(得分:1)
我有几个提示:
现在,至于你的代码,我建议你使用两个类:一个用于框架,一个用于面板。
框架类
import javax.swing.JFrame;
public class Apollo
{
public static void main(String[] args)
{
Jframe frame = new JFrame("xFrame");
frame.setSize(800,600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new Poseidon());
frame.setVisible(true);
}
}
小组类
import javax.swing.*;
import java.awt.*;
public class Poseidon extends JPanel
{
public void paintComponent(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRect(0,0,800,600);
ImageIcon clicker = new ImageIcon("/Clicker/xS/cow.png");
/*The following are two methods for image sizing,
*Use the one that best fits your code:
*
*g.drawImage(clicker.getImage(), x, y, null);
*Fill in the arguments for x and y to locate your upper left corner
*The image will be in it's original size
*
*g.drawImage(clicker.getImage(), x, y, w, h, null);
*Fill in the arguments for w and h to set the width and height of your image
*The image will be in it's scaled size
*/
}
}
答案 2 :(得分:1)
你可以使用 xF.setContentPane(new JLabel(new ImageIcon(image_path)));