package day01;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class Java_3

{

public static void main(String[] args)

{

JFrame frame = new ImageViewerFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //用户单击窗口的关闭按钮时程序执行的操作

//*********Found**********

frame.setVisible(true); //让JFrame对象显示出来

}

}

class ImageViewerFrame extends JFrame

{

private JLabel label;

private JLabel labelT;

private JFileChooser chooser;

private JComboBox faceCombo;

private static final int DEFAULT_SIZE = 24;

public static final int DEFAULT_WIDTH = 570;

public static final int DEFAULT_HEIGHT = 400;

public ImageViewerFrame()

{

setTitle("ImageViewer");

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

label = new JLabel(); //创建窗体

Container contentPane = getContentPane(); //创建容器

contentPane.add(label,BorderLayout.CENTER); //设置窗体大小

chooser = new JFileChooser(); //文件选择器

chooser.setCurrentDirectory(new File("."));

JMenuBar menuBar = new JMenuBar(); //菜单条

setJMenuBar(menuBar);

//*********Found**********

JMenu menu = new JMenu("File"); //负责创建菜单

menuBar.add(menu); //将菜单加入菜单条

JMenuItem openItem = new JMenuItem("Open"); //创建子菜单

//*********Found**********

menu.add(openItem); //将子菜单加入菜单条

openItem.addActionListener(new ActionListener() //监听子菜单的点击事件

{

public void actionPerformed(ActionEvent evt)

{

int r = chooser.showOpenDialog(null);

if(r == JFileChooser.APPROVE_OPTION)

{

//*********Found**********

String name = chooser.getSelectedFile().getPath(); //返回选中的文件名

label.setIcon(new ImageIcon(name)); //将返回选中的文件名显示在窗体中

}

}

});

labelT = new JLabel("红军不怕远征难"); //创建一个标签对象

labelT.setFont(new Font("隶书", Font.PLAIN, DEFAULT_SIZE));

contentPane.add(labelT, BorderLayout.NORTH );

faceCombo = new JComboBox(); //创建一个下拉组件对象

faceCombo.setEditable(true);

faceCombo.addItem("隶书");

faceCombo.addItem("华文新魏");

faceCombo.addItem("华文行楷");

faceCombo.addItem("华文隶书");

faceCombo.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent event)

{

//*********Found**********

labelT.setFont(new Font((String)faceCombo.getSelectedItem(),

Font.PLAIN, DEFAULT_SIZE));

}

});

JPanel comboPanel = new JPanel(); //面板容器

comboPanel.add(faceCombo); //将标签放入面板容器中

contentPane.add(comboPanel, BorderLayout.SOUTH); //将面板容器加入窗体中

}

}

标题运行结果如下

java 选择图片 显示不出来的_JAVA 窗体选择图片显示在窗体中相关推荐

  1. java删除数组里的两个_java – 如何从两个数组列表中删除常用值

    我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...

  2. java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

    java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...

  3. java 显示多行歌词_Java Swing制作多行滚动歌词显示控件 | 学步园

    首先上图一张,为最终制作的效果图,不喜欢或感到失望的朋友可以先行离开 大家已经看到效果图了.那么下面就介绍设计思路和源代码 首先要想显示歌词,就要对歌词文件进行抽象.下面这个类是对某一行歌词文件进行了 ...

  4. input元素选择图片,并转换为base64格式在img标签显示

    #input元素选择图片,并转换为base64格式在img标签显示 <body><input type="file"><img src="& ...

  5. java 图片合并_Java如何实现图片的叠加与拼接操作

    关于Java实现图片的叠加与拼接的文章网络上确实很多,碰巧小编开发工作中也遇到这些问题,就做了简要的梳理,作为笔记以备不时之需. Java对图片的处理主要使用的是BufferedImage类. Buf ...

  6. java图片轮播_java制作广告图片自动轮播控件

    首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...

  7. java图片和视频上传_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能(转)...

    视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...

  8. 【源码+图片素材】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java小游戏_Java初级项目_Java课程设计项目

    开发环境: jdk1.8 开发工具: IDEA JavaEE基础: 变量.数据类型.判断语句.循环结构.数组.集合.简单窗口创建.图形图片绘制.双缓存技术.事件-键盘事件.物体的碰撞检测.File [ ...

  9. opencv java 显示图片_【opencv三】利用opencv读取显示图片

    在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...

  10. java中窗体背景图片_Java Swing 之设置窗体背景图片

    /** * 设置窗体背景图片 * @author gao */ package com.gao; import java.awt.Graphics; import java.awt.Image; im ...

最新文章

  1. 多字节 unicode和utf-8的转换
  2. perl 分析mysql binlog
  3. react ajax 分页,一款简单的react分页组件
  4. ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
  5. html5 canvas图文编辑器源码_5个微信编辑器,再也不用为公众号发愁啦
  6. 使用OpenCV,Keras和Tensorflow构建Covid19掩模检测器
  7. 特权级概述(哥子就想知道CPU是如何验证特权级的)GATE+TSS
  8. 像Java这样的C ++具有低延迟
  9. delare和typeset
  10. [转贴]人老总是一场空
  11. 关于SVN提交注释的问题
  12. PAT L1 049 天梯赛座位分配
  13. android gradle教程,Android Gradle入门
  14. 各种字符集和编码详解(转)
  15. 横沥东莞注塑工艺需要考虑的7个因素
  16. iphone科学计算器使用
  17. 读书笔记:iPod 之父在《创造:在正确的方向上持续努力》中的思考
  18. 分享一下自己新入职前端工作三个月的心得
  19. 何山无石,何水无鱼,何女无夫,何子无父,何树无枝,何城无市
  20. tkinter-TinUI-xml实战(6)问卷

热门文章

  1. 基于JAVA+Swing+MYSQL的电影院购票管理系统
  2. 基于JAVA+Spring+MYSQL的失物招领管理系统
  3. 短信语音验证码发展的必然趋势
  4. 【总结】 Lucas定理
  5. 多线程实现生产者消费者
  6. 12种求职方式成功率排行榜
  7. 47 - 算法 - Leetcode -167-两数之和 - 输入有序数组
  8. c语言CString转数字函数,CString与16进制的CByteArray之间相互转化
  9. (篇十)用结构体数组处理学生成绩、结构体类型函数求平均值
  10. P1425 小鱼的游泳时间【入门题】