资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java代码frame,JAVA代码审计

关于JAVA frame的部分代码求翻译

// 窗体出现时在屏幕中央

公司主营业务:网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出什邡免费做网站回馈大家。

frame.setLocationRelativeTo(null);

// 窗体添加一个键盘事件监听者

frame.addKeyListener(mario);

// 窗体添加一个焦点事件监听者

frame.addFocusListener(mario);

// 将窗体显示出来

frame.setVisible(true);

又是你啊....貌似你在学swing或是用swing做个什么东西?如果你会java,看看java api啊,如果是java新手, 建议head first java系列丛书, 挺通俗易懂

java Frame按钮乱码怎么办

字符集问题,Eclipse和CMD

DOS窗口默认字符集都是GBK,如果你的程序是用其他字符集编写的,就会产生乱码了。把你的字符集都改成默认的GBK字符集就OK了。

如果你的程序是在Eclipse下编写的,请查看Eclipse的

窗口---首选项---常规---工作空间---文本文件编码是不是缺省值GBK,如不是请改回来就行了。

Java 的Frame和Panel的区别

[Panel]

Panel is the simplest container class. A panel provides space in which an ap

plication can attach any other component, including other panels.

详见java.awt.Panel

注意:以下大写指类,小写泛指对象,比如Frame指Frame类,frame泛指Frame对象。

好象是看出区别了:Frame是Window的子类,一个Frame对象就是一个有标题有边界

的顶层窗口。Panel是最简单的容器类,是Container的子类。一个Panel对象就是要给应

用程序提供空间,用来添加组件,包括其它的Panel对象。

追本溯源,其实Frame和Panel还是有些亲戚关系的:Frame是Window的直接子类,W

indow又是Container的直接子类,而Panel是Container的直接子类,它们都是从Contai

ner里扩展出来的,是叔侄关系。它们的老祖宗是Component(Container是Component的

子类),Component是基类,回溯本源到此为止,已经是根了。

Frame和Panel都是容器类,那么它们在使用上有什么区别呢?

你可以创建一个panel对象,在上面添加组件,比如单独建立一个TestPanel.java

的源文件(TestPanel extends Panel)。但是因为Panel不是顶层容器,所以你不能直

接显示你创建的这个panel对象,必须装在顶层容器里比如嵌入一个frame里,才能显示

。(为什么Frame对象可以直接显示,而Panel对象不能,文章最后有解释。)

Frame是顶层容器,一般不单独使用(注意只是一般,还是可以直接嵌入组件的),而是

习惯在frame里嵌入panel,再在panel上面添加组件。你在用Jbuilder创建一个Applica

tion(比如TestApp和TestAppFrame)的时候,在你的框架文件TestAppFrame里就会自动

生成一个叫contentPane的JPanel对象。

Panel是一般容器,可以自身嵌套(比如在panel1里嵌入panel2);但Frame已经是

顶层容器了,自身不能嵌套。

我们用得最多的JFrame和JPanel,就是Frame和Panel在Swing下的扩展(JFrame是Fr

ame子类和JPanel是Panel的子类)。

我们用Jbuilder创建Application时会自动生成一些代码,其中的frame.pack()一句

是什么意思?注:frame是一个已生成的框架类对象

我们在java.awt.Frame的源文件里找不到pack()方法的定义。看了java.awt.Window

才知

道,原来在Window类里定义了pack()和show()两个显示窗口的方法,被Frame继承了过来

。这可能也是panel无法单独使用的一个原因吧,Panel和它的直接超类Container里,都

没有定义类似pack()和show()的显示容器的方法。

java 关于Frame类

当需要扩展Frame的功能或者想在实例化的多做功能的时候,就写上extends frame,

譬如想在实例化Frame的同时设定size

public class MyFrame extends Frame {

public MyFrame(String s, int width, int height) {

super(s);

super.setSize(width, height);

}

}

这样你实例化MyFrame的时候就已经设定好大小了,少写一些代码

