java 选择图片 显示不出来的_JAVA 窗体选择图片显示在窗体中
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 窗体选择图片显示在窗体中相关推荐
- java删除数组里的两个_java – 如何从两个数组列表中删除常用值
我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...
- java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示
java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...
- java 显示多行歌词_Java Swing制作多行滚动歌词显示控件 | 学步园
首先上图一张,为最终制作的效果图,不喜欢或感到失望的朋友可以先行离开 大家已经看到效果图了.那么下面就介绍设计思路和源代码 首先要想显示歌词,就要对歌词文件进行抽象.下面这个类是对某一行歌词文件进行了 ...
- input元素选择图片,并转换为base64格式在img标签显示
#input元素选择图片,并转换为base64格式在img标签显示 <body><input type="file"><img src="& ...
- java 图片合并_Java如何实现图片的叠加与拼接操作
关于Java实现图片的叠加与拼接的文章网络上确实很多,碰巧小编开发工作中也遇到这些问题,就做了简要的梳理,作为笔记以备不时之需. Java对图片的处理主要使用的是BufferedImage类. Buf ...
- java图片轮播_java制作广告图片自动轮播控件
首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...
- java图片和视频上传_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能(转)...
视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...
- 【源码+图片素材】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java小游戏_Java初级项目_Java课程设计项目
开发环境: jdk1.8 开发工具: IDEA JavaEE基础: 变量.数据类型.判断语句.循环结构.数组.集合.简单窗口创建.图形图片绘制.双缓存技术.事件-键盘事件.物体的碰撞检测.File [ ...
- opencv java 显示图片_【opencv三】利用opencv读取显示图片
在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...
- java中窗体背景图片_Java Swing 之设置窗体背景图片
/** * 设置窗体背景图片 * @author gao */ package com.gao; import java.awt.Graphics; import java.awt.Image; im ...
最新文章
- 多字节 unicode和utf-8的转换
- perl 分析mysql binlog
- react ajax 分页,一款简单的react分页组件
- ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
- html5 canvas图文编辑器源码_5个微信编辑器,再也不用为公众号发愁啦
- 使用OpenCV,Keras和Tensorflow构建Covid19掩模检测器
- 特权级概述(哥子就想知道CPU是如何验证特权级的)GATE+TSS
- 像Java这样的C ++具有低延迟
- delare和typeset
- [转贴]人老总是一场空
- 关于SVN提交注释的问题
- PAT L1 049 天梯赛座位分配
- android gradle教程,Android Gradle入门
- 各种字符集和编码详解(转)
- 横沥东莞注塑工艺需要考虑的7个因素
- iphone科学计算器使用
- 读书笔记:iPod 之父在《创造:在正确的方向上持续努力》中的思考
- 分享一下自己新入职前端工作三个月的心得
- 何山无石,何水无鱼,何女无夫,何子无父,何树无枝,何城无市
- tkinter-TinUI-xml实战(6)问卷