3、Swing(AWT的子类)

3.1窗口、面板

public class myJFrame extends JFrame {
//JFrame是一个顶级窗口
public myJFrame() {
setBounds(100, 100, 400, 400);
setVisible(true);
//swing关闭窗口的方法
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
//JFrame是Frame的子类
class Demo01JFrame extends myJFrame{
//JFrame是一个顶级窗口
public Demo01JFrame(){ //组件都是在容器中设置
//获得容器
Container container = this.getContentPane(); //JFrame也属于一个容器,需要将容器实例化
container.setBackground(new Color(172, 26, 9));
container.setLayout(null); //添加面板
JPanel jP = new JPanel();
jP.setBackground(new Color(1,50,1));
jP.setBounds(100,100,200,200); add(jP);
}
} //有一定的偏移,因为将顶部高度也算在其中了

3.2弹窗

class Demo02Frame extends myJFrame{
public Demo02Frame(){
//容器
Container contentPane = this.getContentPane();
//绝对布局
contentPane.setLayout(null);
Button btn1 = new Button("btn1");
btn1.setBounds(100,100,70,30);
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
new myJDialog();
}
});
contentPane.add(btn1);
}
} //弹窗属性和frame类似
class myJDialog extends JDialog {
public myJDialog() {
setVisible(true);
setBounds(500,500,300,300);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //任何组件都需要放到容器当中,否则无效
Container container = this.getContentPane();
//container.setLayout(new FlowLayout(FlowLayout.CENTER)); Label label = new Label("成功弹出弹窗");
//如果显示中文只能设置为MS Song字体,否则的话就会显示方框状的乱码
label.setFont(new Font("MS Song", Font.PLAIN, 9));
container.add(label);
}
}

3.3 imageIcon

public class IconJFrame extends myJFrame {
public IconJFrame(){
setSize(1000,1000); //图片在标签上显示
JLabel jlabel = new JLabel();
URL url = IconJFrame.class.getResource("tp.png");//直接获取同级目录下的图片地址
ImageIcon imageIcon = new ImageIcon(url);
//设置图片
jlabel.setIcon(imageIcon);
add(jlabel);
setVisible(true);
}
public static void main(String[] args) {
new IconJFrame();
}
}

3.4 JScrollPane 滚动条面板

public class JScrollDemo extends myJFrame{
public JScrollDemo(){
//获取容器
Container container = this.getContentPane(); //创建文本域
JTextArea jtArea = new JTextArea(50,50);
jtArea.setText("hello"); //创建一个滚动条面板
JScrollPane scrollPane = new JScrollPane(jtArea);//添加了文本域
scrollPane.setBounds(100,100,200,100); container.add(scrollPane);
setVisible(true);
} public static void main(String[] args) {
new JScrollDemo();
}
}

Swing常用容器的更多相关文章

  1. swing菜单,常用组件,常用容器

    1菜单 import javax.swing.*; import java.awt.*; import java.awt.event.InputEvent; import java.awt.event ...

  2. winform常用的属性(listview),常用容器(二者结合)

    ListVies控件主要用于展示数据(非常实用和重要的控件) FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) ___________________ ...

  3. C++ STL中的常用容器浅谈

    STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用.下面,我们就浅谈某些常用的容器.这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中 ...

  4. SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

    原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS ...

  5. 深入解析C++ STL中的常用容器

    转载:http://blog.csdn.net/u013443618/article/details/49964299 这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中的 ...

  6. docker 安装与常用命令与常用容器(containers)环境

    注意区别 container 与 image 的关系,container 的建立需要 image 的承载,也即 container 依赖 image,停止并删除了 container 并不会删除 im ...

  7. 2018.4.27 Java的Swing常用事件

    Swing常用事件 1.Java Swing中处理事件的一般步骤是: (1)新建一个组件(JButton) (2)将该组件添加到面板中(JPanel) (3)注册监听器以监听事件源产生的事件(如Act ...

  8. Swing学习篇 API [一]Swing常用组件

    1.按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且 ...

  9. Qt学习笔记常用容器

    主要说Qt的以下几种容器 1.QList<T> 2.QLinkedList<T> 3.Map<T> 和一些常用的容器方法的使用 qSort qCopy qFind ...

随机推荐

  1. 第七篇 -- 常用界面组件的使用(QSlider和QProgressBar)

    首先画个图 ui_proBar.py # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'ui_ ...

  2. jvm源码解读--18 Java的start()方法解读 以及 wait 和notify流程图

    drawwed by 张艳涛 and get info from openjdk8 还有一个图

  3. SpringBoot自动装配-源码分析

    1. 简介 通过源码探究SpringBoot的自动装配功能. 2. 核心代码 2.1 启动类 我们都知道SpringBoot项目创建好后,会自动生成一个当前模块的启动类.如下: import org. ...

  4. yum 卸载

    # yum list installed | grep [软件名] #yum -y remove [软件名]

  5. MySQL Shell import_table数据导入

    目录 1. import_table介绍 2. Load Data 与 import table功能示例 2.1 用Load Data方式导入数据 2.2 用import_table方式导入数据 3. ...

  6. ASP.NET MVC部署网站到IIS,只列出网站目录

    解决办法: 1.重启IIS 打开CMD运行以下代码: ps:根据发布网站的的.NET Framework版本进入对应的目录 4.0版本  C:\Windows\Microsoft.NET\Framew ...

  7. git分支merge冲突 error: you need to resolve your current index first

    问题: 执行切换代码分支 git checkout featrue_2019-06-24 ,报错如下: error: you need to resolve your current index fi ...

  8. C++ //多态案例三 ---电脑组装

    1 //多态案例三 ---电脑组装 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 ...

  9. 方法对了,你做1年Android开发能顶别人做10年

    前几天后台有读者问我这样的问题.他在一家互联网公司工作3年了,每天都很忙,事情又多又杂. 本想着学习多一些东西也不是坏事,可到头来一无所获,什么都没学会,满腔的热情也被消磨得差不多. 三天两头动辞职的 ...

  10. 只要套路对,薪资直接翻一倍!保姆级Android面试葵花宝典,肝完面试犹如开挂

    跳槽,这在 IT 互联网圈是非常普遍的,也是让自己升职加薪,走上人生巅峰的重要方式.那么作为一个普通的Android程序猿,我们如何才能斩获大厂offer 呢? 疫情向好.面试在即,还在迷茫踌躇中的后 ...