面板容器:

package cn.dzz.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; public class Demo07 { JFrame jFrame = new JFrame("案例");
JTabbedPane jTabbedPane = new JTabbedPane(SwingConstants.LEFT, JTabbedPane.SCROLL_TAB_LAYOUT); void init() {
// 组装视图 // 添加标签
jTabbedPane.addTab(
"用户管理",
new ImageIcon("img/icon01.png"),
new JList<String>(new String[]{
"用户一",
"用户二",
"用户三",
}
)
);
jTabbedPane.addTab(
"商品管理",
new JList<String>(new String[]{
"商品一",
"商品二",
"商品三",
}
)
);
jTabbedPane.addTab(
"订单管理",
new ImageIcon("img/icon01.png"),
new JList<String>(new String[]{
"订单一",
"订单二",
"订单三",
}
)
); jTabbedPane.setEnabledAt(0, false);
jTabbedPane.setSelectedIndex(1);
jTabbedPane.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
int selectedIndex = jTabbedPane.getSelectedIndex();
JOptionPane.showMessageDialog(
jFrame,
"当前选中第" + (selectedIndex + 1) + "标签"
);
}
}); jFrame.add(jTabbedPane); jFrame.setResizable(false);
jFrame.setBounds(400, 400, 400, 400); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// jFrame.pack();
jFrame.setVisible(true);
} public static void main(String[] args) {
new Demo07().init();
}
}

效果:

进度条:

package cn.dzz.swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; public class Demo01 { JFrame jFrame = new JFrame("ProgressBar"); // 水平进度条
JProgressBar jProgressBar = new JProgressBar(
JProgressBar.HORIZONTAL
); // 按钮
JCheckBox indeterminate = new JCheckBox("不确定进度");
JCheckBox noBorder = new JCheckBox("无绘制边框"); public void init() {
// 添加
indeterminate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取状态是否为选中
boolean selected = indeterminate.isSelected();
jProgressBar.setIndeterminate(selected);
jProgressBar.setStringPainted(!selected);
}
}); noBorder.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
boolean selected = noBorder.isSelected();
noBorder.setBorderPainted(!selected);
}
});
Box verticalBox = Box.createVerticalBox(); verticalBox.add(indeterminate);
verticalBox.add(noBorder); jProgressBar.setStringPainted(true);
jProgressBar.setBorderPainted(true);
// 改变窗体东西南北中的布局,设置流布局方式
jFrame.setLayout(new FlowLayout());
jFrame.add(verticalBox);
jFrame.add(jProgressBar);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true); // 模拟进度加载
for (int i = 0; i <= 100; i++) {
jProgressBar.setValue(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} public static void main(String[] args) {
new Demo01().init();
}
}

效果:

【Java-GUI】10 Swing04的更多相关文章

  1. 再见!【JAVA GUI】

    1.GUI概述 图形用户界面(Graphical User Interface,简称 GUI,又 称图形用户接口)是指采用图形方式显示的计算机操作用户界面. java作为一种面向对象的程序设计语言,它 ...

  2. 【Java GUI】Java GUI基金会

    AWT和Swing Swing是个AWT改进和扩展. 书写GUI规划.Swing和AWT曾效力.他们共存 Java基础类(JFC)于. 虽然AWT和Swing都提供了构造图形界面元素的类.但它们的虫药 ...

  3. 【Java GUI】Java面板基础:JPanel

    有两个面板,常见的面板(JPanel)和滚动面板(JScrollPane) Jpanel 面板是一种常见的容器,JPanel的作用是实现接口层次结构,面放入一些组件.也能够在上面绘画,将放有组件和有画 ...

  4. 【Java基础】10、Java中throw和throws的区别

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常  ...

  5. 【JAVA基础】10 Object类

    1. Object类概述 是类层次结构的根类 每个类都使用 Object 作为超类 所有类都直接或者间接的继承自该类 所有对象(包括数组)都实现这个类的方法. 2. Object的构造方法 publi ...

  6. 【java设计模式】-00目录

    开篇 [java设计模式]-01设计模式简介 创建型模式: [java设计模式]-02工厂模式(Factory Pattern) [java设计模式]-03抽象工厂模式(Abstract Factor ...

  7. 【Java基础】4、java中的内部类

    内部类的分类:常规内部类.静态内部类.私有内部类.局部内部类.匿名内部类. 实例1:常规内部类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...

  8. 【Java编程】JDBC注入攻击-Statement 与 PreparedStatement

    在上一篇[Java编程]建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement我们介绍了怎样使用JDBC驱动建立一个简单的 ...

  9. 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement

    本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...

  10. 【线性表基础】顺序表和单链表的插入、删除等基本操作【Java版】

    本文表述了线性表及其基本操作的代码[Java实现] 参考书籍 :<数据结构 --Java语言描述>/刘小晶 ,杜选主编 线性表需要的基本功能有:动态地增长或收缩:对线性表的任何数据元素进行 ...

随机推荐

  1. react 高阶函数

    HOC(Higher Order Components)就是一个函数,传给它一个组件,它返回一个新的组件. 高阶组件:就相当于手机壳,通过包装组件,增强组件功能. 实现步骤: 首先创建一个函数 指定函 ...

  2. kettle从入门到精通 第三十九课 kettle 增量同步(日级)

    1.上一课我们学习了在数据量大的情况下的分页全量同步示例,本次我们一起学习下kettle 增量全量同步.有些业务场景不需要实时数据,比如统计t-1日的销售业绩情况等.   2.kettle增量全量同步 ...

  3. The sultion of P4959

    problem & blog 首先我们看到 \(x,y\) 有可能为负数,所以我们先把它旋转到第一象限. 然后我们发现如果 \(x_a \ge x_b\) 且 \(y_a \ge y_b\) ...

  4. Spring扩展———自定义bean组件注解

    引言 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制. Java 语言中的类.方法.变量.参数和包等都可以被标注.和 Javadoc 不同,Java ...

  5. java elasticsearch-rest-high-level-client 根据歌名搜索,创建索引,根据索引ID搜索

    1.pom 导入jar <dependency> <groupId>org.elasticsearch.client</groupId> <artifactI ...

  6. 技嘉BIOS超频设置操作路径

    关闭超线程 频率电压控制 > 进阶处理器设置 > Hyper_THreading 关小核心 频率电压控制 > GIGABYTE PerfDrive > Ecore Disabl ...

  7. 使用AWS Glue进行 ETL 工作

    数据湖 数据湖的产生是为了存储各种各样原始数据的大型仓库.这些数据根据需求,进行存取.处理.分析等.对于存储部分来说,开源版本常见的就是 hdfs.而各大云厂商也提供了各自的存储服务,如 Amazon ...

  8. 高通Android Cam-x Actuator Bring up

    高通Android Camera Bring Up Actuator reference:https://blog.csdn.net/mr_zjc/article/details/105736925 ...

  9. HTTP协议 学习:1-报文分析

    HTTP协议 学习:1-报文分析 背景 上一讲我们介绍了HTTP协议的一些 概念 ,对HTTP协议有了一个基础的认识. 正如之前学习MQTT协议一样,我们需要对HTTP的报文进行分析. HTTP 报文 ...

  10. Gitbook的安装和部署

    安装 npm install gitbook-cli -g gitbook命令: gitbook init //初始化目录文件 gitbook help //列出gitbook所有的命令 gitboo ...