导航:首页 > 编程语言 > java图形开发

java图形开发

发布时间:2024-02-01 02:34:36

1. 用java编写一个图形类,该类具有长和高属性,具有求面积的方法

package .shape;

abstract class Shape {//定义抽象父类Shape
public double width;
public double height;
abstract double getArea(); //定义求解面积的方法
}

package .shape;

public class Rect extends Shape {

@Override
double getArea() {
return width*height;
}
}

package .shape;

public class Trangle extends Shape {
double sideA;
double sideB;
double sideC;
boolean isTrangel;
public Trangle(double a,double b,double c)
{
sideA=a;sideB=b;sideC=c;
if(a+b>c&&a+c>b&&b+c>a)
{
System.out.println("我是一个三角形");
isTrangel = true;
}
else
{
System.out.println("我不是一个三角形");
isTrangel = false;
}
}

@Override
double getArea() {
double area = 0d;
if(isTrangel)
{
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
System.out.println("三角形面积是:"+area);
}
else
{
System.out.println("不是一个三角形,不能计算面积");
}
return area;
}

}

package .shape;

public class TestArea {

public static void main(String[] args) {
Shape rectangle = new Rect();
rectangle.height=1.1;
rectangle.width=5.0;
System.out.println("矩形的面积是:"+rectangle.getArea());
//三角形
Shape tran = new Trangle(2.3,4.5,5.6);

System.out.println("三角形的面积是:"+tran.getArea());
}

}

运行结果:
矩形的面积是:5.5
我是一个三角形
三角形面积是:4.966246067202064
三角形的面积是:4.966246067202064

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

importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjavax.swing.*;
importjavax.swing.border.Border;


