我有一个名为SimpleGUI
的GUI表单,它只是一个JPanel
。我的目标是在JPanel
内显示我的网址图片。
当我尝试添加图像时,我没有收到错误,但没有显示任何内容。如果我创建新的JFrame
并将JPanel
添加到该SimpleGUI
,则会显示图像。但后来我开了两个Windows。
如何以原始public class SimpleGUI extends JFrame {
private JPanel imagesPanel;
//private JFrame mainFrame;
public SimpleGUI() throws IOException {
super("GUI Page");
setContentPane(imagesPanel);
pack();
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(new Dimension(500, 500));
//mainFrame = new JFrame();
imagesPanel.setLayout(new GridLayout());
imagesPanel.setBounds(0,0,200,200);
//mainFrame.add(imagesPanel);
//mainFrame.setVisible(true);
BufferedImage img1 = null;
try
{
URL url1 = new URL("http://cosplayidol.otakuhouse.com/wp-content/uploads/2012/06/s-1-1.jpg");
URLConnection conn1 = url1.openConnection();
conn1.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
InputStream in1 = conn1.getInputStream();
img1 = ImageIO.read(in1);
} catch (IOException e)
{
e.printStackTrace();
}
JLabel wIcon = new JLabel(new ImageIcon(img1));
imagesPanel.add(wIcon);
}
}
形式显示图像? (以下代码)
谢谢!
public class Main {
public static void main(String[] args) {
// write your code here
try {
SimpleGUI simpleGUI = new SimpleGUI();
} catch (IOException ioe){
ioe.printStackTrace();
}
}
}
主要方法:
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<input id='txtCaseNumber' class="copyValue" placeholder="case number"/>
<input id='txtDealer' class="copyValue" placeholder="Dealer Name"/>
Case Number: <span data-inputId="txtCaseNumber"></span>
Dealer Name: <span data-inputId="txtDealer"></span>
<script>
$(document).ready(function(){
$(".copyValue").blur(function(){
var inputId = $(this).attr('id');
var ident = "span[data-inputId='" + inputId + "']";
$(ident).html($(this).val());
});
});
</script>
</body>
</html>
答案 0 :(得分:3)
方法顶部的代码应该在最后。这应该解决问题
setContentPane(imagesPanel);
pack();
setVisible(true);
编辑:除了解决问题之外,我应该解释为什么这可以解决问题。问题是当你在方法的开头调用pack()时,没有任何东西被添加到imagePanel,因此getPreferredSize()
的返回值将非常小/(0,0)。添加组件后,可以适当调整大小