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

}