相关疑难解决方法(0)

JComponents没有出现图片背景?

我的组件没有显示出来.我该如何解决?

码:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;

public class login implements ActionListener{
    JTextField gusername;
    JTextField gpassword;
    static String username;
    static String password;

    void logini() throws IOException {
        JFrame window = new JFrame("Login");
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setSize(300, 250);
        window.setResizable(false);
        window.setVisible(true);

        JPanel mainp = new JPanel(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        window.add(mainp);

        BufferedImage myPicture = ImageIO.read(new File("c:\\bgd.png"));
        JLabel picLabel = new JLabel(new ImageIcon( myPicture ));
        mainp.add(picLabel, c);

        c.gridx = 0;
        c.gridy = …
Run Code Online (Sandbox Code Playgroud)

java swing bufferedimage jpanel jframe

4
推荐指数
1
解决办法
4189
查看次数

Java如何在布局中添加图像作为背景

我有一个使用CardLayout的类,它有两张卡片,上面有一个按钮.我希望能够做的是放置一个像背景一样的图像,例如Windows中的桌面背景.该程序最终将有几张不同的卡片,我希望能够在每张卡片上放置不同的背景.我已尝试过在本网站上提出的其他类似问题中提出的许多建议,以及通过Google搜索我能找到的任何建议,但我似乎无法让它发挥作用.我知道使用CardLayout我不能将面板放在面板上,因此将图像放在JPanel上是行不通的.所以我的问题是,根据下面发布的代码,我有更好的方法来设置我的布局,以便它更好地工作,而且,我应该如何处理显示图像,使其在按钮的背景中?任何帮助将不胜感激.

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;

public class Cards implements ActionListener {    
private JPanel cards;
private JButton button1;
private JButton button2;
private Image backgroundImage;

public void addComponentToPane(Container pane) throws IOException {
    backgroundImage = ImageIO.read(new File("background.jpg"));

    //create cards
    JPanel card1 = new JPanel()
    {
        @Override
        public void paintComponent(Graphics g)
        {
            g.drawImage(backgroundImage, 0, 0, null);
        }
    };
    JPanel card2 = new JPanel();
    button1 = new JButton("Button 1");
    button2 = new JButton("Button 2");
    button1.addActionListener(this);
    button2.addActionListener(this);        
    card1.add(button1); …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel paintcomponent cardlayout

4
推荐指数
2
解决办法
6365
查看次数

我把这段代码直接从'Java all in one for Dummies'中取出来....为什么它不起作用?

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


@SuppressWarnings("serial")
public class Picture extends JFrame{

    public static void main(String[] args){

        new Picture();

    }

    public Picture(){

        this.setTitle("Picture");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel p = new JPanel();
        ImageIcon pic = new ImageIcon("TestImage.jpg");
        p.add(new JLabel(pic));
        this.add(p);
        this.pack();
        this.setVisible(true);
        System.out.println(pic);
    }

}
Run Code Online (Sandbox Code Playgroud)

这段代码只是显示一个折叠的框架.我希望包(); 方法调用会调整我的.jpg图像周围的框架,对吗?

我已经可以听到第一个问题,是的,图像与我的项目包文件夹位于同一文件夹中.

我正在使用Eclipse IDE.

我还添加了println(); 声明查看Image引用返回的内容并返回"TestImage.jpg".我以为它会在内存中返回图像的地址.

我整个上午一直在阅读论坛,如果不复制和使用其他人更复杂的代码,我无法找到任何可以帮助我的东西.我尽量保持这个尽可能简单,这样我就不会混淆自己.

在此先感谢您的帮助.

java eclipse swing jframe imageicon

4
推荐指数
2
解决办法
226
查看次数

如何在JButton上放置图像?

我正在写一个程序,要求我有一个按钮,上面有一个图像,但到目前为止,我还没有能够让它工作.我已经检查了这个网站上的其他几个帖子,包括如何将图像添加到JButton.
我的代码:

public class Tester extends JFrame
{
    public Tester()
    {
        JPanel panel = new JPanel();
        getContentPane().add(panel);
        panel.setLayout(null);

        setTitle("Image Test");
        setSize(300,300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        JButton button = new JButton();
        try 
        {
            Image img = ImageIO.read(getClass().getResource("Images\\BBishopB.gif"));
            button.setIcon(new ImageIcon(img));
        } 
        catch (IOException ex) {}

        button.setBounds(100,100,100,100);
        panel.add(button);
    }

    public static void main(String[] args)
    {
        Tester test = new Tester();
        test.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

当此代码运行时,会出现错误:线程"main"中的异常java.lang.IllegalArgumentException:input == null!此错误发生在以下行:

Image img = ImageIO.read(getClass().getResource("Images\\BBishopB.gif"));
Run Code Online (Sandbox Code Playgroud)

我不认为这个错误是由于java代码找不到文件,因为我的Images文件夹在src文件夹中(我正在使用Eclipse),如上面链接所推荐的那样.
有没有人对问题可能有什么想法?
谢谢.

java swing image jbutton embedded-resource

4
推荐指数
1
解决办法
2万
查看次数

在面板中设置图像图标

我想在面板中设置一个图像图标。我正在尝试这样做;

 JLabel label = new JLabel(new ImageIcon("logo.jpg"))
 panelHeader.add(label);
 add(panelHeader);
Run Code Online (Sandbox Code Playgroud)

但图像没有显示。任何建议我做错了什么?

java swing

3
推荐指数
1
解决办法
1万
查看次数

将图标添加到菜单项

我想添加ImageIcontoJMenuItem来说明诸如Newsave 之类的操作
为什么以下代码对我不起作用?

   JMenu file = new JMenu("File");
   menubar.add(file);
   JMenuItem newgame = new JMenuItem("New");
   file.add(newgame);
   newgame.setIcon(new ImageIcon("/Project1/zkre/new.gif"));
Run Code Online (Sandbox Code Playgroud)

java swing embedded-resource

3
推荐指数
1
解决办法
2万
查看次数

Swing Netbeans构建器中不显示背景图像

我在JFrame类上使用netbeans builder"design".我有传统的JFrame,我在其中添加了一个JPanel(使用构建器).

现在在代码中,我想为这个面板添加一个背景,如下所示:

public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
        addBackground();
    }

    private void addBackground()
    {
        Image bgImage;
        try {
            bgImage = ImageIO.read(new File("src/general/Mockup.png"));
            jPanel1.add(new NewJFrame.ImagePanel(bgImage));
            jPanel1.repaint();
        } catch (IOException ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void main(String args[]) {

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何东西,只是一个空的JFrame/JPanel.

顺便说一下,我将它用于ImagePanel代码

@SuppressWarnings("serial")
class ImagePanel extends JPanel {
    private Image image;

    ImagePanel(Image image) { …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing jpanel jframe

3
推荐指数
1
解决办法
1202
查看次数

将图像加载到 JLabel 中不起作用

我尝试使用显示图像JLabel。这是我的项目导航器: 在此输入图像描述

我想SettingsDialog.java使用以下代码显示图像:

        String path = "/images/sidebar-icon-48.png";
        File file = new File(path);
        Image image;
        try {
            image = ImageIO.read(file);

            JLabel label = new JLabel(new ImageIcon(image));
            header.add(label); // header is a JPanel
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

代码抛出异常:无法读取输入文件!

是不是图片路径不对?

java eclipse swing jlabel javax.imageio

3
推荐指数
1
解决办法
2743
查看次数

打包包含图像的程序

我有大量问题打包我的java程序,其中包含图像到jar转换为可执行文件.图像已用于程序和按钮的背景中.请参阅下图,其中显示了我希望转换为jar的程序.

图片

在此输入图像描述

如您所见,程序运行正常.我创建了相同的程序,没有自定义背景和自定义按钮,不包含图像,我成功将其打包到一个jar中,然后打包成.exe文件.

关于绘制我的背景,我这样做如下:

public void paintComponent(Graphics g) {
    Image img = new ImageIcon("imgs/Bgnd1.jpg").getImage();
    Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
    setPreferredSize(size);
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(null);
    g.drawImage(img, 0, 0, null);
} 
Run Code Online (Sandbox Code Playgroud)

关于使用图像创建我的4个自定义按钮,我正在执行以下操作:

// Prepare rollover images
ImageIcon F1 = new ImageIcon("imgs/btn_f1_not_selected.jpg");
ImageIcon F1rollOver = new ImageIcon("imgs/btn_f1_selected.jpg");

// Create F1 button
final JButton btnF1 = new JButton(F1);
//btnF1.setOpaque(false);
btnF1.setContentAreaFilled(false);
btnF1.setBorder(null);
btnF1.setBorderPainted(false);
btnF1.setFocusPainted(false);
btnF1.setRolloverIcon(F1rollOver);
Run Code Online (Sandbox Code Playgroud)

我尝试将图像放在bin文件夹中,并且为了创建背景,我改变了上述关于图像的声明/获取的方法.

public void paintComponent(Graphics g) {
        String path = "Bgnd11.jpg";
        java.net.URL imgURL = getClass().getResource(path);     
        Image img = new ImageIcon(imgURL).getImage(); …
Run Code Online (Sandbox Code Playgroud)

java swing jbutton embedded-resource imageicon

2
推荐指数
1
解决办法
182
查看次数

在Eclipse中将图像添加到JButton

我是一名新程序员,刚刚开始使用Eclipse.以前,我使用JGRASP,当我想要一个按钮添加图像时,我所做的就是Image在类的文件夹中创建一个文件夹并写入:

setIcon(newImageIcon(this.getClass().getResource("/Images/name.png")));

我用Eclipse尝试了同样的事情,但是我收到了一个main:NullPointerException错误.
我已经阅读了另一篇文章并source folder在我的项目中添加了一个名为Images但没有改变的项 以下是我遇到问题的代码段:

resetButton.setIcon(newImageIcon(this.getClass().getResource("/Images/helpIcon.png")));

java swing embedded-resource

2
推荐指数
1
解决办法
976
查看次数