工具栏(JToolBar )、文本选择器、进度条(JProgressBar )、系统托盘(TrayIcon )和桌面集成控件(Desktop )(简单代码例子实现)

import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

public class Main extends JFrame{
	JProgressBar pro2;
	
	public Main() {
		setTitle("菜单");
		setBounds(100, 200, 500, 500);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		
		Container c =  getContentPane();
		
		JButton newbutton = new JButton("新建");
		JButton savebutton = new JButton("保存");
		JButton exitbutton = new JButton("退出");
		
		//工具栏
		JToolBar tool = new JToolBar();//创建工具栏对象
		c.add(tool);//容器布局一定要采用边界布局
		c.setLayout(new GridLayout(3,1,10,10));
		
		tool.add(newbutton);
		tool.addSeparator();//添加分割线
		tool.add(savebutton);
		tool.addSeparator(new Dimension(20, 0));//指定分隔符大小
		tool.add(exitbutton);
		tool.setFloatable(false);//不允许拖动
		
		
		//文本选择器
		JTextField textField = new JTextField();
		c.add(textField);
		textField.setBounds(50, 50, 100, 20);
		newbutton.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				JFileChooser fileChooser = new JFileChooser();//创建文件选择对话框
				//把不符合条件的全部过滤
				FileFilter filter = new FileNameExtensionFilter("图片", "jpg","png","gif");
				fileChooser.setFileFilter(filter);//添加过滤器
				
				int i = fileChooser.showOpenDialog(getParent());//显示文件选择对话框
				if( i == JFileChooser.APPROVE_OPTION) {//判断用户单击的是否为“打开”按钮
					File f = fileChooser.getSelectedFile();//获取选中的文件对象
					textField.setText(f.getAbsolutePath());//显示选中文件的名称
				}
			}
		});
		
		
		//进度条 
		//不确定进度条
		JProgressBar pro1 = new JProgressBar();
		pro1.setIndeterminate(true);//采用不确定进度条
		pro1.setBounds(20, 80, 100, 30);
		pro1.setStringPainted(true);//设置提示信息
		pro1.setString("连接中");
		c.add(pro1);
 
		//确定进度条
		pro2 = new JProgressBar();
		pro2.setIndeterminate(false);//采用确定进度条
		pro2.setBounds(80, 20, 100, 30);
		pro2.setStringPainted(true);//设置提示信息

		c.add(pro2);
		
		MyThread m = new MyThread();
		m.start();
		
		setContentPane(c);
		
		
		//系统托盘
		PopupMenu menu = new PopupMenu();//创建弹出菜单对象
		menu.add(new MenuItem("打开"));//创建"打开"菜单项对象
		menu.add(new MenuItem("离开"));
		try {
			Image image =  ImageIO.read(new File("src/tab.JPG"));
			TrayIcon tray = new TrayIcon(image,"使用系统托盘",menu);//创建托盘图片对象
			SystemTray system = SystemTray.getSystemTray();//获取系统托盘对象
			system.add(tray);//将托盘图片添加到系统托盘中
		} catch (IOException e1) {
			// TODO 自动生成的 catch 块
			e1.printStackTrace();
		} catch (AWTException e1) {
			// TODO 自动生成的 catch 块
			e1.printStackTrace();
		}
		
		//桌面集成控件
		Desktop d = Desktop.getDesktop();
		if(Desktop.isDesktopSupported()) {
			System.out.println("当前系统支持桌面集成控件");
		}
		
		try {
//			d.browse(new URI("www.baidu.com"));//自动打开默认浏览器访问网址
//			d.open(new File("C:\\Users\\thinkpad\\Desktop","a.png"));//自动打开桌面文件
			d.edit(new File("C:\\Users\\thinkpad\\Desktop","a.png"));//编辑该图片
		} catch (IOException e1) {
			// TODO 自动生成的 catch 块
			e1.printStackTrace();
		} 
	}
	
	//确定进度条线程
	class MyThread extends Thread{
		@Override
		public void run() {
			for( int i = 0 ; i <=100 ; i++) {
				pro2.setValue(i);
				try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
					// TODO 自动生成的 catch 块
					e.printStackTrace();
				}
			}
		}
	} 
		
	
	
	
	public static void main(String args[]) {
		new Main();			
	}
}

工具栏(位置可放在最上面):
在这里插入图片描述
在这里插入图片描述
文本选择器(点击新建,点击打开就可以输出地址(内含文件过滤器代码,可自行去寻找)):
在这里插入图片描述
在这里插入图片描述
进度条(右边是可以动的进度条(用了线程(线程那里也讲了进度条))):

在这里插入图片描述
系统托盘:
在这里插入图片描述
桌面集成控件:
在这里插入图片描述
用了这行代码,直接打开编辑这张图片。
在这里插入图片描述
具体效果可以运行尝试,只需注意一下,文件的位置。避免报错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值