classMainFrameextendsJFrame{

=1L;

privateMap<String,Integer>sizes=newHashMap<String,Integer>();

privateMap<String,Integer>styles=newHashMap<String,Integer>();

privateMap<String,Integer>toppings=newHashMap<String,Integer>();

publicMainFrame(){

sizes.put("ExtraLarge",10);
sizes.put("Large",8);
sizes.put("Medium",5);
sizes.put("Small",3);

styles.put("DeepDish",20);
styles.put("Regular",10);
styles.put("ThinCrust",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(newBorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabellblTitle=newJLabel();
lblTitle.setText("PizzeriaJuno");
lblTitle.setFont(newFont("宋体",Font.BOLD,36));
lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
this.add("North",lblTitle);

JPanelbodyPanel=newJPanel();
bodyPanel.setLayout(newGridLayout(2,1));
this.add("Center",bodyPanel);

JPanellistPanel=newJPanel();
listPanel.setLayout(newGridLayout(1,3));
listPanel.setSize(200,200);
bodyPanel.add(listPanel);

BorderlineBorder=BorderFactory.createLineBorder(Color.BLACK);

JPanelsizePanel=newJPanel();
sizePanel.setLayout(newBorderLayout());
listPanel.add(sizePanel);
JLabelsizeTitle=newJLabel();
sizeTitle.setText("Sizes");
sizePanel.add("North",sizeTitle);


JListsizeList=newJList(sizes.keySet().toArray());
sizeList.setSize(100,100);
sizeList.setBorder(lineBorder);
sizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
sizePanel.add(sizeList);

JPanelstylePanel=newJPanel();
stylePanel.setLayout(newBorderLayout());
listPanel.add(stylePanel);
JLabelstyleTitle=newJLabel();
styleTitle.setText("Styles");
stylePanel.add("North",styleTitle);
JListstyleList=newJList(styles.keySet().toArray());
styleList.setSize(100,100);
styleList.setBorder(lineBorder);
styleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
stylePanel.add(styleList);

JPaneltoppingPanel=newJPanel();
toppingPanel.setLayout(newBorderLayout());
listPanel.add(toppingPanel);
JLabeltoppingTitle=newJLabel();
toppingTitle.setText("Toppings");
toppingPanel.add("North",toppingTitle);
JListtoppingList=newJList(toppings.keySet().toArray());
toppingList.setSize(100,100);
toppingList.setBorder(lineBorder);
toppingPanel.add(toppingList);

JTextAreatxtResult=newJTextArea();
txtResult.setEditable(false);
bodyPanel.add(txtResult);

JPanelbottomPanel=newJPanel();
bottomPanel.setLayout(newGridLayout(1,3));
this.add("South",bottomPanel);

JLabellabel1=newJLabel("Clicktocompleteorder");
bottomPanel.add(label1);

JButtonbtnRingUp=newJButton("Ringup");
btnRingUp.addActionListener(newActionListener(){

@Override
publicvoidactionPerformed(ActionEvente){



if(sizeList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselectsize.");
return;
}

if(styleList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselectstyle.");
return;
}

if(toppingList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselecttopping.");
return;
}

floattotal=0;

Stringsize=sizeList.getSelectedValue().toString();
total+=sizes.get(size);

Stringstyle=styleList.getSelectedValue().toString();
total+=styles.get(style);

Stringresult=size+"Pizza,"+style+"Style";

Object[]toppings=toppingList.getSelectedValues();
for(Objecttopping:toppings){
result+=" +"+topping.toString();
total+=MainFrame.this.toppings.get(topping.toString());
}

result+=" Total:"+total;

txtResult.setText(result);
}
});
bottomPanel.add(btnRingUp);

JButtonbtnQuit=newJButton("Quit");
btnQuit.addActionListener(newActionListener(){

@Override
publicvoidactionPerformed(ActionEvente){
MainFrame.this.dispose();
}
});
bottomPanel.add(btnQuit);
}

}

publicclassApp{

publicstaticvoidmain(String[]args){


MainFramemainFrame=newMainFrame();
mainFrame.setVisible(true);

}

}

3. java图形界面编程

因为这是个applet 不能直接运行

注意:applet不能直接用java命令运行

方法(步骤):

1、Javac welcome.java后生版成welcome.class

2、在跟welcome.class同一级的目录下新建一权个文本文件,并输入:
<applet code="welcome.class"
width=320 height=180>
</applet>

3、保存并将文件名改为welcome.html
(这个html文件的名字任意,在这边我用welcome)

4、在cmd中输入appletviewer welcome.html便可以看见你的applet了
或直接把这个welcome.html拖入浏览器运行,也可以有同样效果

5、现在我解释一下上面的代码
<applet>
</applet>
是必要的格式,在里面可以输入许多参数,其中code,width,height是必须的
code:欲运行的class的名字
width:applet窗口的宽度
height: applet窗口的高度

4. java 图形化编程

在做图形化编程时:一定要考虑到你是想用重量级的还是轻量级组件,重量级的我们一般用的不多,轻量级的我们用的非常多,轻量级的祖先都在import java.swing.*包中,他的里面有很多的控件供你使用.
但是,如果你想当一位程序员,我建议你用手工巧代码,不要用netbeans 和 myeclipse,这样可以锻炼你的思维能力,如果你是想体验一下的化,那你就随便用哪一个都行。
最后我想提醒你一下,关于图形化编程,未来的发展方向是电脑自动生成的,这一点你可以不用花费很多的时间在这里。
如果你的基础一般,我建议你还是多重视基础,特别是面向对象,继承,多态,线程,异常等,这些是你以后用的最多的,你若想当程序员你就必须掌握!
请原谅我的直言,我写的太多了,I'm sorry!

5. JAVA画图形

1.定义抽象类AbstractImage
import java.awt.Graphics;

public abstract class AbstractImage {
public abstract void draw(Graphics g);
}
2.(示例)定义正方形类
import java.awt.*;

public class Rec extends AbstractImage {

/*
* 1.定义正方形左上顶点的坐标(x,y)
* 2.定义正方形的宽为width,高为height
* 3.写构造方法,setter getter方法
* */
private int x;
private int y;
private int width;
private int height;

public Rec(){

}

public Rec(int x, int y, int width, int height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}

//重写draw方法:正方形的draw方法
public void draw(Graphics g) {

Color c=g.getColor();//获得窗口的前景色
g.setColor(Color.BLUE);//设置正方形的前景色
g.fillRect(x, y, width, height);//画出正方形
}

public int getX() {
return x;
}

public void setX(int x) {
this.x = x;
}

public int getY() {
return y;
}

public void setY(int y) {
this.y = y;
}

public int getWidth() {
return width;
}

public void setWidth(int width) {
this.width = width;
}

public int getHeight() {
return height;
}

public void setHeight(int height) {
this.height = height;
}
}
3.定义一个测试类,有main方法
在这个测试类中定义一个窗口(lanchFrame方法 会自动调用paint方法 paint方法里调用正方形的draw方法),到时我们要在这个窗口里画出正方形
import java.awt.*;
import java.awt.event.*;

public class Test extends Frame{

//定义窗口的大小为常量
private static final int GAME_WIDTH = 800;
private static final int GAME_HEIGHT = 600;

public static void main(String [] args){
Test t =new Test();
t.lanchFrame();
}

private void lanchFrame() {

this.setLocation(400,300);//设置窗口的位置(以屏幕的左上角为基准)
this.setSize(GAME_WIDTH,GAME_HEIGHT);//设置窗口的大小
this.setTitle("画图测试");
//匿名类实现关闭窗口
this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
this.setResizable(false);//设置窗口不可以改变大小
this.setBackground(Color.GREEN);//设置窗口的背景色为绿色

setVisible(true);//设置窗口可见
}

public void paint(Graphics g){
//在这里实例化正方形类,并调用它的draw方法
Rec rec=new Rec(150,150,200,200);//在实例化的时候就可以指定正方形的大小
rec.draw(g);//这里把paint方法中的画笔g传递给正方形的draw方法
}

}

//其他两个图形也一样,画圆用的是画笔g的fillOval()方法
4.运行测试
在硬盘上建个文件夹,如E:\test\ 在这个文件夹下把这三个文件都放进去
在dos下编译测试:
javac Test.java
java Test

如果实在IDE中测试,那我就不多说了。

5.总结:
【1】先画出窗口lanchFrame,并设置窗口的属性,如大小、可见、不可以随意改动大小、位置、可以通过关闭按钮关闭窗口
【2.】在窗口中画出想要画的图形,lanchFrame自动调用paint方法,在paint方法中调用具体图形的draw方法。

6. 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的内容。

7. JAVA也可以用于图像的设计吗

是的,Java可以用于图像的设计。Java提供了许多图形库和工具,可以用于创建和处理图像。以下是一些常用的Java图形库和工具:搭衡
1. Java 2D API:Java 2D API提供了一组用于创建和处理2D图形的类和接口,包括绘图、图像处理、颜色管理和字体等方面的功能。
2. JavaFX:JavaFX是一个用于创建富客户端应用程序的凯困框架,包括图形、媒体、界面和动画等方面的功能。JavaFX提供了一组用于创建和处理图像的类和接口,可以用于创建各种类型的图像和动画效果。
3. AWT:Abstract Window Toolkit(AWT)是Java的原始图形库,提供了一组用于创建和处理图形用户界面(GUI)的类和接口。AWT包括一些基本的绘图和事件处理功能,但是相对于Java 2D API和JavaFX,其功能较为有限。
4. Java图像处理库(Java Image Processing Library,JIPL):JIPL是一个开源的Java图像处理库,提供了一组用于处理和编辑图像的类和方法,包括图像过滤器盯枝念、噪声消除、边缘检测、图像变换和颜色空间转换等方面的功能。
总之,Java可以用于图像的设计,开发人员可以根据具体需求选择适合的图形库和工具。

8. 怎样用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.;

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

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

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

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

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

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

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-u754Cu9762u8BBEu8BA1\images\background3.jpg"));

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

contentPane.add(Label_background);

}

}


阅读全文

与java图形开发相关的资料

热点内容
qq浏览器转换完成后的文件在哪里 浏览:623
jsp中的session 浏览:621
压缩完了文件去哪里找 浏览:380
武装突袭3浩方联机版本 浏览:674
网络机顶盒移动网络 浏览:391
iphone手机百度云怎么保存到qq 浏览:148
数据库设计与实践读后感 浏览:112
js对象是什么 浏览:744
网页文件存pdf 浏览:567
文件夹正装 浏览:279
刚复制的文件找不到怎么办 浏览:724
试运行适用于哪些体系文件 浏览:987
ghost文件复制很慢 浏览:967
杰德原车导航升级 浏览:240
编程dest是什么意思 浏览:935
linux端口镜像 浏览:820
iphone5屏幕清尘 浏览:157
机顶盒密码怎么改 浏览:672
w7系统下载32位教程 浏览:618
pcb文件包括哪些内容 浏览:598

友情链接