public static void main(String args[]){

MyFrame frame = new MyFrame("My Frame", 300, 200);

}

同样功能的不继承,则需要

public static void main(String args[]){

Frame frame = new Frame("My Frame");

frame.setSize(300, 200);

}

clear?

Java Frame 类的用法

原因在你你的class名字就是Panel.java和java.awt.Panel同名了,JVM默认搜索从本类开始,修改

import java.awt.Button;

import java.awt.Frame;

public class Panel {

/**

* @param args

*/

public static void main(String[] args) {

Frame f = new Frame();

f.setBounds(100, 100, 300, 300);

Button b = new Button("BB");

java.awt.Panel p = new java.awt.Panel();

p.add(b);

f.add(p);

f.setVisible(true);

}

}

JAVA用frame实现图中2个窗口 怎么写啊?

图片看起来很模糊,隐约看到需要一个登录窗口,那就分享一下以前练习的登录窗口demo吧。

先上效果图:

登录界面

源码如下:

AbsoluteLoginFrame.java

public class AbsoluteLoginFrame extends JFrame {

private static final int LOGIN_WIDTH = 600;

private static final int LOGIN_HEIGHT = 400;

private static final long serialVersionUID = -2381351968820980500L;

public AbsoluteLoginFrame(){

  //设置窗口标题

  setTitle("登录界面");

  //设置一个初始面板,填充整个窗口

  JPanel loginPanel = new JPanel();

  //设置背景颜色

  loginPanel.setBackground(new Color(204, 204, 204));//#CCC

  loginPanel.setLayout(null);

  JPanel centerPanel = new JPanel();

  centerPanel.setBackground(Color.WHITE);

  centerPanel.setBounds(114, 70, 360, 224);

  centerPanel.setLayout(null);

  JLabel jLabel = new JLabel("用户名:");

  jLabel.setOpaque(true);

  jLabel.setBackground(Color.YELLOW);

  jLabel.setBounds(60, 60, 54, 20);

  JLabel label = new JLabel("密    码:");

  label.setOpaque(true);

  label.setBackground(Color.CYAN);

  label.setBounds(60, 90, 54, 20);

  JTextField textField = new JTextField(15);

  textField.setBounds(130, 60, 166, 21);

  JPasswordField passwordField = new JPasswordField(15);

  passwordField.setBounds(130, 90, 166, 21);

  JButton jButton = new JButton("登录");

  jButton.setBounds(148, 120, 62, 28);

  centerPanel.add(jLabel);

  centerPanel.add(label);

  centerPanel.add(textField);

  centerPanel.add(jButton);

  centerPanel.add(passwordField);

  loginPanel.add(centerPanel);

  getContentPane().add(loginPanel);//将初始面板添加到窗口中

  setSize(LOGIN_WIDTH, LOGIN_HEIGHT);//设置窗口大小

  setLocation(Screen.getCenterPosition(LOGIN_WIDTH, LOGIN_HEIGHT));//设置窗口位置

  setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口默认关闭方式

  setResizable(false);

  setVisible(true);

}

public static void main(String[] args) {

  new AbsoluteLoginFrame();

}

}

Screen.java

public class Screen {

private int width;

private int height;

public Screen(){

  Toolkit toolkit = Toolkit.getDefaultToolkit();

  Dimension screenSize = toolkit.getScreenSize();

  this.width = screenSize.width;

  this.height = screenSize.height;

}

public static Point getCenterPosition(int width, int height){

  Screen screen = new Screen();

  int x = (screen.getWidth() - width) / 2;

  int y = (screen.getHeight() - height) / 2;

  return new Point(x, y);

}

public int getWidth() {

  return width;

}

public void setWidth(int width) {

  this.width = width;

}

public int getHeight() {

  return height;

}

public void setHeight(int height) {

  this.height = height;

}

}


分享题目:java代码frame,JAVA代码审计
标题网址:http://cdkjz.cn/article/hdcsed.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220