/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package projectone;
import java.util.Arrays;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* @author Geoff
*/
public class CardDealer extends JFrame {
private JPanel imagePanel; // To hold the label
private JPanel buttonPanel; // To hold a button
private JLabel imageLabelOne, imageLabelTwo, imageLabelThree,
imageLabelFour, imageLabelFive; // To show an image
private JButton button; // To get an image
public static Object[] theHand; //five cards hand
public static void main(String[] args)
{
LinkedStack theDeck = new LinkedStack();
theDeck = theDeck.theCards();
System.out.println("List print test\n");
System.out.println(theDeck.toString());
theDeck.shuffle(theDeck);
System.out.println("List shuffle print test\n");
System.out.println(theDeck.toString());
Object[] hand =
{
theDeck.pop(),
theDeck.pop(),
theDeck.pop(),
theDeck.pop(),
theDeck.pop(),
};
System.out.println("Hand print test\n");
System.out.println(Arrays.toString(hand));
theHand = hand;
new CardDealer();
}
/**
Constructor
*/
public CardDealer()
{
// Set the title.
setTitle("Card Dealer");
// Specify an action for the close button.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create a BorderLayout manager.
setLayout(new BorderLayout());
setPreferredSize(new Dimension(600, 400));
// Build the panels.
buildImagePanel();
buildButtonPanel();
// Add the panels to the content pane.
add(imagePanel);
add(buttonPanel);
// Pack and display the window.
pack();
setVisible(true);
}
/**
The buildImagePanel method adds a label to a panel.
*/
private void buildImagePanel()
{
// Create a panel.
imagePanel = new JPanel();
imagePanel.setPreferredSize(new Dimension(600, 400));
imagePanel.setLayout(new GridLayout(2, 5));
// Create a label.
imageLabelOne = new JLabel();
imageLabelTwo = new JLabel();
imageLabelThree = new JLabel();
imageLabelFour = new JLabel();
imageLabelFive = new JLabel();
// Add the label to the panel.
imagePanel.add(imageLabelOne);
imagePanel.add(imageLabelTwo);
imagePanel.add(imageLabelThree);
imagePanel.add(imageLabelFour);
imagePanel.add(imageLabelFive);
}
/**
The buildButtonPanel method adds a button
to a panel.
*/
private void buildButtonPanel()
{
// Create a panel.
buttonPanel = new JPanel();
// Create a button.
button = new JButton("Deal");
// Register an action listener with the button.
button.addActionListener(new ButtonListener());
// Add the button to the panel.
buttonPanel.add(button);
}
/**
Private inner class that handles the event when
the user clicks the button.
*/
private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
// Read the image file into an ImageIcon object.
ImageIcon card1, card2, card3, card4, card5;
card1 = new ImageIcon(theHand[0].toString() + ".jpg");
card2 = new ImageIcon(theHand[1].toString() + ".jpg");
card3 = new ImageIcon(theHand[2].toString() + ".jpg");
card4 = new ImageIcon(theHand[3].toString() + ".jpg");
card5 = new ImageIcon(theHand[4].toString() + ".jpg");
// Display the image in the label.
imageLabelOne.setIcon(card1);
imageLabelTwo.setIcon(card2);
imageLabelThree.setIcon(card3);
imageLabelFour.setIcon(card4);
imageLabelFive.setIcon(card5);
// Pack the frame again to accomodate the
// new size of the label.
pack();
}
}
}
您正在添加到边框布局。因此您必须指定边框布局的位置,您希望添加组件。默认情况下,它会添加到中心。同样,您不能在同一位置添加2个或更多组件。
所以在你的代码中,问题是你没有指定位置,你在中心添加了2个组件。
要解决这个问题,请指定如下所示的位置
add(imagePanel); // same as `BorderLayout.CENTER` (default)
add(buttonPanel,BorderLayout.NORTH);
我想显示图像,但不知道该怎么做。我不知道是必须安装一些库文件,还是简单地安装就可以了。实际上我想做图像处理,但首先我必须接受图像输入并显示图像,然后我可以得到图像处理的效果作为输出,并决定它(算法)是否正确。我只安装了eclipse。我也在谷歌上搜索过,但是无论他们建议什么都不管用。要么我得装点什么,要么不装。 我已经尝试了以下代码: 它只是显示一个图形窗口,但不能显示图像“bishnu.jpg”
它将我带到图库以选择图像,但未显示在应用程序中,当单击上传按钮时,它只是一个空白图像视图 < li >我的Java代码 < li>XML代码 运行时显示此错误 java.lang.IllegalArgumentException:uri不能为空 以下两处给出错误的行显示了uri错误
但是宽度和高度较低的图像成功地加载到图像视图中! 有人能告诉我代码有什么问题吗?我做错了什么?我只想从库中导入相机图像,并在图像视图中显示它们!
Mac OSX Netbeans JAVA 目标:21点程序…我正在尝试将扑克牌的图像图标显示在JLabel中 逻辑:我创建了一些CARD对象,用一个方法返回与之相关的imageIcon。在我的主GUI类中,如果我创建新的imageIcon来指定文件位置,它就会工作 注释掉的行工作正常,显示imageIcon图像,但是当我使用card1.getImage()方法时,图像不显示。方法很简单- 此外,
问题内容: 我像这样设置静态文件的文件夹 在模板中,我使用img标签显示存储在/ tmp中的图像: 在firebug中,我看到404错误而不是图像。请告诉我我做错了什么? 提前致谢。 问题答案: 我不确定你正在使用什么配置项目。你在哪里找到它? 实际上,类构造函数有两个参数来控制静态文件的配置: static_folder:默认为“静态”。这是你必须在URL中使用的前缀才能访问静态文件。 stat
现在真的需要你的帮助 我有一些检测结果。 我希望在这个未旋转的图像上显示这个结果(请忽略蓝色框) 我的算法逻辑如下: 假设黄色框的坐标是参考参照系(图像1的左上角),我试图找到黄色框相对于图像1内部图像左上角参照系的坐标。 所以我使用了基本的trigno(图片1右下角的直角三角形,来获得内部图片左上角的坐标,并根据这个点找到黄色方框的坐标。 在这之后,由于我想在图像2上显示结果,我使用了内部图像的