热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java怎么实现图形化界面,java图形化界面的实现

本文目录一览:1、怎样用java编写图形界面的Application程序

本文目录一览:


  • 1、怎样用java编写图形界面的Application程序


  • 2、java编写一个图形界面程序


  • 3、Java编写一个图形界面


  • 4、java图形界面的布局


  • 5、Java编写图形用户界面程序


  • 6、JAVA的图形界面是怎么出来的

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

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;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import javax.swing.border.EmptyBorder;

public class Mian_login extends JFrame {

private JPanel contentPane;

private JTextField text_LoginName;

private JPasswordField Login_password;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

try {

Mian_login frame = new Mian_login();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public Mian_login() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(500, 200, 443, 300);

setResizable(false);

setTitle("登 录");

/*获取系统按钮样式*/

String lookAndFeel = UIManager.getSystemLookAndFeelClassName();

try {

UIManager.setLookAndFeel(lookAndFeel);

} catch (ClassNotFoundException e1) {

e1.printStackTrace();

} catch (InstantiationException e1) {

e1.printStackTrace();

} catch (IllegalAccessException e1) {

e1.printStackTrace();

} catch (UnsupportedLookAndFeelException e1) {

e1.printStackTrace();

}

cOntentPane= new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JPanel panel = new JPanel();

panel.setOpaque(false);

panel.setBounds(0, 0, 434, 272);

contentPane.add(panel);

panel.setLayout(null);

JButton btn_Login = new JButton("\u767B\u5F55");

btn_Login.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

}

});

btn_Login.setBounds(88, 195, 70, 23);

panel.add(btn_Login);

JButton btn_cancel = new JButton("\u53D6\u6D88");

btn_cancel.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

dispose();

}

});

btn_cancel.setBounds(268, 195, 70, 23);

panel.add(btn_cancel);

JLabel lblNewLabel_name = new JLabel("\u7528\u6237\u540D");

lblNewLabel_name.setHorizontalAlignment(SwingConstants.CENTER);

lblNewLabel_name.setOpaque(true);

lblNewLabel_name.setBounds(88, 48, 70, 23);

panel.add(lblNewLabel_name);

JLabel lblNewLabel_passwd = new JLabel("\u5BC6\u7801");

lblNewLabel_passwd.setHorizontalAlignment(SwingConstants.CENTER);

lblNewLabel_passwd.setOpaque(true);

lblNewLabel_passwd.setBounds(88, 102, 70, 23);

panel.add(lblNewLabel_passwd);

JCheckBox chckbx_remember = new JCheckBox("\u8BB0\u4F4F\u5BC6\u7801");

chckbx_remember.setBounds(102, 150, 84, 23);

panel.add(chckbx_remember);

text_LoginName = new JTextField();

text_LoginName.setBounds(182, 48, 156, 23);

panel.add(text_LoginName);

text_LoginName.setColumns(10);

Login_password = new JPasswordField();

Login_password.setBounds(182, 102, 156, 23);

panel.add(Login_password);

JCheckBox chckbx_AutoLogin = new JCheckBox("\u81EA\u52A8\u767B\u5F55");

chckbx_AutoLogin.setBounds(233, 150, 84, 23);

panel.add(chckbx_AutoLogin);

JLabel Label_background = new JLabel("");

Label_background.setIcon(new ImageIcon("E:\\JAVA_workplace\\0002-\u754C\u9762\u8BBE\u8BA1\\images\\background3.jpg"));

Label_background.setBounds(0, 0, 437, 272);

contentPane.add(Label_background);

}

}

java编写一个图形界面程序

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

import javax.swing.border.Border;

class MainFrame extends JFrame {

private static final long serialVersionUID = 1L;

private MapString, Integer sizes = new HashMapString, Integer();

private MapString, Integer styles = new HashMapString, Integer();

private MapString, Integer toppings = new HashMapString, Integer();

public MainFrame() {

sizes.put("Extra Large", 10);

sizes.put("Large", 8);

sizes.put("Medium", 5);

sizes.put("Small", 3);

styles.put("Deep Dish", 20);

styles.put("Regular", 10);

styles.put("Thin Crust", 5);

styles.put("Chicago", 3);

toppings.put("Cheese", 8);

toppings.put("Tomato", 7);

toppings.put("Peppers", 6);

toppings.put("Peperoni", 5);

this.setTitle("布局及事件处理");

this.setSize(450, 350);

this.setLayout(new BorderLayout());

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel lblTitle = new JLabel();

lblTitle.setText("Pizzeria Juno");

lblTitle.setFont(new Font("宋体", Font.BOLD, 36));

lblTitle.setHorizontalAlignment(SwingConstants.CENTER);

this.add("North", lblTitle);

JPanel bodyPanel = new JPanel();

bodyPanel.setLayout(new GridLayout(2, 1));

this.add("Center", bodyPanel);

JPanel listPanel = new JPanel();

listPanel.setLayout(new GridLayout(1, 3));

listPanel.setSize(200, 200);

bodyPanel.add(listPanel);

Border lineBorder = BorderFactory.createLineBorder(Color.BLACK);

JPanel sizePanel = new JPanel();

sizePanel.setLayout(new BorderLayout());

listPanel.add(sizePanel);

JLabel sizeTitle = new JLabel();

sizeTitle.setText("Sizes");

sizePanel.add("North", sizeTitle);

JList sizeList = new JList(sizes.keySet().toArray());

sizeList.setSize(100, 100);

sizeList.setBorder(lineBorder);

sizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

sizePanel.add(sizeList);

JPanel stylePanel = new JPanel();

stylePanel.setLayout(new BorderLayout());

listPanel.add(stylePanel);

JLabel styleTitle = new JLabel();

styleTitle.setText("Styles");

stylePanel.add("North", styleTitle);

JList styleList = new JList(styles.keySet().toArray());

styleList.setSize(100, 100);

styleList.setBorder(lineBorder);

styleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

stylePanel.add(styleList);

JPanel toppingPanel = new JPanel();

toppingPanel.setLayout(new BorderLayout());

listPanel.add(toppingPanel);

JLabel toppingTitle = new JLabel();

toppingTitle.setText("Toppings");

toppingPanel.add("North", toppingTitle);

JList toppingList = new JList(toppings.keySet().toArray());

toppingList.setSize(100, 100);

toppingList.setBorder(lineBorder);

toppingPanel.add(toppingList);

JTextArea txtResult = new JTextArea();

txtResult.setEditable(false);

bodyPanel.add(txtResult);

JPanel bottomPanel = new JPanel();

bottomPanel.setLayout(new GridLayout(1, 3));

this.add("South", bottomPanel);

JLabel label1 = new JLabel("Click to complete order");

bottomPanel.add(label1);

JButton btnRingUp = new JButton("Ring up");

btnRingUp.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(sizeList.getSelectedValue() == null) {

JOptionPane.showMessageDialog(MainFrame.this, "Please select size.");

return;

}

if(styleList.getSelectedValue() == null) {

JOptionPane.showMessageDialog(MainFrame.this, "Please select style.");

return;

}

if(toppingList.getSelectedValue() == null) {

JOptionPane.showMessageDialog(MainFrame.this, "Please select topping.");

return;

}

float total = 0;

String size = sizeList.getSelectedValue().toString();

total += sizes.get(size);

String style = styleList.getSelectedValue().toString();

total += styles.get(style);

String result = size + " Pizza, " + style + " Style";

Object[] toppings = toppingList.getSelectedValues();

for(Object topping : toppings) {

result += "\n  +" + topping.toString();

total += MainFrame.this.toppings.get(topping.toString());

}

result += "\n  Total: " + total;

txtResult.setText(result);

}

});

bottomPanel.add(btnRingUp);

JButton btnQuit = new JButton("Quit");

btnQuit.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

MainFrame.this.dispose();

}

});

bottomPanel.add(btnQuit);

}

}

public class App {

public static void main(String[] args) {

MainFrame mainFrame = new MainFrame();

mainFrame.setVisible(true);

}

}

Java编写一个图形界面

我觉得还是我的好些。。。

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.FileOutputStream;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class TestSwing extends JFrame{

private JLabel label1, label2, label3, label4,label5,label6,label7;

private JPanel panel,panel1,panel2;

private JTextField tField1,tField2,tField3,tField4,tField5,tField6,tField7,tField8,tField9;

private JButton button;

private String filepath="c:\\info.dat";

public TestSwing(){

init();

this.setSize(300, 280);

this.setLocation(

(Toolkit.getDefaultToolkit().getScreenSize().width - this

.getSize().width) / 2,

(Toolkit.getDefaultToolkit().getScreenSize().height - this

.getSize().height) / 2);

this.setResizable(false);

this.setVisible(true);

this.setTitle("info");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void init(){

initPanel();

initLabel();

initTextField();

initButton();

initContent();

}

private void initContent(){

panel1.add(label1);

panel1.add(tField1);

panel1.add(label2);

panel1.add(tField2);

panel1.add(label3);

panel1.add(tField3);

panel1.add(label4);

panel1.add(tField4);

panel1.add(label5);

panel1.add(tField5);

panel1.add(label6);

panel1.add(tField6);

panel1.add(label7);

panel1.add(tField7);

panel1.add(tField8);

panel1.add(tField9);

panel2.add(button);

panel.add(panel1,BorderLayout.CENTER);

panel.add(panel2,BorderLayout.SOUTH);

getContentPane().add(panel);

}

private void initPanel(){

panel = new JPanel();

panel.setLayout(new FlowLayout());

panel.setBackground(Color.WHITE);

panel1 = new JPanel();

GridLayout upLayout = new GridLayout(8, 2);

panel1.setLayout(upLayout);

panel2 = new JPanel();

panel2.setLayout(new FlowLayout());

}

private void initLabel(){

label1 = new JLabel("IP地址", SwingConstants.LEFT);

label2 = new JLabel("端口", SwingConstants.LEFT);

label3 = new JLabel("访问地址", SwingConstants.LEFT);

label4 = new JLabel("XXXXX", SwingConstants.LEFT);

label5 = new JLabel("XXXXX", SwingConstants.LEFT);

label6 = new JLabel("XXXXX", SwingConstants.LEFT);

label7 = new JLabel("XXXXX", SwingConstants.LEFT);

}

private void initTextField(){

tField1 = new JTextField(10);

tField2 = new JTextField(10);

tField3 = new JTextField(10);

tField4 = new JTextField(10);

tField5 = new JTextField(10);

tField6 = new JTextField(10);

tField7 = new JTextField(10);

tField8 = new JTextField(10);

tField9 = new JTextField(10);

}

private void initButton(){

button = new JButton("完成");

button.addMouseListener(new MouseAdapter(){

//左键点击

public void mouseClicked(MouseEvent e) {

String ipv = tField1.getText().trim();

String portv = tField2.getText().trim();

String addrv = tField3.getText().trim();

String xx1v = tField4.getText().trim();

String xx2v = tField5.getText().trim();

String xx3v = tField6.getText().trim();

String xx4v = tField7.getText().trim();

String inputx = tField8.getText().trim();

String inputxv = tField9.getText().trim();

createFile(ipv, portv, addrv, xx1v, xx2v, xx3v, xx4v, inputx, inputxv);

JOptionPane.showMessageDialog(null, "保存成功");

tField1.setText("");

tField2.setText("");

tField3.setText("");

tField4.setText("");

tField5.setText("");

tField6.setText("");

tField7.setText("");

tField8.setText("");

tField9.setText("");

}

});

}

public static void main(String[]args){

new TestSwing();

}

private void createFile(String ipv,String portv ,String addrv,String xx1v,String xx2v,String xx3v,String xx4v,String inputx,String inputxv){

StringBuffer cOntext= new StringBuffer();

context.append("ip=").append(ipv).append("\n");

context.append("port=").append(portv).append("\n");

context.append("addr=").append(addrv).append("\n");

context.append("xx1=").append(xx1v).append("\n");

context.append("xx2=").append(xx2v).append("\n");

context.append("xx3=").append(xx3v).append("\n");

context.append("xx4=").append(xx4v).append("\n");

context.append(inputx).append("=").append(inputxv).append("");

FileOutputStream fos = null;

try {

fos = new FileOutputStream(filepath);

fos.write(context.toString().getBytes());

} catch (Exception e) {

} finally {

if (fos != null)

try {

fos.close();

} catch (Exception e) {

}

}

}

}

java图形界面的布局

没用过SWT的人路过,提供一个SWING:

窗口用JFrame(frame),布局为BorderLayout.

顶部为JLabel(labelTop),带图片和文字,用frame.add(labelTop, BorderLayout.NORTH)加入

左面为JPanel(panelLeft),布局为BoxLayout,参数Y_AXIS.需要在创建JPanel时设置Layout为NULL,然后再创建BoxLayout时需要把已经建立的panelLeft作为参数传进去,然后再设置panelLeft的Layout为那个BoxLayout。用frame.add(panelLeft, BorderLayout.WEST)加入

中间为一堆不同功能的JPanel,布局根据功能而定了,在点击按钮时,移除frame此时中间的panel(记录在一个自己的变量panelCenter里),然后加入按钮对应的panel,再把加入的panel存入变量panelCenter.

Java编写图形用户界面程序

运行如图

参考代码如下

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("");

}

}

}

JAVA的图形界面是怎么出来的

,jdk 里面包含很多包,每个包都有特定的功能,最初学的是lang包是语言基础,utli是实用包提供集合日期函数随机等,而GUI 来自于awt (abstract windows tool)和 swing (slight window),这2个包提供了截面所需要的全部控件,像记事本就是典型应用QQ界面什么都可以作出来.至于applet是java 小程序,做点贪吃蛇什么的用它.至于具体的应用你可以去看java高级教程.那里还包含网络接口等.


推荐阅读
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
author-avatar
手机用户2502886253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有