怎样用java编写图形界面的Application程序?

怎样用java编写图形界面的Application程序?,第1张

java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:

package mainFrame

import java.awt.EventQueue

import java.awt.event.MouseAdapter

import java.awt.event.MouseEvent

import javax.swing.ImageIcon

import javax.swing.JButton

import javax.swing.JCheckBox

import javax.swing.JFrame。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

以下是一个简单的Java GUI程序,可以实现两个内容(字符串、图片等)之间的交换:

Copy code

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class SwapContent extends JFrame implements ActionListener {

private JLabel label1, label2

private JButton swapBtn

public SwapContent() {

// 设置窗口大小和标题

setSize(400, 300)

setTitle("Swap Content Demo")

// 创建标签和按钮

label1 = new JLabel("Content A")

label2 = new JLabel("Content B")

swapBtn = new JButton("Swap")

// 设置标签和按钮的位置和大小

label1.setBounds(50, 50, 100, 30)

label2.setBounds(200, 50, 100, 30)

swapBtn.setBounds(150, 150, 100, 30)

// 将标签和按钮添加到窗口中

add(label1)

add(label2)

add(swapBtn)

// 注册按钮的事件监听器

swapBtn.addActionListener(this)

// 设置窗口的默认关闭方式

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

@Override

public void actionPerformed(ActionEvent e) {

// 获取标签的内容

String temp = label1.getText()

label1.setText(label2.getText())

label2.setText(temp)

}

public static void main(String[] args) {

// 创建窗口对象并显示

SwapContent sc = new SwapContent()

sc.setVisible(true)

}

}

该程序创建了一个窗口,包括两个标签(label1和label2)和一个按钮(swapBtn)。当用户点击按钮时,程序会交换label1和label2的内容。

在程序的actionPerformed方法中,程序将label1和label2的内容交换。具体实现是,首先使用label1.getText()获取label1的内容,并将其保存到一个临时变量temp中;然后,将label1的内容设置为label2的内容,将label2的内容设置为temp的值。这样,label1和label2的内容就被互换了。

在main方法中,程序创建了SwapContent对象,并将其显示出来。程序运行后,用户可以在窗口中交换label1和label2的内容。

运行如图

参考代码如下

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class RegDemo extends JFrame implements ActionListener{

JTextField jtf

JPasswordField jpf

public RegDemo() {

        //组件的创建, 和布局安排

JPanel jpc = new JPanel()//默认流式布局

JPanel jp1 = new JPanel(new GridLayout(2, 2,5,10))//网格布局

jp1.setBorder(BorderFactory.createTitledBorder("用户注册"))

JLabel jl1 = new JLabel("用户名:")

jtf = new JTextField(10)

JLabel jl2 = new JLabel("密码:")

jpf = new JPasswordField(10)

                jpf.setEchoChar('*')//用*号来隐藏密码的显示

jp1.add(jl1)jp1.add(jtf)

jp1.add(jl2)jp1.add(jpf)

jpc.add(jp1)

add(jpc)

JButton jb1 = new JButton("提交")

jb1.addActionListener(this)

jb1.setActionCommand("yes")

JButton jb2 = new JButton("取消")

jb2.addActionListener(this)

jb2.setActionCommand("no")

JPanel jp2 = new JPanel()

jp2.add(jb1)jp2.add(jb2)

add(jp2,BorderLayout.SOUTH)

setTitle("用户注册界面")

        setSize(280, 280)

        setLocationRelativeTo(null)//窗口居中

        setDefaultCloseOperation(EXIT_ON_CLOSE)//

        setVisible(true)

}

public static void main(String[] args) {

new RegDemo()

}

@Override

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand().equals("yes")){

String name  = jtf.getText().trim()

String pwd = new String(jpf.getPassword())

if(name.equals("")||pwd.equals("")){

JOptionPane.showMessageDialog(this, "你还没有输入用户名或者密码")

}else{

JOptionPane.showMessageDialog(this, "注册成功!用户名"+name+",密码"+pwd)

}

}else{

jtf.setText("")

jpf.setText("")

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7782351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存