精华内容
下载资源
问答
  • Java提供的JFrame类的实例是一个底层容器,即通常所说的窗口。且其他组件必须被添加到底层容器,以便借助这个底层容器和操作系统进行信息交互JFframe构造方法:JFrame()创建一个无标题窗口;JFframe(String s)创建一...

    Java提供的JFrame类的实例是一个底层容器,即通常所说的窗口。且其他组件必须被添加到底层容器,以便借助这个底层容器和操作系统进行信息交互

    JFframe构造方法:

    JFrame()创建一个无标题窗口;

    JFframe(String s)创建一个标题为s的窗口;

    JFrame的常用方法

    (1)public void setBounds(int a,int b,int width,int height)设置窗口的初始位置,距离屏幕左边a个项目,距离屏幕上方b个像素,默认是(0,0);

    (2)public void setBounds(int width,int height),设置窗口的大小;

    (3)public void setLocation(int a,int b),设置窗口的位置;

    (4)public void setVisible(boolean b),设置窗口是否可见,默认是不可见的

    (5)public void setResizable(boolean b),设置窗口是否可调整大小,默认可调整大小;

    (6)public void dispose()撤销当前窗口,并释放当前窗口的所有资源;

    (7)public void setExtendedState( int state),设置窗口的扩展状态;

    (8)public void setDefaultOperation(operation),该方法用来设置窗口上角的关闭图标后,程序会做出怎样的处理

    windows1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//释放当前窗口

    windows2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭程序

    (9)public Component add(Component comp),将指定的组件追加到此容器的尾部;

    (10)public void setMenuBar(MenuBar mb),将此frame的菜单栏设置为指定的菜单栏;

    (11)public void setLayout(LayoutManage mgr),设置此容器的布局管理器;

    (12)public void validate(),使用validate方法会使容器再次布局其子组件。在修改此容器的子组件的时候(在容器中添加或者移除子组件,或者更改布局相关的信息),应该调用此方法;

    菜单条,菜单,菜单项

    (1)菜单条

    JComponent类的子类JMenuBar负责创建菜单条,JFrame类有一个将菜单条放到窗口中的方法:setJMenuBar(JMenuBar bar)该方法将菜单条添加到窗口的顶端。

    菜单条JMenuBar类构造方法JMenuBar();JMenuBar Mbar=new JMenuBar()

    (2)菜单

    JComponent类的子类JMenu负责创建菜单;

    菜单JMenu的构造方法:JMenu();JMenu(String s);JMenu m=newJMenu();

    常用方法:

    public void add(JMenu item),向菜单添加有item指定的菜单项;

    public JMenu getItem(int n),得到指定索引处的菜单选项;

    public int getItemCount()得到菜单选项的数目

    (3)菜单项

    JComponent类的子类JMenuItem负责创建菜单项;

    JMenuItem类的主要方法有:

    JMenuItem(String s),构造没有标题的菜单项;

    JMenuItem(String text,Icon icon),构造有标题的菜单项;

    public void setAccelerator(KeyStroke keystroke),为菜单项设置快捷键

    1b4cf2270f0d90cc5729669ef675fbae.png

    #Java#

    展开全文
  • 1.JFrame类1.1 JFrame类在javax.swing 包中——主要提供各种组件(窗口/按钮/文本框),在Java中还提供了另外2个做GUI开发的包。java.awt 包 – 主要提供字体/布局管理器,java.awt.event 包 – 事件处理,后台功能的...

    1.JFrame类

    1.1 JFrame类在javax.swing 包中——主要提供各种组件(窗口/按钮/文本框),在Java中还提供了另外2个做GUI开发的包。

    java.awt 包 – 主要提供字体/布局管理器,java.awt.event 包 – 事件处理,后台功能的实现。

    顶层容器值得是容纳其他容器的容器组件,包括JFrame类,JWindows类,JDialog类,JApplet等。

    Swing提供三个顶层容器类:JFrame,JDialog和JApplet。当使用这些容器类时,请谨记以下原则。

    (1)要在屏幕上显示,每个GUI组件必须是一个“容器层级”的一部分。

    (2)每个GUI组件只能属于一个容器,如果组件已经在一个容器当中,而又试图将它添加到另一个容器当中去,那么应该从第一个容器中移除该组件,然后添加到两一个容器去。

    (3)各种可视化组件不直接放到顶层容器中去,而是放在容器的内容面板中。

    (4)可以选择添加一个菜单栏到顶层容器中,菜单栏应该按惯例位于顶层容器中,但必须位于内容面板之外。

    (5)Swing中还有一个命名为JInternalFrame的内部窗体,它模仿JFrame,但实际上内部窗体并不是真正的顶层容器。

    2.JFrame类使用

    packageJframe;importjavax.swing.JFrame;public class mainFrame extendsJFrame {publicmainFrame() {//创建窗口

    JFrame frame = newJFrame();//设置窗口标题

    this.setTitle("主窗体");//设置窗口的x,y位置,窗口大小x,y.

    this.setBounds(600, 300, 500, 400);//设置窗体的大小

    this.setSize(600, 600);//设置窗体的位置

    this.setLocation(600, 300);//设置默认的关闭窗口

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);

    }public static voidmain(String[] args) {

    mainFrame mainFrame= newmainFrame();

    }

    }

    注意:setDefaultCloseOperation有4种方法,装在javax.swing.WindowConstants接口中。

    1.DO_NOTHING_ON_CLOSE   :什么都不做,直接关闭2.DISPOSE_ON_CLOSE          :自动隐藏并释放窗体3.HIDE_ON_CLOSE                :隐藏窗口的默认关闭4.EXIT_ON_CLOSE                :退出程序的默认窗口关闭

    3.窗体默认在屏幕居中打开

    在mainFrame 类中创建一个居中方法

    //居中方法

    public voidsetFrameCenter()

    {//得到屏幕大小

    Dimension dimension =Toolkit.getDefaultToolkit().getScreenSize();//得到x的位置

    int x = (dimension.width-this.getWidth())/2;//得到y的位置

    int y = (dimension.height-this.getHeight())/2;//设置窗口位置

    this.setLocation(x, y);

    }

    然后在构造方法中加上即可

    //窗体居中

    this.setFrameCenter();

    4.设置窗体的背景

    直接调用setBackground(Color color)方法无法设置颜色,JFrame上的contentPane默认是Color.WHITE的,创建一个contentPane,设置其颜色。

    3a28c82629e998d7afc09d6290fa0e96.png

    窗口结构

    52a0446756320c0ba4beb1cad3fbbb16.png

    每一个顶级容器,都有一个隐藏的中间容器,叫做Root Pane。Root Pane 管理着Content Pane 、Menu Bar 和 其它一些容器。

    在mainFrame类中创建一个成员变量为容器对象,得到JFrame上面的内容窗格,组件需要放到内容窗格的上面,内容窗格再放到 JFrame 顶层容器的上面。

    //获取当前窗口的内容窗格

    private Container container = this.getContentPane();

    然后在构造函数中设置其颜色

    //窗体背景

    this.container.setBackground(new Color(234,23,33));

    还有一种解决方案,为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可。

    5.代码

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    packageJframe;importjava.awt.Color;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Toolkit;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JPanel;public class mainFrame extendsJFrame {//创建容器对象

    private Container container = this.getContentPane();//创建ImagePanel

    privateImagePanel imagePanel;publicmainFrame() {//创建窗口

    JFrame frame = newJFrame();//设置窗口标题

    this.setTitle("主窗体");//设置窗口的x,y位置,窗口大小x,y.

    this.setBounds(600, 300, 500, 400);//设置窗体的大小

    this.setSize(600, 600);//设置窗体的位置

    this.setLocation(600, 300);//窗体居中

    this.setFrameCenter();//窗体背景

    this.container.setBackground(new Color(234,23,33));//设置默认的关闭窗口

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);

    }//居中方法

    public voidsetFrameCenter()

    {//得到屏幕大小

    Dimension dimension =Toolkit.getDefaultToolkit().getScreenSize();//得到x的位置

    int x = (dimension.width-this.getWidth())/2;//得到y的位置

    int y = (dimension.height-this.getHeight())/2;//设置窗口位置

    this.setLocation(x, y);

    }public static voidmain(String[] args) {

    mainFrame mainFrame= newmainFrame();

    }

    }

    View Code

    6.运行效果

    129b370fe97dd9250bbea5518314d97e.png

    参考文章:

    展开全文
  • JFrame类的常用方法

    2021-03-16 17:12:55
    JFrame类的常用方法 类型 描述JFrame() 构造方法 创建一个普通的窗体对象JFrame(Stri...

    JFrame类的常用方法                              类型                                              描述

    JFrame()                                     构造方法                                     创建一个普通的窗体对象

    JFrame(String a)                           构造方法                                     创建一个窗体对象,并指定标题

    setSize(int width,int height)            普通方法                                      设置窗体大小

    setBackgorund(color.red)              普通方法                                      设置窗体背景颜色

    setLocation(int x,int y)                   普通方法                                       设置组件的显示位置

    setLocation(point p)                      普通方法                                       通过point来设置组件的显示位置

    setVisible(true/false)                     普通方法                                       显示或隐藏组件

    add(Component comp)                  普通方法                                       向容器中增加组件

    setLay·out(LayoutManager mgr)   普通方法                                        设置局部管理器,如果设置为null表示不使用

    pack()                                            普通方法                                       调整窗口大小,以适合其子组件的首选大小和局部

    getContentpane()                          普通方法                                       返回此窗口的容器对象

    展开全文
  • Java JFrame常用的布局

    2021-03-15 14:23:20
    决定盒式布局是行型还是列型 行(列)型组件再多也不会延伸到下一行 (列) ,沿着同一水平线或垂直线 Box 调用静态方法 createHorizontalBox() 获得一个行型的盒式布局的盒式容器 Box 调用静态方法 ...

    setLayout(布局对象);  声明布局格式的方式   如:

    setLayout(new FlowLayout());

    1. FlowLayout布局

    FlowLayout布局是JPanel 的默认布局,组建按照加入的先后顺序从左到右排列,一行排满之后就转到下一行继续从左到右排列 ,每一行都居中排列,水平和垂直的间距都是5个像素,组件设置大小用  set.PreferredSize(Dimension preferredSize)

    例如:button.setPreferredSize(new Dimension(20,20));重新设置布局方式: setAlignment(int aligin);   aligin 的取值为 FlowLayout.LEFT,FlowLayout.RIGHT,FlowLayout.CENTER   ;  重新设置水平和垂直的间隙  setHgap(int hgap); setVgap(int vgap);

    2.BorderLayout布局

    Window型容器的默认布局(JFrame,JDialog)   容器空间简单的划分为东南西北中5个区域,中间的区域最大 ,由BorderLayout 中的静态变量WEST,EAST,SOUTH,NORTH,CENTER表示区域 .有BorderLayout布局的容器con  例:

    con.add(b,BorderLayout.EAST);

    添加到某一个区域的组件占有整个区域,再添加进来,旧的就会被替换掉 ,只能添加5个组件,5个以上的话使用其他的布局或者容器嵌套.

    3.CardLayout布局

    组件被层叠的放入容器,最先加入的在最上面,同一时刻容器只能从这些组件中选一个来显示,容器调用add(String s,Component b);的方式将组件b加入容器  s为代号和组件没有必然关系,不同的组件代号不能相同

    调用show(Component con,s)的方法显示代号为s的容器  card.show(con,s);    card.first(con) card.next(con),card.last(con) ,card.previous(con)  分别显示容器con的第一个,下一个,最后一个,上一个 组件

    4.GirdLayout布局

    把容器分成若干行和若干列的网格区域    构造方法  GirdLayout(int m,int n); 创建布局对象,指定行和列

    GridLayout gy =new GridLayout(10,12);

    可以添加m*n个组件   用add(Component c)将组件添加进入   ,从第一行第一个开始到最后一行最后一个  (每个网格强制相等)

    5.BoxLayout  盒式布局

    Box  创建的容器是盒式容器 默认布局是盒式布局并且不允许修改

    盒式布局构造方法 BoxLayout(Container con,int axis);axis 的有效值  BoxLayout.X_AXIS, BoxLayout.Y_AXIS.决定盒式布局是行型还是列型    行(列)型组件再多也不会延伸到下一行 (列) ,沿着同一水平线或垂直线

    Box 类调用静态方法 createHorizontalBox()   获得一个行型的盒式布局的盒式容器

    Box类 调用静态方法 createVerticalBox()  获得一个列型的盒式布局的盒式容器

    Box 调用静态方法 createVerticalStrut(int height)    createHorizontalBox(int width)   得到不可见的Strut对象 设置水平(垂直)的Box之间的间距

    6.null 布局

    空布局可以准确的定位组件在容器中的位置和大小 setBounds(int a,int b,int width,int height)  设置位置和本身大小 , a,b 是组件在容器p中的坐标

    展开全文
  • Java JFrame

    2021-02-13 00:10:13
    Java JFrame1 Java JFrame的介绍javax.swing.JFrame类是一种继承java.awt.Frame类的容器。JFrame的工作原理类似于主窗口,其中添加了标签,按钮,文本字段等组件以创建GUI。与Frame不同,JFrame可以选择使用...
  • Java jframe中如何实现窗口的关闭

    千次阅读 2021-02-27 18:02:23
    展开全部效果图参考代码和注释如下32313133353236313431303231363533e59b9ee7ad9431333365633836importjava.awt.event.*;importjavax.swing.*;publicclassDemoFrameextendsJFrame{JButtonjbExit;publicDemoFrame(){...
  • [java]代码库import javax.swing.*;import java.util....public class SubmitSwingProgram extends JFrame {JLabel label;public SubmitSwingProgram() {super("Hello Swing");label = new JLabel("A Label")...
  • 症状特点,中直接组件展规病害的发律生发,和检...哪会在文件操作上发生I,行C当执句时T语。斑病毒为茄环例以番,中直接组件关系主要性病危险毒的及其途径原病与检疫的传播说明。判断在(信息据的存放所依,在S执行...
  • JAVA JFrame常用方法

    2021-02-12 22:52:42
    JFrame常用方法public voidsetBounds(int a,int b,int width,int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height。public voidsetResizable(boolean b)设置...
  • Java:将导入Jframe

    2021-02-27 22:05:15
    我是java新手,我想知道将导入JFrame的最佳方法是什么,因为我有一些小的应用程序,我想在除了eclipse之外的窗口中运行.以下是我正在使用的一些代码(它是傻瓜书中某些代码的修改版本):import static java.lang....
  • javaJFrame是什么

    千次阅读 2021-02-13 00:44:06
    java中,JFrame是官方提供的一个,这个的主要功能是使用该可以快速的开发出Java界面应用程序(c/s架构),属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。JFrame是指一个计算机...
  • Java JFrame大小和中心

    2021-02-27 19:05:46
    我正在研究一个使用2D图形形状创建骰子面的uni项目.我已经完成了所有工作,但我遇到了一个问题:当我调整窗口大小时,我希望我的形状能够改变大小,而不是仅仅保持静止以使其保持在中间位置....import java....
  • 题目:写一个程序,该程序启动后出现一个窗口,窗口上有一个按钮,按一下它,就在窗口随机的位置产生的一个随机颜色的方块,停留3秒后消失,每个方块均由一个线程产生。...我已经写的代码:import java.awt.*;import...
  • 我收到一个Access restrition错误,如下所述:访问限制:由于对所需库的限制而无法访问JFrame类型/opt/java/jdk1.8.0_31/jre/lib/rt.jar在我的代码中,JFrame和JPanel下面有红线import java.awt.BorderLayout;...
  • 我们知道,Java中每次重绘都会调用paint方法。 public void paint(Graphics g) ...{ //super.paint(g); Color c = g.getColor(); g.setColor(new Color(50,150,50)); g.fillOval(tankPos.x, tankPos.y, tankWid, ...
  • javaJFrame背景图片

    2021-02-27 14:56:42
    这是将背景图像添加到jframe中的简单示例import javax.swing.*;import java.awt.*;import java.awt.event.*;class BackgroundImageJFrame extends JFrame{JButton b1;JLabel l1;public BackgroundImageJFrame(){...
  • 请帮忙修改这个Java程序,添加背景图片。源代码:importjava.awt.*;importjava.awt.event.*;importjava.net.URL;importjavax.swing.*;importstudent.Stu;publicclassTestStudentN...急!请帮忙修改这个Java程序,...
  • 关闭JavaJFrame退出

    2021-07-16 21:26:46
    I don't get how can I employ this code:frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);to close the program with the x button.解决方案You need the lineframe.setDefaultCloseOperation...
  • 程序:package JFrame.bao;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing....
  • Java - 向JFrame添加组件

    2021-07-16 21:32:44
    I've seen a couple of ways of doing theism they both seem to work but I'm just wondering if one is better practice over the other.For example, with a JFrame called myFrame you could do:myFrame.add(new...
  • 我在javaJFrame里面添加了几个控件,有JTextField,JButton,但是运行出来的时候看不见控件,需要把鼠标放到上面才看得见,或者是点一下才看得见,这是什么原因啊,怎么解决???pub...我在java JFrame 里面添加了...
  • 1)换javafx,swing用得越来越少...这个跟gui没啥关系,理解java和对象关系就能明白this的意思了 return this表示返回当前对象引用,fluent api中经常这么干,可以写出这种链式表达 obj.methodA().methodB() 很方便
  • I am making a Java game in JFrame. The game is almost completed but I want to add some sound to it. Like when the game will start, the sound should also start. I have checked the Internet but the code...
  • 在开发Java应用程序时,通常情况下利用JFrame创建窗口。利用JFrame创建的窗口分别包含一个标题、最小化按钮、最大化按钮和关闭按钮1、在你使用JFrame创建窗体时的情况:在你直接调用setBackground(Color.red)这个...
  • JFrame添加组件有两种方式:1) 用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childCompontent)常分开来写Container container=getContentPanel();(隐式的this....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,008
精华内容 34,003
关键字:

javajframe类

java 订阅