# 创建一个A类 class A: def a(self): return print('这里是A类') class B: # 实例化A类达到调用目的 def...run_a(self): self.a=A() self.a.a() # 这样就调用到了a类的方法了 # 继承自A类,什么是继承,请自行百度 直达链接 class...C(A): pass c=C() # 实例化C类 # 有了继承自A的方法,所以直接使用A类的方法就好 c.a() #这样也是同样的效果噢
IDEA插件对话框 DialogWrapper DialogWrapper是IntelliJ下的所有对话框的基类,他并不是一个实际的UI控件,而是一个抽象类,在调用其show方法的时候,由IntelliJ...Dialogs | IntelliJ Platform Plugin SDK (jetbrains.com) 我们需要做的就是编写一个类来继承该Wrapper。...对GUI的操作,比如修改窗体某个控件的文本或是想要对一个窗体进行模态显示,都需要在窗体GUI主线程进行,否则就会出现GUI的处理异常。...这个方法需要我们返回实现javax.swing.Action接口的实例的数组,当然,IDEA插件也有对应的Wrapper:DialogWrapperAction。...,我们定义了一个私有字段JTextField,之所以需要在类中持有该引用,是因为我们定义一个方法getText,以便在对话框结束时,可以通过调用PromptDialog.getText来获取用户输入。
pass def pr(self): return("KKKKKKK") if __name__=="__main__": abcd().pr() 文件2,调用文件...1中abcd类的pr方法,并提取返回值 #python 3.6 #!...env python # -*- coding:utf-8 -*- __author__ = 'BH8ANK' from test12 import abcd '''x获取了test12文件中,abcd类的
框架入口:一个 IDEA 插件开发完,要考虑把它嵌入到哪,比如是从 IDEA 窗体的 Edit、Tools 等进入配置还是把窗体嵌入到左、右工具条还是IDEA窗体下的对话框。...UI:思考的是窗体需要用到什么语言开发,没错,用的就是 Swing、Awt 的技术能力。...MySearchableConfigurable,可以用于 Settings 中配置窗体。 TestUI 是基于 Swing 开发的窗体,验证在 AnAction 实现类中打开。...,如果想展示自己的窗体,则需要开发对应的 ToolWindowFactory 实现类,这样才可以展示你的内容。...这里的思想基本是 Swing 技术的开发方式,如果你不熟悉 Swing 最这块内容会比较陌生。
浏览器或小应用程序的阅读器会调用Swing小应用程序的构造方法,因此,通常不需要开发人员编写代码来调用它的构造方法,但是,应用程序必须负责构造窗体并负责设置窗体的大小。...如果一个内部窗体与另一个内部窗体重叠,则下面的内部窗体的重量画布将会使上面的内部窗体的一部分变模糊,因为重量画布的层序比轻量内部窗体的层序高。 ...其效果是允许事件派发线程调用另一个线程中的任意一个代码块。 ...例2-13 从另一个线程更新组件的错误方法 import javax.swing.*; import java.awt.*; import java.awt.event.*; public...例2-14 从另一个线程中更新组件的正确方法(演示图) import javax.swing.*; import java.awt.*; import java.awt.event.*;
窗体时Swing组件中的对话框, * JDialog的功能就是是从一个窗体中弹出另一个窗体,就像是在使用浏览器时弹出的确定对话框一样 * * 2:JDialog窗体和JFrame窗体类似,在使用时也需要调用... * */ public class JDialogTest extends JDialog{ public JDialogTest(){ //实例化一个JDialog类对象...; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.WindowConstants...JFrame窗体形式基本相同,甚至在设置窗体的特性 //时调用的方法名称都基本相同,如设置窗体的大小,设置窗体的关闭状态等 public MyJDialog(MyFrame frame)...{//定义一个构造方法 //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题,和类型 super(frame,"第一个JDialog窗体",true);
Swing中不仅有JFrame和JDialog这样的顶层容器,还有JPanel和JScrollPane非顶层容器,接下来分别介绍这两类容器。...12.2.1 JFrame JFrame窗体是一个容器,它是一个独立拥有标题栏和尺寸重置图标的窗口组件,是Swing程序中各个组件的载体,可以将它看作是承载这些Swing组件的容器。...案例Demo1201先创建了一个空白窗体,然后设置窗体布局和大小,通过调用setDefaultCloseOperation(int operation)方法来传入参数JFrame.EXIT_ON_CLOSE...,该参数表示窗口点击窗口关闭按钮时退出程序,最后设置窗体可见。...JDialog是Swing组件中的对话框,它继承了AWT组件中的Dialog类,它的功能是从一个窗体中弹出另一个窗体。JDialog类常用的构造方法如表12.2所示。
Eclipse作为开发Java的IDE,从出现到现在已经有几年的时间了,其丰富的特性,操作容易和在提高生产力方面收到了广大开发者的青睐。...三个IDEs中,Eclipse是唯一个存在多个版本,从基本的版本到预先打包好的带额外的开源插件(像EasyEclipse)和开源/商业结合的(像MyEclipse)。...NetBeans5.5还包括一些新的有助于提高生产力的特性,像自动进行国际化(控制每个窗体/对话框/面板到ResourceBundle包括所有的国际化字符串),使用自定义的窗体/面板(只要他们在你的工程中至少编译过一次...另一个主要的特性是支持Facelets,在许多JSF社区中,Facelets被认为是JSP的替代品,尤其是JBoss Seam已经开放了它的所有文档。 ...参考推荐: Eclipse、NetBeans、IntelliJ Eclipse NetBeans IntelliJ的实用对比 ECLIPSE、NETBEANS、INTELLIJ对比
创建 UI 窗体 2.1 创建方式 New -> Swing UI Designer -> GUI Form 在 Java 中创建窗体的方式主要有 AWT、Swing、JavaFx,由于 IDEA 使用...Swing 开发,所以这里创建 Swing 窗体的兼容性会更好。...那么这里 Swing 窗体的创建可以是自己手写窗体结构,也可以使用可视化拖拽的 GUI Form 如果你的窗体不复杂,其实拖拽的方式就可以满足使用。...五、总结 学习自定义开发UI,把UI填充到需要放置的 IDEA 窗体位置,并在窗体中添加功能的流程步骤,其实主要包括三方面:Swing UI、Factory 实现类、plugin 配置。...在 plugin 配置中,主要包括如窗体ID、位置、icon图标、对应的实现类,如果不添加这些是不能正常展示窗体信息的。
* 默认情况下,组件在每一行上都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用流布局管理器后组件在每一行的具体摆放位置...javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:在默认不指定窗体布局的情况下...,Swing组件的布局模式是边界(BorderLayout) * 布局管理器 * * 2:边界布局管理器还可以将容器划分为东西南北中5个区域,可以将组件加入到这5个区域中 * 边界布局管理器可将标签放置在窗体中间...,并且整个组件占据了窗体的所有的空间 * * 3:容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域 * 区域的控制可以由BorderLayout类中的成员变量来决定...所以组件可以按行和列进行排列 * 在网格布局管理器中,每一个组件的大小都相同,并且网格中空格的个数由网格的行数和列数决定 * 如一个两行两列的网格能产生4个大小相等的网格, * * 2:组件从网格的左上角开始
Container类是用来存放其他组件的Component类的子类,Frame类又是Component的子类。Frame类用于创建具有标题栏和边界的窗口。这里通过继承Frame类来建立自己的界面。...例如在Swing中添加了按钮组件和标签组件,通过继承来更改Swing组件的行为和外观,访问技术等。 ---- 在游戏中相应的实现即主要窗体用Frame和JFrame来构建。...1.Frame:重量级组件 2.JFrame:轻量级组件 出现问题: ①.窗体调用repaint()方法时闪烁严重 ②.窗体设置双缓冲重绘后,DrawImage()进行缩放图片时会失真,Graphics2D...()方法刷新则会造成屏幕刚清空,又继续重新调用paint()方法往窗体上绘制,则就造成闪烁问题!...(image, 0, 0, null); } 其中最重要的是 super.paint(imageG ); 这里必须先调用父类Frame的方法刷新屏幕清理上一次repaint画出的图像。
* 默认情况下,组件在每一行上都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用流布局管理器后组件在每一行的具体摆放位置...; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:在默认不指定窗体布局的情况下,Swing组件的布局模式是边界...* * 3:容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域 * 区域的控制可以由BorderLayout类中的成员变量来决定 * @author...所以组件可以按行和列进行排列 * 在网格布局管理器中,每一个组件的大小都相同,并且网格中空格的个数由网格的行数和列数决定 * 如一个两行两列的网格能产生4个大小相等的网格, * * 2:组件从网格的左上角开始...Auto-generated method stub GridLayoutPosition gl=new GridLayoutPosition(); //初始化对象时调用构造方法
12.1.2 Swing包 Swing组件的类的层次和继承关系: 12.1.3 常用Swing组件概述 12.2 常用窗体 12.2.1 JFrame窗体 JFrame窗体是一个容器,它是Swing...可以通过继承java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。...12.2.2 JDialog窗体 JDialog窗体是Swing组件中的对话框,它继承了AWT组件中的java.awt.Dialog类。...JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。...中存在一个ButtonGroup类,用于产生按钮组,如果希望将所有的单选按钮放置在按钮组中,需要实例化一个JRadioButton对象,并使用该对象调用add()方法添加单选按钮。
Java中可以在一个类中调用另一个类的静态公有方法。 首先是公有方法:表示其他类是可以被访问的。...调用静态公有方法的语法是:类名.方法名(参数...); 所以,比如另一个类叫OtherClass,它的静态公有方法是 public static int MethodA() {...}...那么在你自己的类里调用的方式就是:int result = OtherClass.MethodA(); 另外,调用非静态公有方法(也叫成员方法),比如方法叫 public int MethodB() {...就必须先创建这个类的对象再调用其方法, 例如:int result2 = new OtherClass().MethodB();
Font.PLAIN, 20); //设置一个面板,存放滑块 JPanel jp_slide = new JPanel(new GridLayout(3,2)); add(jp_slide); //设置另一个面板...在这里我们需要调用ChangeListener接口,该接口是ChangeEvent事件的监听接口,ChangeEvent事件在组件值改变的时候会触发,就比如说我们这里用到的滑块的值改变。...同时,继承ChangeListener 这个接口的类(监听者)需要重写stateChanged(ChangeEvent e1) 方法,在该方法中对事件进行处理。...; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider...import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; //定义Toning_device类继承窗体类
; /** *1:Swing组件通常被称作"轻量级的组件"; * *2:窗体作为Swing应用程序中组件的承载体,处于非常重要的位置,Swing中常用的窗体包括 *JFrame,JDialog... * *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些 *Swing组件的容器 * *4:读者大致应该有这样一个概念 *Swing组件的窗体通常和组件的容器相关...,所以在JFrame对象创建完成后, *需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件 *或设置布局管理器,通常这个容器用来包含和显示组件,如果需要将组件添加到容器..., *可以使用来自Container类的add()方法进行设置。 ...void main(String[] args) { //在主方法中调用CreateJFrame()方法 JFrameTest jf=new JFrameTest();
对话框容器分为模态对话框和非模态对话框两类。模态对话框是指用户需要等到对话框处理完毕后才能与其他窗口交互,而非模态对话框允许用户在使用对话框同时与其他窗口交互。...JDialog是Swing组件中的对话框,它继承了AWT组件中的Dialog类,它的功能是从一个窗体中弹出另一个窗体。JDialog类常用的构造方法如表12.2所示。...例12-2 Demo1202.java 1import javax.swing.*; 2import java.awt.*; 3import java.awt.event.ActionEvent...例12-2运行结果调用模态对话框 例12-2运行结果调用非模态对话框 例12-2运行之后,先创建了JFrame窗体,在窗体中添加两个按钮,用于弹出JDialog窗口,然后分别点击按钮,将对应窗口弹出,图...12.3为模态对话框,此时不能操作JFrame容器窗体,要先将弹出的JDialog对话框关闭才可以操作。
✍正文 Java大都用来作为服务器开发,殊不知它也可以用作客户端开发,并且能做出“漂亮的UI”,比如Javaer最最最常用的IDE:IntelliJ IDEA,以及Eclipse,它们都是用Java语言绘制而成的...Swing类库被包含在JDK 1.2及以后版本中,类主要在javax.swing包里。...Swing不仅提供的AWT的所有功能,还用纯粹的Java代码(并非native调用)对AWT的功能进行了大幅度的扩充,例如:树形控件不是所有操作系统都支持,但使用Swing就可以无视操作系统。...你从智慧中开发财富, 你从勤奋中耕耘成就, 你从耐心中创造艺术, 你从工作中寻找生活, 端午节到了, 愿你编出精彩的人生。...} } CodeRainJPanel: /** * 代码雨面板 * Panel是Java图形用户界面(GUI)工具包swing中的【面板】容器类 * * @author YourBatman
6 public void setSelected(boolean b) 设置按钮是否被选中,从类 javax.swing.AbstractButton 继承 7 public boolean isSelected...从类 javax.swing.AbstractButton 继承 8 public void setText(String text) 设置按钮的显示文本。...从类 javax.swing.AbstractButton 继承 9 public void setIcon(Icon defaultIcon) 设置按钮的默认图标。...javax.swing.ButtonGroup; //完成单选的实现 class MyRadio { //设置一窗体 private JFrame frame = new JFrame(...序号 方法 描述 1 void itemStateChanged(ItemEvent e) 在用户已选定或取消选定某项时调用。
* Swing利用javax.swing.ImageIcon类根据现有的图片创建图标 * ImageIcon类实现了Icon接口,同时Java支持多种图片格式 * * 2:ImageIcon类有多个构造方法...* * 第一创建一个通用的ImageIcon对象,当真正需要设置图片时再使用ImageIcon对象 * 调用setImage(Image image)方法来操作 * 第二直接从图片源创建图表...* 第三除了可以直接从图片源创建图表之外,还可以为这个图标添加简短的描述 * 第四利用位于计算机网络上的图像文件创建图标 */ import javax.swing.JFrame; import...MyImageIcon extends JFrame { public MyImageIcon(){ JFrame jf=new JFrame();//创建一个窗体...Container container=jf.getContentPane();//将窗体转化为容器 //创建一个标签//标签的5种构造方法类型 JLabel
领取专属 10元无门槛券
手把手带您无忧上云