「gui编程java」GUI编程java例题

博主:adminadmin 2022-12-09 11:12:09 77

本篇文章给大家谈谈gui编程java,以及GUI编程java例题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java的GUI编程,如何关闭一个窗体,而不是退出整个程序

JFrame的关闭不像Frame,点关闭按钮自己会关闭,但是那样做不好.可以用setDefaultCloseOperation(int operation);

其中operation有以下几种

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。

HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。

java中gui编程使用的多么?

个人理解:gui编程,主要是图形化界面加上事件的处理,说实话,我感觉用的不多,不过主要是了解gui编程的思想,像他里面的回调机制,匿名内部类。。。

java gui图形界面编程键盘输入字母转换大小写

从键盘输入一个小写字母,然后输入出对应的大写字母,用两种输入输入的方法实现。第一种使用控制输入输出,第二种是使用对话框输入输出。这样即可实现javagui图形界面编程键盘输入字母转换大小写。

GUI程序设计(java)

=====================第一个类=============================

/**

*

* 实现了系统计算器连续按"="和按"+","-","*","/"进行累记运算的模式

*

* */

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class CalculatorFrame extends JFrame {

private JTextField txtDis = new JTextField("0", 16); //显示文本框

private JButton[] btnGrp = new JButton[17]; //17个按钮

private JPanel jpnMain = new JPanel(); //主面板

private JPanel jpnNorth = new JPanel(); //上面板

private JPanel jpnSouth = new JPanel(); //下面板

private double numSaved; //保存的前一个数

private String operator = ""; //保存的运算符号

private String lastPress = ""; //上一次按的按钮("数字","运算符" 或 "等号")

/*构造函数*/

public CalculatorFrame() {

//窗口设置

setTitle("计算器");

setSize(210, 250);

buttonInit(); //按钮初始化

//主面板设置

add(jpnMain);

jpnMain.setLayout(null);

jpnMain.add(jpnNorth);

jpnMain.add(jpnSouth);

jpnMain.add(btnGrp[15]);

btnGrp[15].setBounds(8, 180, 188, 30); //添加“=”按钮

//上面板设置

jpnNorth.setBounds(8, 10, 190, 30);

jpnNorth.add(txtDis);

txtDis.setHorizontalAlignment(JTextField.RIGHT); //设置文本右对齐

txtDis.setEditable(false);

//下面板设置

jpnSouth.setBounds(8, 60, 190, 120);

jpnSouth.setLayout(new GridLayout(4, 4));

addSouthJpn(); //添加17个按钮

//添加监听器

addListener();

}

/*17个按钮显示值初始化*/

public void buttonInit() {

for (int i = 0; i 10; i++) {

btnGrp[i] = new JButton("" + i);

}

btnGrp[10] = new JButton(".");

btnGrp[11] = new JButton("+");

btnGrp[12] = new JButton("-");

btnGrp[13] = new JButton("*");

btnGrp[14] = new JButton("/");

btnGrp[15] = new JButton("=");

btnGrp[16] = new JButton("C");

for (int i = 0; i 17; i++) {

btnGrp[i].setFont(new Font("Dialog", Font.PLAIN, 18));

}

}

/*按网格顺序添加除“=”外16个按钮*/

public void addSouthJpn() {

int[] index={7,8,9,14,4,5,6,13,1,2,3,12,0,16,10,11};

for(int i=0;iindex.length;i++){

jpnSouth.add(btnGrp[index[i]]);

}

}

/*给按钮添加监听器*/

public void addListener() {

//给数字按钮添加监听器,btnGrp[10]是"."号

for (int i = 0; i = 10; i++) {

btnGrp[i].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String button = ( (JButton) e.getSource()).getText();

//如果有运算操作符或文本框数字为0并且按钮不为“。”

if (lastPress == "运算符" || lastPress == "等号"

|| txtDis.getText().equals("0") button != ".") {

txtDis.setText(""); //清空文本框

}

if (lastPress == "等号") {

operator = ""; //上次按的是=号,这次按数字,清空运算符

}

if (button == "." txtDis.getText().indexOf(".") != -1) {

} //这次按的是.文本框内已经包含.这种情况什么都不做,防止.重复

else {

txtDis.setText(txtDis.getText() + button); //文本框添加内容

}

lastPress = "数字";

}

});

}

//给运算操作符按钮添加监听器

for (int i = 11; i = 14; i++) {

btnGrp[i].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (operator != "" lastPress == "数字") { //运算符不为空并且之前按的是数字

(btnGrp[15].getActionListeners())[0].actionPerformed(e); //手动调用=号的监听响应实现=号功能

}

numSaved = Double.parseDouble(txtDis.getText()); //保存当前文本框的数字

operator = ( (JButton) e.getSource()).getText(); //保存运算操作符

lastPress = "运算符"; //添加运算符标记,下次文本框清空

}

});

}

//给等号按钮添加监听器

btnGrp[15].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

double numNow = Double.parseDouble(txtDis.getText()); //当前文本框的数字

//运算符匹配操作

if (operator.equals("+")) {

txtDis.setText( (numSaved + numNow) + "");

}

else if (operator.equals("-")) {

if (lastPress == "等号") { //累记运算时的算法(一直按等号)

txtDis.setText( (numNow - numSaved) + "");

}

else {

txtDis.setText( (numSaved - numNow) + "");

}

}

else if (operator.equals("*")) {

txtDis.setText( (numSaved * numNow) + "");

}

else if (operator.equals("/")) {

if (lastPress == "等号") { //累记运算时的算法(一直按等号)

txtDis.setText( (numNow / numSaved) + "");

}

else {

txtDis.setText( (numSaved / numNow) + "");

}

}

if (lastPress != "等号") { //是第一次,以后按累记运算

numSaved = numNow; //保存数改为后一个数

}

lastPress = "等号"; //添加运算符标记,下次文本框清空

}

});

//给复位符“C”按钮添加监听器

btnGrp[16].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

txtDis.setText("0");

numSaved = 0;

operator = "";

lastPress = "";

}

});

}

}

=====================第二个类=============================

import javax.swing.*;

public class Test {

public Test() {

CalculatorFrame calframe = new CalculatorFrame(); //新窗口

calframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置关闭

calframe.setLocationRelativeTo(null); //窗口置中

calframe.setVisible(true); //显示窗口

calframe.setDefaultLookAndFeelDecorated(false); //使用windows视感

calframe.setResizable(false); //窗口不可调大小

}

public static void main(String[] args) {

Test test = new Test();

}

}

gui编程java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于GUI编程java例题、gui编程java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-09,除非注明,否则均为首码项目网原创文章,转载请注明出处。