java画图

看来你从未动过手解决未知问题,只会做练习?

这里已经提示了怎么做,你只需要先了解基本的Swing中的JLabel/JFrame怎么用,然后自己自己做一个EllipseComponent覆盖它的paintComponent(Graphicsg)方法,使用一个像Eclipse这样的开发工具IDE,在g后面打个点就有提示这个Graphics有什么方法可用,里面就有2D绘图的方法。

importjava.awt.Color;
importjava.awt.Dimension;
importjava.awt.EventQueue;
importjava.awt.Graphics;
importjava.awt.Rectangle;
importjava.awt.event.ComponentAdapter;
importjava.awt.event.ComponentEvent;

importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.UIManager;

{

=5929654695935454925L;

publicstaticvoidmain(String[]args){
try{
UIManager.setLookAndFeel(UIManager
.());
}catch(Exceptione){
e.printStackTrace();
}
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
EllipseViewerapp=newEllipseViewer();
}
});
}

privateJPanelpanel;

publicEllipseViewer(){
add(getPanel());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
addComponentListener(newComponentAdapter(){
@Override
publicvoidcomponentResized(ComponentEvente){
System.out.println("WindowResized:Frame");
}
});
}

publicJPanelgetPanel(){
if(panel==null){
panel=newEllipseComponent();
panel.setPreferredSize(newDimension(300,200));
panel.setBackground(Color.RED);
}
returnpanel;
}

{

=-1744557274793554529L;

protectedvoidpaintComponent(Graphicsg){
System.out.println("Paintcomponent");
RectangleclientArea=this.getBounds();

intheight=clientArea.height-1;
intwidth=clientArea.width-1;

//setforegroundcolor
g.setColor(Color.BLACK);

//drawcycle/ellipse
g.drawOval(0,0,width,height);

//setforegroundcolor
g.setColor(Color.ORANGE);

//fillit,wegive1pixelaslinewidth.
g.fillOval(1,1,width-2,height-2);
}

}
}

⑵ JAVA 图片

double[] myList=new List()[0];
double max=myList[0];
myList未定义

⑶ java实现图片的内容


