java jtabbedpane 关闭_JTabbedPane实现关闭按钮 | 学步园
JTabbedPane如切换卡一般,大大的优化了布局,方便用户操作。Java默认的JTabbedPane添加tab时只会显示一个标题,咱们这里来给它实现关闭按钮,当鼠标移上这个tab时,便显示关闭按钮,移除时,便隐藏。也没什么好说的,实现代码如下:
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class addTab implements MouseListener{
JPanel jp;
JLabel lab ;
JLabel lab3=new JLabel();
public addTab(){
lab= new JLabel("选项卡1");
JLabel lab1 = new JLabel("选项卡");
jp=new JPanel();
GridLayout gl= new GridLayout(1,1,10,0);
jp.setLayout(gl);
lab1.setHorizontalAlignment(JLabel.LEFT);//设置文字显示在最左边
lab3.setHorizontalAlignment(JLabel.RIGHT);// 设置文字显示在最右边
jp.add(lab1);
jp.add(lab3);
tab.pane.addTab("i",lab);
tab.pane.setTabComponentAt(tab.pane.indexOfComponent(lab),jp);//实现这个功能的就这一条最重要的语句
lab3.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
tab.pane.remove(tab.pane.indexOfTabComponent(jp));
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
lab3.setText("x ");
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
lab3.setText("");
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
主方法类调用这个类:
import java.awt.event.*;
import javax.swing.*;
public class tab extends JFrame implements ActionListener{
JMenuItem mi;
staticJTabbedPane pane;
public tab()
{
super("选项卡窗格");
setVisible(true);
setSize(800,600);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mi=new JMenuItem("增加");
JMenu menu=new JMenu("增加");
menu.add(mi);
JMenuBar bar=new JMenuBar();
bar.add(menu);
setJMenuBar(bar);
pane = new JTabbedPane();
add(pane);
new addTab();
mi.addActionListener(this);
}
public static void main(String[] args) throws Exception
{
new tab();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==mi){
new addTab();
}
}
}
实现效果图:
当鼠标移动到第二个选项卡上,便显示出“X”(没有截取到鼠标箭头):
关闭第二个选项卡:
java jtabbedpane 关闭_JTabbedPane实现关闭按钮 | 学步园相关推荐
- java个人所得税计算_java个人所得税计算器 | 学步园
class Caculate{ private String name; private double money; private double actual; /** * @param usern ...
- java sortedset_Java类集-SortedSet接口 | 学步园
TreeSet实现了SortedSet接口 package iotest; import java.util.SortedSet; import java.util.TreeSet; public c ...
- java secretkey_Java中的SecretKeyFactory类 | 学步园
SecretKeyFactory表示秘密密钥的工厂.类声明:public class SecretKeyFactoryextends Object 密钥工厂用来将密钥(类型 Key 的不透明加密密钥) ...
- java的spinner_java中的spinner | 学步园
Java 2 SDK,1.4 beta 的最新发行版向 JFC/Swing 组件集添加了两个强大的新组件.其中一个是 JSpinner ,它使用户能够方便地选择日期.数字或拾取列表中的选项.(另一个是 ...
- java迭代器 异常_java迭代器失效 | 学步园
今天在测试代码的时候出现一个异常ConcurrentModificationException,该异常网上很多解决方案以及解释,但我还是再记录一遍吧. 代码抽象出来是这样的: import java. ...
- java精确度_java的数值精度问题 | 学步园
1.java的float和double是给科学计算用的,也就是说不能用于商业计算: 2.如果是商业计算那么必需使用java.math.BigDecimal,且必需要使用string来构造: (转载:h ...
- java 项目心得_读懂JAVA WEB项目的一点心得 | 学步园
今日接手一个JAVA开发的WEB项目,代码已是现成的(无文档),需要熟悉和日后修改.很久没有写代码了,于是有点儿不知如何下手,现在将自己感觉有用的做法记录一下. 一.熟悉应用整体功能 WEB项目的话, ...
- vector用法 java equals_java泛型vector的用法 | 学步园
java.util 类 Vector boolean add(E o) 将指定元素追加到此向量的末尾. void add(int index, E element) 在此向量的指定位置插入指定的元素 ...
- ls算法java实现_Java API之算法 | 学步园
本节中所描述的多态 排序(Sorting) 排序算法可为一个 List 重新排序,以使它的元素按照某种排序关系成上升式排序.有两种形式的操作被提供.简单形式的操作只采用一个 List 并按照它的元素的 ...
最新文章
- POJ - 1986 Distance Queries 倍增求LCA
- cgroup代码浅析(2)
- scanf_s 发送访问冲突_程序员如何解决并发冲突的难题?
- 消息队列 Kafka 的基本知识及 .NET Core 客户端
- 星巴克全面上线美团外卖 并联合美团推出“1971客厅”
- html 换行_李亚涛:清除HTML所有格式并且删除换行与回车,只显示文本
- 用pyinstaller把python脚本编译成可执行程序(windows系统)
- 数据丢包怎么修复_网络丢包率高怎么办
- 云信IM服务端API调用(THINKPHP版)
- 【笔记】基于TF-IDF 算法的文本相似度以衡量技术革新
- 多因子风险建模-协方差矩阵、投资组合风险
- python海龟画图代码大全_【程序源代码】python 海龟画图
- Liunx中mysql服务
- C#软件license管理(简单软件注册机制)
- Visual Studio Enterprise 2015简体中文版(企业版)秘钥
- ST-LINK/V2驱动下载与安装
- 设计复数类Complex,实现运算符重载。
- WORD Tips: 多行公式编辑及对齐
- ipad手写笔哪个牌子好用?便宜的ipad触控笔
- 【STM32H7教程】第85章 STM32H7的SPI 总线应用之SPI Flash的STM32CubeProg下载算法制作
热门文章
- 每日一皮:不允许穿格子衫之后...
- IDEA界面太丑??尝试一下这几个插件!
- 最后一个 IPV4 地址分配完毕,正式向IPV6过渡!
- 选择开源项目的时候,哪些因素是最需要考量的?
- php 如何让图片循环显示图片,[宜配屋]听图阁
- java语法结构是什么意思_java - 基础 - 语法结构
- 用计算机写试卷反思,100分试卷反思怎么写
- matlab里performance,关于神经网络performance图的问题
- ubuntu 使用 adb shell
- AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'