网站建设资讯

NEWS

网站建设资讯

java代码生成窗体,java创建窗体代码

JAVA如何进行窗体编程?

用JAVA编写窗体程序一般可以用swing这个库,你用什么开发工具都没有关系。 我们可以实例化JFrame这个类来实现窗体。然后可以往窗体里加入一些容器和组件,还可以对这些组件增加侦听的方法,这样,一个JAVA的窗体程序的雏形就有了。这些都很简单的,你查查API就明白了。 给你一个hello world程序: import javax.swing.JFrame; import javax.swing.JLabel; public class test { public static void main(String args[]) { JFrame j =new JFrame(); j.setSize(100, 100); j.add(new JLabel("Hello world!")); j.setVisible(true); } }

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比大祥网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式大祥网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖大祥地区。费用合理售后完善,十余年实体公司更值得信赖。

java 如何生成无标题栏JFrame窗体?

生成无标题栏,就是把边框去掉,可以使用 this.setUndecorated(true); // 去掉窗口边框

但是去掉边框后就不可以移动了,需要重写一些方法,例如:

public void run() {

try {

final Mian_login frame = new Mian_login();

frame.setVisible(true);

this.setDragable(frame);

} catch (Exception e) {

e.printStackTrace();

}

}

// 为窗口加上监听器,使得窗口可以被拖动

private void setDragable(Mian_login frame) {

frame.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseReleased(java.awt.event.MouseEvent e) {

isMoved = false;// 鼠标释放了以后,是不能再拖拽的了

frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));

}

public void mousePressed(java.awt.event.MouseEvent e) {

isMoved = true;

pre_point = new Point(e.getX(), e.getY());// 得到按下去的位置

frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));

}

});

//拖动时当前的坐标减去鼠标按下去时的坐标,就是界面所要移动的向量。

frame.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {

public void mouseDragged(java.awt.event.MouseEvent e) {

if (isMoved) {// 判断是否可以拖拽

end_point = new Point(frame.getLocation().x + e.getX() - pre_point.x,

frame.getLocation().y + e.getY() - pre_point.y);

frame.setLocation(end_point);

}

}

});

}

});

这是参考网上的大神弄出来的

如何创建窗体

首先,我们看一下窗体都有哪些要素,以windows下的【记事本】为例:我们新建一个记事本,会看到标题,大小,位置,关闭方式;

所以我们用代码创建一个窗体,也需要这些要素,前提:在Java中创建窗体,我们需要继承【JFrame】类,导入JFrame包;

第二步,我们给窗体设置标题(PS:对窗体的一些设置,最好写在构造方法里,养成良好的习惯),设置标题使用setTitle()方法;

第三步,给窗体设置大小和位置,我们可以使用setBounds()【setBounds()传入4个参数,前两个是窗体的位置,后两个是窗体的 大小】,将大小和位置一起设置,也可以使用setLocation()设置窗体的位置(注意窗体的位置,是以电脑屏幕左上角为原点(0,0)的坐标系),使用setSize()设置窗体的大小;

第四步,设置窗体的关闭方式,使用setDefaultCloseOperation();

最后一步,也是特别重要的,我们虽然上面创建好窗体了,但是我们并没有设置让窗体【显示】,所以你现在运行程序,窗体是显示不出来的,我们还需要加一句setVisible(),传入的参数为true;

我们补全程序,加上main()方法,运行看一下吧!

java的一个窗体建立

我已发送邮件到你的邮箱,我的邮箱是fengxk2004@163.com

Java源程序附后。

本程序的特点是:

(1) 文本框只能输入纯数字;

(2) 界面较美观;

(3) 代码可读性较好,有适当的注释;

(4) 窗体一出现就在桌面居中。

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

public class GuessNumber {

private static final long serialVersionUID = 1L;

JFrame frame;

JTextField txtNum; //文本框

JButton btnStart; //按钮

JLabel lblPrompt;

JLabel lblMessage;

static int source = 0;

static Random rand = new Random();

public GuessNumber(){

frame = new JFrame("Guess Number");

JPanel pnl1, pnl2, pnl3, pnl4;

pnl1 = new JPanel();

pnl1.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl2 = new JPanel();

pnl2.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl3 = new JPanel();

pnl3.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl4 = new JPanel();

pnl4.setLayout(new FlowLayout(FlowLayout.LEFT));

txtNum = new JTextField(10);

btnStart = new JButton("开始");

lblPrompt = new JLabel("htmlbodyI have a number between 1 and 1000 can you guess my number?br/Please enter your first guess./body/html");

lblMessage = new JLabel();

pnl1.add(lblPrompt);

pnl2.add(txtNum);

pnl3.add(lblMessage);

pnl4.add(btnStart);

frame.setLayout(new GridLayout(4, 1));

frame.add(pnl1);

frame.add(pnl2);

frame.add(pnl3);

frame.add(pnl4);

txtNum.addActionListener(this.new TextAction());

txtNum.addKeyListener(this.new KeyAction());

btnStart.addActionListener(this.new ButtonAction());

frame.setSize(400, 200);

frame.setVisible(true);

frame.setLocationRelativeTo(null);

frame.setResizable(false);

}

public static void main(String[] args) {

new GuessNumber();

while((source=rand.nextInt(1000))==0);

}

//按钮单击后的事件处理

class ButtonAction implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

JButton btn = (JButton)e.getSource();

if(btn == btnStart){

while((source=rand.nextInt(1000))==0);

txtNum.setEditable(true);

}

}

}

//文本框按回车后的事件处理

class TextAction implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

JTextField txt = (JTextField)e.getSource();

if(txt != txtNum){

return;

}

int num = Integer.parseInt(txtNum.getText());

if(num == source){

lblMessage.setText("Correct!");

txtNum.setEditable(false);

txtNum.setBackground(frame.getBackground());

}

else if(num source){

lblMessage.setText("Too High");

txtNum.setBackground(Color.red);

}

else{

lblMessage.setText("Too Low");

txtNum.setBackground(Color.blue);

}

}

}

//限制文本框只能输入数字

class KeyAction implements KeyListener{

@Override

public void keyPressed(KeyEvent e) {

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyTyped(KeyEvent e) {

int k = e.getKeyChar();

String text = ((JTextField)e.getSource()).getText();

if(!((k47 k 58) || (k==8 || k==KeyEvent.VK_PERIOD))){ //限制只能输入数字

e.setKeyChar((char)KeyEvent.VK_CLEAR);

}

if(text.length() 4){ //限制数值的长度

e.setKeyChar((char)KeyEvent.VK_CLEAR);

}

}

}

}


当前名称:java代码生成窗体,java创建窗体代码
文章来源:http://cdweb.net/article/dsisocs.html