publicclassEmployee{
privateStringname;//员工姓名
privateintbirthMonth;//员工生日月份
protectedintsalary;//员工基本工资
protectedintmoney;//员工薪水

//空参构造函数
publicEmployee(){

}

//带姓名和出生月份的构造函数
publicEmployee(Stringname,intbirthMonth){
this.setName(name);
this.setBirthMonth(birthMonth);
}

publicStringgetName(){ //get和set方法
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicintgetBirthMonth(){
returnbirthMonth;
}

publicvoidsetBirthMonth(intbirthMonth){
this.birthMonth=birthMonth;
}

//getSalary方法,判断输入的月份是否和生日月份相等,相等salary加100.
publicvoidgetSalary(intbirthMonth){
this.salary=(this.birthMonth==birthMonth)?salary+100:salary;
}

//打印员工信息
publicvoidshow(){
System.out.println("员工姓名:"+name);
System.out.println("员工生日:"+birthMonth);
}
}

第一个,有空再写别的.

⑷ java有哪些图结构

链表,线性表,栈,队列,hash表!

数据结构:
①数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数
据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组
元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指
针数组、结构数组等各种类别。
②栈 (Stack)
栈是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后
的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
③队列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行
插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
④链表 (Linked List)
一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:
一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
⑤树 (Tree)
树是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:
(1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)
(2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。
(3)K中各结点,对关系N来说可以有m个后继(m>=0)。
⑥堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指
二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
⑦图 (Graph)
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,
边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
⑧散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称
这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。

⑸ JAVA 一个可以打开图片的图形界面,求代码

以前写的一个比较粗糙的例子。

importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
importjava.io.*;

{
JLabeljl=newJLabel("图片");
JMenuBarjmb=newJMenuBar();
JMenujm=newJMenu("文件");
JMenuItemjmi=newJMenuItem("选择图片");
JPaneljp=newJPanel(newFlowLayout(FlowLayout.CENTER));
JFileChooserchooser=newJFileChooser();
publicTupian(){
super("浏览图片");
jmb.add(jm);
jm.add(jmi);
jp.add(jl);
jmi.addActionListener(this);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setLayout(newBorderLayout());
this.add(jmb,BorderLayout.NORTH);
this.add(jp,BorderLayout.CENTER);
this.setSize(800,600);
this.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
inti=chooser.showOpenDialog(this);
if(i==chooser.APPROVE_OPTION){
Imageimage=newImageIcon(chooser.getSelectedFile().getPath()).getImage();
image=image.getScaledInstance(400,400,Image.SCALE_DEFAULT);//调整图像大小400,400
jl.setIcon(newImageIcon(image));
jl.setText("");
}
if(i==chooser.CANCEL_OPTION)return;
}
publicstaticvoidmain(String[]args){
newTupian();
}
}

⑹ Java图形

我试一下,你的direction只有一个方向,用一个变量记住2个参数是不合适的。

需要同时跟踪x和y上的方向,因为对于小球来说,实际上有4方向,而不是2个。或者你用记住一个角度也可以,以后碰壁之后,用三角形计算出另一个角度。每次移动时用三角函数sin(a)和cos(a)计算出x和y的步长。当在一个位置碰壁时只应该改变其中一个坐标的加减方向,而你改变direction就相当于同时改变了x和y的加减方向。


下面部分代码修改了。

	privateintdirectionX;
privateintdirectionY;

publicMovingComponent(){
x=0;
y=0;
directionX=1;
directionY=1;
}

publicvoidpaintComponent(Graphicsg){
g.setColor(Color.GREEN);
g.fillOval(x,y,WIDTH,HEIGHT);
}

publicvoidmove(){
intheight=getHeight();
intwidth=getWidth();

//先试探性移动,记住两个方向的坐标变化本身互不相关的。
intnextX=x+2*directionX;
intnextY=y+2*directionY;

if(nextX<0||nextX>width-WIDTH){
//碰壁后调整方向,然后重新计算位置x。
directionX=-1*directionX;
nextX=x+2*directionX;
}

if(nextY<0||nextY>height-HEIGHT){
//碰壁后调整方向,然后重新计算位置y.
directionY=-1*directionY;
nextY=y+2*directionY;
}

x=nextX;
y=nextY;

repaint();
}

⑺ java生成jpg图片 并且实现文字和图片混排

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.awt.image.BufferedImage;
import java.awt.*;
import javax.swing.ImageIcon;

public class ChartGraphics {

BufferedImage image;

void createImage(String fileLocation) {
try {
FileOutputStream fos = new FileOutputStream(fileLocation);
BufferedOutputStream bos = new BufferedOutputStream(fos);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
encoder.encode(image);
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public void graphicsGeneration(String name, String id, String classname, String imgurl) {

int imageWidth = 500;//图片的宽度

int imageHeight = 400;//图片的高度

image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics graphics = image.getGraphics();
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, imageWidth, imageHeight);
graphics.setColor(Color.BLACK);
graphics.drawString("姓名 : " + name, 50, 75);
graphics.drawString("学号 : " + id, 50, 150);
graphics.drawString("班级 : " + classname, 50, 225);
//ImageIcon imageIcon = new ImageIcon(imgurl);
//graphics.drawImage(imageIcon.getImage(), 230, 0, null);

//改成这样:
BufferedImage bimg = null;
try {
bimg = javax.imageio.ImageIO.read(new java.io.File(imgurl));
} catch (Exception e) {}

if(bimg!=null)
graphics.drawImage(bimg, 230, 0, null);
graphics.dispose();

createImage("G:\\TDDOWNLOAD\\hehe.jpg");

}

public static void main(String[] args) {
ChartGraphics cg = new ChartGraphics();
try {
cg.graphicsGeneration("ewew", "1", "12", "C:/Documents and Settings/Administrator/My Documents/My Pictures/7.jpg");
} catch (Exception e) {
e.printStackTrace();
}
}
}

⑻ 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程序

图片看不清,按你的要求应该是写个控制台程序吧。

importjava.util.Random;
importjava.util.Scanner;

publicclassDemo{

publicstaticvoidmain(String[]args){
printHead();//打印头信息
booleanflag=false;//注册标志
Stringusername="";
Stringpassword="";

Scannerscanner=newScanner(System.in);
while(true){
System.out.println("请选择功能:");
intindex=scanner.nextInt();
switch(index){
case1:
System.out.println("输入用户名:");
username=scanner.next();
System.out.println("输入密码:");
password=scanner.next();

intcardNo=newRandom().nextInt(8999)+1000;

System.out.println("注册成功");
flag=true;

System.out.println("用户名 密码 卡号");
System.out.println(username+" "+password+" "+cardNo);
break;
case2:
System.out.println("输入用户名:");
String_username=scanner.next();
System.out.println("输入密码:");
String_password=scanner.next();

if(!flag){
System.out.println("未注册!");
}else{
if(_username.equals(username)&&_password.equals(password)){
System.out.println("登录成功!");
}else{
System.out.println("用户名或密码错误!");
}
}
break;
case3:
scanner.close();
System.out.println("关闭程序!");
System.exit(1);
break;

default:
break;
}
}
}

publicstaticvoidprintHead(){
System.out.println("********xxx系统*********");
System.out.println("1、注册");
System.out.println("2、登录");
System.out.println("3、退出");
System.out.println("************************");
}

}