| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 453 人关注过本帖
标题:我想把图片显示中面板中间,可是得不到想要的结果,而是现实在面板北部
只看楼主 加入收藏
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:2 
我想把图片显示中面板中间,可是得不到想要的结果,而是现实在面板北部
程序代码:
import java.awt.BorderLayout;
import java.awt.Image;

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


public class tt extends JFrame  {
    public  tt() {
        JPanel jPanel=new JPanel();
        ImageIcon image=new ImageIcon("C:/Users/wenguang/Desktop/新建文件夹/IMG_0030.jpg");//添加图片
        
        JLabel label=new JLabel(image);
        int width = image.getIconWidth();//获取图片的宽高
        int height = image.getIconHeight();
        if (width > 1000) {
            width = 1276;
            height = 850;
        }
        image.setImage(image.getImage().getScaledInstance(width, height,//缩小图片
                Image.SCALE_DEFAULT));
        jPanel.add(label,new BorderLayout().CENTER);
        getContentPane().add(jPanel,new BorderLayout().CENTER);
        setBounds(100, 100, 1276, 850);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
    public static void main(String[] args) {
        new tt();
    }

}
搜索更多相关主题的帖子: color 图片 
2015-03-28 21:56
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
收藏
得分:20 
程序代码:
import java.awt.BorderLayout;
import java.awt.Image;

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


public class tt extends JFrame  {
    public  tt() {
        JPanel jPanel=new JPanel();
        ImageIcon image=new ImageIcon("C:/Users/wenguang/Desktop/新建文件9Y/IMG_0030.jpg");
        
        JLabel label=new JLabel(image);
        int width = image.getIconWidth();
        int height = image.getIconHeight();
        if (width > 1000) {
            width = 1276;
            height = 850;
        }
        image.setImage(image.getImage().getScaledInstance(width, height,
                Image.SCALE_DEFAULT));
        jPanel.setLayout(new BorderLayout());jPanel.add(label, BorderLayout.CENTER);//jPanel.add(label,new BorderLayout().CENTER);
        getContentPane().add(jPanel,new BorderLayout().CENTER);
        setBounds(100, 100, 1276, 850);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
    public static void main(String[] args) {
        new tt();
    }

}


关键的修改
修改前:jPanel.add(label,new BorderLayout().CENTER);
修改后:jPanel.setLayout(new BorderLayout());jPanel.add(label, BorderLayout.CENTER);

参考资料:1和2是英文说明,3是官方的示例代码
1)https://docs.
2)https://docs.
3)https://docs.
2015-03-29 10:58
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:0 
谢谢,解决啦
2015-03-29 19:16
快速回复:我想把图片显示中面板中间,可是得不到想要的结果,而是现实在面板北部 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046435 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved