swingjava,swingjava食物动态代码

本文目录一览:

java的Swing是轻量级组件,轻量级组件是什么意思?

一、轻量级组件是用java代码画出来的,这样具有平台移植性

重量级组件是调用系统的函数画出来的组件,比如主窗体

一般来说尽量用轻量级的组件,这样对程序的移植性很好。

一般java.swing包里的组件大部分是轻量级的,java.awt里面的是重量级的。

swing是由100%纯java实现的,swing组件是用java实现的轻量级组件,没有本地代码

不依赖操作系统的支持,这是与AWT组件的最大组别。由于AWT组件通过与具体平台的

对等类(peer)实现,因此Swing比AWT组件具有更强的实用性。Swing在不同的

平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。

二、总的来说就是

重量级组件:对应运行平台必须存在一个对应的组件.

轻量级组件:在一个虚拟的画布上画出来的组件(所以swing较慢),所有轻量级组件”最终”要放到重量级组件(jframe,jdialog)中.由于是画出来所以能做到各种平台上一致的表现.同样,如果混合重量级组件和轻量级组件容易引起重叠上的冲突.

java中的swing用法

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class TestRegister extends JDialog {

// setup the variable

String name=””;

String password=””;

JLabel nameL,passwordL;

JTextField nameArea;

JPasswordField passwordArea;

JButton register,login,cancel;

ArrayList User userData = new ArrayList User();

public static void main(String[] args) {

TestRegister test = new TestRegister();

test.setupLayout();

}

public void setupLayout(){

this.setBounds(300, 200,280,120);

this.setTitle(“Register”);

this.setResizable(false);

this.setModal(true);

setupTypeArea();

this.getData();

this.setVisible(true);

}

public void setupTypeArea(){

JPanel typeArea = new JPanel();

typeArea.setLayout(new FlowLayout());

nameL = new JLabel(“name: “);

passwordL = new JLabel(“password: “);

nameArea = new JTextField(15);

passwordArea = new JPasswordField(15);

typeArea.add(nameL);

typeArea.add(nameArea);

typeArea.add(passwordL);

typeArea.add(passwordArea);

this.add(typeArea);

JPanel buttonArea = new JPanel();

register = this.addButton(“Register”, buttonArea);

login = this.addButton(“Login”, buttonArea);

cancel = this.addButton(“Cancel”, buttonArea);

this.add(buttonArea,BorderLayout.SOUTH);

}

public JButton addButton(String name,JPanel panel){

JButton temp = new JButton(name);

temp.addActionListener(new ButtonMonitor());

panel.add(temp);

return temp;

}

public void showMessage(String m){

JOptionPane.showMessageDialog(this, m);

}

public void getData(){

try {

Scanner input = new Scanner(new FileReader(“D:/data.txt”));

while(input.hasNextLine()){

this.addUser(input.nextLine());

}

} catch (FileNotFoundException e) {

return;

}

}

public void addUser(String data){

String [] s = data.split(” “);

String name = s[0];

String password = s[1];

userData.add(new User(name,password));

}

public void updateData(){

try {

FileWriter saver = new FileWriter(“D:/data.txt”);

String data = “”;

for(int i=0; iuserData.size();i++){

data += userData.get(i).toString()+”\n”;

}

saver.write(data);

saver.close();

} catch (IOException e) {

return;

}

}

public void doRegister(){

String name = nameArea.getText();

String password = passwordArea.getText();

if(!name.isEmpty()!password.isEmpty()){

for(int i=0;iuserData.size();i++){

if(name.equals(userData.get(i).getName())){

String m = “这个用户名已经注册!!”;

this.showMessage(m);

doCancel();

return;

}

}

userData.add(new User(name,password));

updateData();

doCancel();

}

else{

String m=”用户名或者密码是空!!!”;

this.showMessage(m);

doCancel();

}

}

public void doLogin(){

String name = nameArea.getText();

String password = passwordArea.getText();

for(int i=0;iuserData.size();i++){

if(name.equals(userData.get(i).getName())password.equals(userData.get(i).getPassword())){

String m = “登陆成功”;

this.showMessage(m);

this.doCancel();

return;

}

}

String m =”用户名和密码不匹配!!”;

this.showMessage(m);

this.doCancel();

}

public void doCancel(){

nameArea.setText(“”);

passwordArea.setText(“”);

}

class ButtonMonitor implements ActionListener{

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand().equals(“Register”)){

doRegister();

}else if(e.getActionCommand().equals(“Login”)){

doLogin();

}else if(e.getActionCommand().equals(“Cancel”)){

doCancel();

}

}

}

class User{

String name;

String password;

public User(String name, String password) {

this.name = name;

this.password = password;

}

public String getName() {

return name;

}

public String getPassword() {

return password;

}

public String toString(){

return name+” “+password;

}

}

}

给你随便写了一下。。。简单登陆用的话用JDialog就够了不必要用JFrame

其实最好是用数据库

JAVA初学者:swing是什么

看看这个就知道了

Java应用程序用户界面开发包

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event

用Swing创建图形界面步骤:

(1)导入Swing包

(2)选择界面风格

(3)设置顶层容器

(4)设置按钮和标签

(5)将组件放到容器上

(6)为组件增加边框

(7)处理事件

(8)辅助技术支持

1。导入Swing包

下面语句导入Swing包

import javax.swing.*;

大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:

import java.awt.*;

import java.awt.event.*;

如果图形界面中包括了事件处理,那么还需要导入事件处理包:

import javax.swing.event.*;

2.选择界面风格

Swing允许选择程序的图形界面风格常用的有java风格,windows风格等

下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。

try { UIManager.setLookAndFeel(

UIManager.getCrossPlatformLookAndFeelClassName( )); }

catch (Exception e) { }

(3) 设置顶层容器

图形界面至少要有一个顶级Swing容器

顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持

常用的顶级容器:

JFrame(框架):表示主程序窗口

JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口

JApplet(小程序):在浏览器内显示一个小程序界面

一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格

窗格也可以看作是一种面板,但它是框架的一个组成部分

组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上

用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板

public static void main(String[ ]args){JFrame frame=new JFrame(“SwingApplication”);

JPanel panel1=new JPanel();

frame.getContentPane().add(panel1,BorderLayout.CENTER);

……//添加其他组件

frame.pack();frame.setVisible(true);}

java里面的swing组件是什么东西?

是一种b/s结构的,做的是桌面程序的,但是Java的swing不是很好,Java强打的是网页,所以一般很少用到swing

java中swing 全称

swing就是全称

awt是abstract window toolkit的简写,但是swing没有

swing的意思是:

1 摇摆; 摆动

2 摆动的幅度; 摆动的范围

The pendulum’s swing is 12 inches. 钟摆的摆动幅度是十二寸

3 手臂挥动产生的打击

4 挥动 (球棒, 高尔夫球棒等物) 的姿势

5 (态度, 地位, 状况的) 改变

a swing to conservation 转趋保守

6 自由的行为

The children have free swing in deciding what color to paint their room.孩子可自行决定房间油漆的颜色

7 a. 优雅的移动

has a swing to her walk 走路摇曳生姿

b. 前后摆动

the swing of a bird across the sky 鸟在空中的飞行

8 (可以回到原点的) 路线, 行程

a swing across the state while campaigning 竞选时在州内的循环活动

9 秋千

10 正常步调

back in the swing 回归正常

11 (诗的) 音律

12 股市行情的起伏

13 『音乐』

a. 摇摆乐

1935 年以爵士为基础发展而成的流行舞曲, 旋律较简单

b. 放摇摆乐舞曲的舞厅

c. 轻妙的节奏

看来swing有很多有意思的地方,或许开发者开发swing组件的时候就看上了哪条吧~

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/189038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 08:00
下一篇 2024-11-29 08:00

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • QML 动态加载实践

    探讨 QML 框架下动态加载实现的方法和技巧。 一、实现动态加载的方法 QML 支持从 JavaScript 中动态指定需要加载的 QML 组件,并放置到运行时指定的位置。这种技术…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • 北化教务管理系统介绍及开发代码示例

    本文将从多个方面对北化教务管理系统进行介绍及开发代码示例,帮助开发者更好地理解和应用该系统。 一、项目介绍 北化教务管理系统是一款针对高校学生和教职工的综合信息管理系统。系统实现的…

    编程 2025-04-29

发表回复

登录后才能评论