⑴ java 畫圖片
如果image是在同一個包下的話,可以直接在路勁上寫你的image的名字。比如包名叫com..chaojunjie 那麼下面有個Test.java,在裡面再加一張圖片test.image,那麼久直接Toolkit.getDeafaultToolkit.getImage('test.image')就可以了。當然這樣寫不是做好的。最好單獨和src同目錄下建個包叫images然後把拓片單獨放裡面。
然後獲得相對路徑Toolkit.getDeafaultToolkit.getImage(this.getClass.getFile('裡面寫你的包名+圖片名'))
⑵ java圖片顯示代碼
不是很明白,
類似於啟動界面的么?
import javax.swing.*;
import java.awt.*;
import java.net.*;
public class JSplashWindow extends JWindow implements Runnable
{
Thread splashThread=null;
public JSplashWindow()
{
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//設置啟動界面的游標樣式
JPanel splash=new JPanel(new BorderLayout());
URL url=getClass().getResource("1.jpg");//獲得指定資源文件的絕對路徑。
if(url!=null)
{
splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);
}
setContentPane(splash);
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//獲得屏幕的大小
pack();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);//使啟動窗口居中顯示
start();
}
public void start()
{
toFront();//window類的toFront()方法可以讓啟動界面顯示的時候暫時在最前面,用window類的setAlwayOnTop(boolean)方法可以讓窗口總保持在最前面。
splashThread=new Thread(this);
splashThread.start();
}
public void run()
{
try
{
setVisible(true);
Thread.sleep(50000);
}
catch(Exception e)
{
e.printStackTrace();
}
dispose();
}
static void showFrame(String title)
{
JFrame frame=new JFrame(title);
frame.setSize(400,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize=frame.getToolkit().getScreenSize();//獲得屏幕的大小
Dimension frameSize=frame.getSize();
if(frameSize.height>screenSize.height)
{
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width)
{
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
frame.setVisible(true);
}
public static void main(String[] args)
{
showFrame("Demo splash window");
JSplashWindow splash=new JSplashWindow();
//splash.start();
}
}
/*getToolkit()方法是java.awt.window類的方法它可以得到一個Toolkit類。Toolkit對象的getScreenSize()方法可以得到屏幕的大小。
getScreenSize()方法返回一個 Dimension對象,它的width,height屬性就是屏幕的寬和高。
Object getClass()方法是java.lang.Object類的方法它可以獲得當前正在運行類的對象
URL getResource(String name)方法是java.lang.Class類的方法用此方法可以獲得一個指定資源文件的絕對路徑。*/
⑶ 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 圖片
double[] myList=new List()[0];
double max=myList[0];
myList未定義
⑸ JAVA圖片輸出
等著拿分.......
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.font.FontRenderContext;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @author alanwei
*
*/
public class Test {
public static BufferedImage createImage(int width, int height, String s) {
Font font = new Font("Serif", Font.BOLD, 10);
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D)bi.getGraphics();
g2.setBackground(Color.WHITE);
g2.clearRect(0, 0, width, height);
g2.setPaint(Color.RED);
FontRenderContext context = g2.getFontRenderContext();
Rectangle2D bounds = font.getStringBounds(s, context);
double x = (width - bounds.getWidth()) / 2;
double y = (height - bounds.getHeight()) / 2;
double ascent = -bounds.getY();
double baseY = y + ascent;
g2.drawString(s, (int)x, (int)baseY);
return bi;
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
BufferedImage image = createImage(100, 20, "123456789");
File file = new File("image.jpg");
if (!file.exists()) {
file.createNewFile();
}
if (image != null) {
ImageIO.write(image, "jpg", file);
}
}
}
⑹ 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創建這樣的圖
publicclassBai14{
publicstaticvoidmain(String[]args){
System.out.print(formatLeftS("number",10));
System.out.print(formatLeftS("square",10));
System.out.print(formatLeftS("cube",10));
System.out.println();
for(inti=0;i<=10;i++){
System.out.print(formatLeftS(i+"",10));
System.out.print(formatLeftS(i*i+"",10));
System.out.print(formatLeftS(i*i*i+"",10));
System.out.println();
}
}
publicstaticStringformatLeftS(Stringstr,intmin_length){
StringformatStyle="%-"+(min_length<1?1:min_length)+"s";
returnString.format(formatStyle,str);
}
}
⑻ JAVA添加圖片
JAVA是非常靈活的語言,你自己稍動一下手指就能編個控制項的。
class ImageBox extends JLabel ...
⑼ 一副學習java 步驟的圖
這是我的學習計劃 很有條理 希望對你能有幫助
--------------------------------------------------------------------------------
一、CORE JAVA
內容:
Java的面向對象的編程語言的特性的地方, 比如繼承,構造器,抽象類,介面,方法的多態,重載,覆蓋,垃圾回收,Java的異常處理機制,文件流I/O,OOP,OOD等面向對象設計。
資料:
《Thinking in Java》Sun 公司的《Tutorial》
二、基於JDK的java基礎類庫
內容:
最核心的只有4個:
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
學習方法:
首先要通讀整個package的框架,了解整個package的class,interface,exception的構成,最好是能夠找到介紹整個包框架的文章。這些專門介紹包的書籍的前幾章應該就是這些總體的框架內容介紹。
目標:
Java給我們提供了哪些類,每個類是用在什麼場合,當我遇到問題的時候,我知道哪個類,或者哪幾個類的組合可以解決我的問題,主要對每個包的總體框架的把握。
資料:
Sun公司的文檔,及書店購買專門的相關書籍,j2se手冊。
三、Java Web 編程
內容:
JSP語法、字串處理、JDBC、資料庫連接池,Tomcat伺服器配製、管理、JAVA BEAN的使用、基於HTTP協議的Servlet,JSP的MVC框架結構structs的靈活運用,構建java的標簽,標記。
資料:
一本JSP入門、語法書籍,《精通STRUCTS》,JSP手冊。
項目:
編寫一套基於Structs、javaBean的一套網上書店購物系統。
四、JAVA GUI編程
內容:
AWT的使用、SWING基本控制項的基礎代碼(二十個左右)、驅動事件,一套基於XML的模板方法。
資料:
NMS系統,IBM swing教程,java i/o文件處理機制文檔。
五、UML/Rose XDE面向對象的分析與建模技術
內容:
理解UML與面向對象的本質特性、UML與OOAD方法之間的關系;理解UML語言的基本語法、語義;了解九種UML模型圖與對象的靜態結構、動態行為之間的對應關系;熟悉使用建模工具Rational XDE繪制各種模型圖;理解面向對象設計(OOD)的基本技巧。
資料:
IBM的WEB SPHERE軟體、建模工具、相關書籍。
六、設計模式
內容:
設計模式的基本原則,創建型模式;結構型模式;行為型模式; JavaEE模式,模式語言與框架(framework)模式。
目標:使用設計模式提高軟體系統可重用性使用設計模式提高軟體系統可重用性。
七、WebSphere /Weblogic應用伺服器 與EJB高級編程
內容:創建基於JAVA EE1.4規范和WebSphere /WebLogic 的EJB中間件開發,內容包括Session Beans,Entity Beans,Message-Driven Beans,JAAS,JNDI等。EJB高級特性:包括事務、安全性、關系管理。同時講解最新EJB3.0技術規范。
八、Spring輕量級Java EE開發框架
內容:
Spring框架介紹;安裝和構建Spring;控制反轉(IoC);面向方面編程(Spring AOP);持久化服務。
九、Hibernate對象持久化技術
內容:
Hibernate簡介;對象與關系型資料庫的映射( ORM )原理;在Java應用中使用Hibernate的步驟;通過Hibernate API操縱資料庫。
十、深入理解JORAM(一個類似於openJMS分布在ObjectWeb之下的JMS消息中間件)
內容:
熟讀《Joram-4.3-en》,掌握JMS,JNDI,TCP/IP,RMI等技術
⑽ java生成jpg圖片 並且實現文字和圖片混排
response.setHeader("Cache-Control","no-cache");
String str="";
String sum="";
for(int i=0;i<4;i++){
Random random=new Random();
int j=Math.round(random.nextFloat()*35);
char x=str.charAt(j);
sum+=x+"";
}
request.getSession().setAttribute("Code",sum);
BufferedImage bufferedImage=new BufferedImage(50,20,BufferedImage.TYPE_3BYTE_BGR);
Graphics2D graphics2D=(Graphics2D)bufferedImage.getGraphics();
graphics2D.setColor(Color.blue);
graphics2D.fill3DRect(0,0,50,20,false);
graphics2D.setColor(Color.YELLOW);
graphics2D.drawString(sum,10,12);
response.setContentType("image/jpeg");
ServletOutputStream output;
try {
output = response.getOutputStream();
JPEGImageEncoder encoder= JPEGCodec.createJPEGEncoder(output);
encoder.encode(bufferedImage);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}