Java ile ilgili birkac konu

 
Bu konu ile benzer olabilecek diğer forum sayfaları
 
 
 
 
[i]JAVA NEDİR...
 
Java temelde kendine has yorumlaması olan bir bilgisayar dilidir.Ama bu yorumlama tarzı yeni bir teknolojinin doğmasına neden olmuştur.Bu yüzden java denince akla hem programlama dili hemde bir teknoloji gelmelidir.Javayı farklı yapan şeyi anlamak için konuyu temelden ele almak gerekir...
 
Programlama dünyasında şu anda 5 kategoriye alınan diller mevcut.Bunlar
 
1.Makine kodu
2.Assembly
3.Basic, Cobol, C, Fortran...
4.Perl, Java
5.Uzun süredir çalışılıyor.
 
1.Makine kodu: Bilgisayar işlemcisinin anladığı tek dildir.Bu dilde bilgisayara istediklerimizi belli bir düzen içerisinde 0 ve 1'li dizeler halinde iletiriz.
 
2.Assembly:Makina dilinden sonra geliştirilen bir dil.2. nesil dil olarak tanımlanır.
 
3.Basic, Cobol, C, Fortran: Çoğumuzun yakından tanıdığı dillerdir.
 
4.Perl, Java: Bu diler yeni nesil olarak anlılır.Tip dillerin çalışması için bir yorumlayıcı bulunması gerekir.
 
5.İnsanın konuşarak hükmetmesi planlanan dillerdir.Halen yapım aşamasında.Uzun bir süreden beri çalışılıyor...
 
Şimdi bu yelpazede her yeni nesil makina kodundan uzaklaşıyor.Ama makine dili bilgisayarla aynı dili konuştuğu için çok daha hızlı ve etkilidir.Ancak insanlar için daha az anlaşılır ve her makinenin anlayacağı dil birbirinden farklıdır.Bu yüzden daha az 'taşınabilir'.(Bunun anlamı, bir dilde oluşturduğumuz programın farklı makinede çalışma yetisidir).Yelpazenin diğer ucunda ise çalıştırıldığı anda yorumlanan diller olarak kabul edilebilir.Buna örnekte Perl, java script.Bu durumda o dili yorumlayacak bir yorumlayıcı olması gerekir.Buda programların çalışma hızını düşürecektir.
 
Sonuç olarak yelpazeyi 2 uca ayırdık.Peki java hangisi?Java ya hepsi, ya hiçbiri...
Şimdi bu nedemek?Bu şu demek: Java programlama dili tüm dillerden farklı bir tarz olarak tüm dillerin özelliklerini barındırır.Bu bakımdan javayı herhangi bir uca oturtmak yanlış olur.
 
Bunu biraz açalım.C diliyle bir program yazdınız.Ve çalıştırmak için derleme aşamasından sonra o programı makine diline çevirmiş olursunuz.Tabi programınızı hangi platformda çalıştırmak istediğinize bağlı.Derledikten sonra yanlızca o platformda çalışır.Yani bunu Pc'nize kurdunuz, ve aynı programı Mac'ta çalıştırmak olanaksızdır.
 
Ama java böyle değil!Java ile yazılan her program byte code adı verilen ara dile çevrilir.Bu dili yorumlayan JVM(Java Virual Machine) diğer adıyla Java Sanal Makinesi
bu dili yorumlar ve her yerden çalışacak hale gelir.Bu program bugün hemen her makinede bulunur.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA İÇİN TÜRKÇE EN GENİŞ KAYNAK....
 
Javayı öğrenmek veya hakkında bilgi sahibi olmak isteyen arkadaşlar aşağıdaki linki tıklayın.
Bu link sizin ücretsiz java kitap projesi sitesine götürecek.Oradan html şeklindeki dosyaları indirerek java öğrenmeye başlıyabilirsiniz.Gerçekten iyi bir kaynak...
 http://www.kodcu.com/kodcu
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA İLE YAZILAN KODLARI DERLEME VE YAZIM KURALLARI HAKKINDA BİR KAÇ NOT....
 
class Ilkprogramim
{
public static void main(String[] args)
{
System.out.print("Bu benim ilk programim");
}
}
 
Şimdi sıra program açıklamaya geldi...
 
Programı başlatmak için öncelikle sınıf nesnesi yaratıyoruz..
class Ilkprogramim
 
Daha sonra
public static void main(String[] args) bu kod parçacığı burada açıklanmayacak kadar kapsamlı bir konu...Bunu size verediğim kaynaktan yararlanarak öğrenebilirsiniz.
 
System.out.print("Bu benim ilk programim");
Bu java'nın konsola birşeyler yazdırmak için kullanacağımız bir komuttur.
 
Dikkat edilecek hususlar:
 
1.Parantezleri açınca kapamayı unutmamalıyız.Hiç olmadık bir şekilde hata mesajları alabiliriz.
 
2.Yarattığınız sınıf nesnesi programın adıyla aynı olmak zorunda.Yani biz sınıf nesnesini Ilkprogramim diye adlandırdık öylese programi kaydederken
Ilkprogramim.java diye kaydetmeliyiz.
 
3.Dikkat etmemiz gereken bir diğer husus ise javanın büyük harf küçük harf ayrımı yaptığıdır.Yani Ilkprogramim ile ILKPROGRAMıM aynı şeyi ifade etmez.
 
4.Değişkenlerin isimlendirilmesi küçük harfle yapılmalıdır.
 
5.Diğer bir husus ise paratez içinde bir metin girerken tab işaretinin içinde yazılması.
System.out.print( "Bu benim ilk programim" );
gibi...
 
Java Kodlarını Derlemek:
Java kodlarını derlemek için öncelikle şunları yapmalıyız(JSDK kurulmuş sayıyorum daha sonra kurulumuna değinicem).
 
Öncelikle set path tanımını yazmalıyız.
Bunun için;
Windows 95/98 için;
Autoexec.bat dosyasını notepad ile açıyoruz ve aşağıdaki satırı ekliyoruz.
 
SET PATH=C:\jdk1.3.1_09\bin
Dikkat! ben yukarıda benim bilgisayarımda kurulu olan JSDK sürümü yazdım.
Sizinki benim bilgisayarımdakinden farklı olabilir.Bu indirdiğiniz sürüme bağlıdır.
 
Windows NT/ME/2000/XP için;
Bu sürümlerde biraz daha farklılaşmıştır.
 
Control Panel'e girin.System'i açın.Advanced grubu altında Enviroment Variables düğmesini tıklayın.
 
Açılan pencerede Path değişkenini seçin ve Edit düğmesini tıklayın.
 
Variable Value satırının sonuna noktalı virgül koyarak şu satırı ekliyoruz;
 
C:\jdk1.3.1\bin
 
Şimdi sıra geldi test etmeye.
 
Başlat>Çalıştır>command yazıp dos'a geçiyoruz.Ve javac yazıp [enter]
tuşuna basıyoruz.
Eğer Bozuk Komut veya Dosya Adı gibi bir çıktı almazsak başardık demektir
 
Şİmdi sıra derleme aşamasında:
 
Öncelikle daha derli toplu olmak için bi klasör yaratmanızı kesinlikle tavsiye ediyorum(Zira ben öyle başlamadım şimdi çok pişmanım )
 
Yazdığımız programı bu klasörün içine atıyoruz...
 
şimdi konsol(command)'a geçip şu satırı yazıyoruz;
 
javac Ilkprogramim.java
 
yazıp [enter] tuşuna basıyoruz.Program derlenince aynı klasörün içine Ilkprogramim.class adında bi dosya atacak.İşte programımız bu..
 
Şİmdi programı çalıştırmak için tekrar konsola şu satırı giricez:
 
java Ilkprogramim
 
yazıp [enter] tuşuna basıyoruz.Programın çıktısı şu olacak.
 
Bu benim ilk programim
 
Not: Eğer programınızda türkçe karakter kullanmazsanız hata oranınız azalır.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA İLE CEP TELEFONLARI İÇİN CHAT ÖRNEĞİ....
 
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.util.*;
import java.io.*;
public class ChatMIDlet extends javax.microedition.midlet.MIDlet{
ChatForm form;
public void startApp(){
NickForm nickForm=new NickForm(this,"Chat Form");
Display.getDisplay(this).setCurrent(nickForm);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void setNick(String nick){
ChatForm form=new ChatForm("Chat Form",nick);
Display.getDisplay(this).setCurrent(form);
}
}
class ChatForm extends Form implements CommandListener{
String url="http://localhost:8080/examples/midlet_test/Mu ltiMessagesServer.jsp";
Command sendCommand=new Command("Send",Command.SCREEN,2);
Command getCommand=new Command("Get",Command.SCREEN,1);
TextField messageField;
MessagesBox messagesBox;
String nick="";
public ChatForm(String title,String nick){
super(title);
this.nick=nick;
messagesBox=new MessagesBox("","");
messageField=new TextField("","",100,TextField.ANY);
append(messageField);
append(messagesBox);
addCommand(sendCommand);
addCommand(getCommand);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d){
if(c==sendCommand){
try{
String s=messageField.getString();
if(s!=null){
String result=send(s);
messagesBox.append(nick+">"+s);
messageField.setString("");
}else{
messagesBox.append("String null");
}
}catch(Exception e){
messagesBox.append("Exception"+e.getMessage());
}
}else if(c==getCommand){
try{
String s=get();
if(s!=null){
messagesBox.append(s.trim());
}else{
messagesBox.append("String null");
}
}catch(Exception e){
messagesBox.append("Exception"+e.getMessage());
}
}
}
private String send(String message) throws Exception{
HttpConnection connecton=(HttpConnection)Connector.open(url+"?mes sage="+message+"&nick="+nick+"&req=SEND");
InputStream is=connecton.openInputStream();
StringBuffer buffer=new StringBuffer();
int ch;
while ((ch=is.read())!=-1) {
buffer.append((char)ch);
}
is.close();
connecton.close();
return buffer.toString();
}
private String get() throws Exception{
StringBuffer sb=new StringBuffer();
InputStream is=Connector.openInputStream(url+"?req=GET");
int ch;
while((ch = is.read())!=-1) {
sb.append((char) ch);
}
return sb.toString();
}
}
class MessagesBox extends StringItem{
Vector messages=new Vector();
public MessagesBox(String label, String text){
super(label,text);
}
public void append(String message){
messages.addElement(message);
refresh();
}
public void refresh(){
StringBuffer buffer=new StringBuffer();
for(int i=(messages.size()-1);i>-1;i--){
String message=(String)messages.elementAt(i);
buffer.append(message+"\n");
}
setText(buffer.toString());
}
}
class NickForm extends Form implements CommandListener{
Command okCommand=new Command("Ok",Command.SCREEN,1);
TextField field;
ChatMIDlet midlet;
public NickForm(ChatMIDlet midlet,String title){
super(title);
this.midlet=midlet;
field=new TextField("Nick:","",100,TextField.ANY);
append(field);
addCommand(okCommand);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d){
if(c==okCommand){
String nick=field.getString();
midlet.setNick(nick);
}
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA AWT PAKETİNE ERİŞİM VE BASİT BİR ÖRNEK...
 
Javada görsel program yazmak için awt pakedi kullanılır.Aşağıda basit bir awt örneği göreceksiniz.Bu örnek size yardımcı olacaktır.
 
import java.awt.*;//awt pakedini çağırıyoruz
import java.awt.event.*;
 
public class awtPaketi extends Frame
{
Label etiket;//gerekli tanımlamaları yapmak için değişken atıyoruz
TextArea metinAlani;
TextField metinKutusu;
Button dugme;
List liste;
Panel panel1,panel2,panel3;
 
public static void main(String args[])
{
new awtPaketi("AwtPaketi Örneği");/*Pencereyi tanımlıyoruz.Aynı zamanda başlıkta giriyoruz*/
}
 
public awtPaketi (String m)
{
super(m);
 
panel1=new Panel();/*öncelikle baş paneli tanımlıyoruz.Eğer bu kodu eklerseni daha derli toplu gözükür*/
panel2=new Panel();
panel3=new Panel();
 
panel1.setLayout(new GridLayout(2,1));
panel2.setLayout(new GridLayout(1,1));
panel3.setLayout(new GridLayout(2,1));
etiket=new Label("Iste bir etiket örnegi");//etiket değişkenini tanımlıyoruz
metinAlani=new TextArea(200,100);//metinAlani değişkenini tanımlıyoruz
metinKutusu=new TextField();//--
dugme=new Button("Iste bir dugme ornegi");//--
liste=new List(50);//--
 
panel1.add(etiket);/*Burası önemli çünkü burada atamış ve tanımlamış olduğumuz değişkenleri programa ekliyoruz.Hangi panelde neyin gözükmesi gerektiği size kalmış*/
panel2.add(metinAlani);
panel2.add(metinKutusu);
panel3.add(dugme);
panel3.add(liste);
 
panel1.add(panel2);//panel2 ve panel3'ü panel1'e yazdırıyoruz
panel1.add(panel3);
 
this.add(panel1);
setBackground(Color.white);//Arkaplan rengi beyaz.Red, Blue, Green, Pink değerleri de girilebilir
setSize(400,300);//Boyut
setLocation(400,0);//Programın ekranda başlatılacağı bölge
setVisible(true);//Simge durumuna küçült açık.Kapatmak için false değerini girin
setResizable(false);//Boyutlandırma kapalı.Açmak için true değerini girin
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MİNİK BİR İŞLETİM SİSTEMİ YAZMAYA NE DERSİNİZ..?
 
Arkadaşlar internette gezinirken dikkatimi çeken kodlar oldu.Paylaşayım dedim.
Bu kodlar mini bir işletim sistemine ait.Geliştirmek zorda olsa sizin elinizde.
 
 KOD 1: KERNEL MODULÜ:::::::::::::::::::::::::::::::::::::::::::: ::
 
 
; This is a very basic example
; of a tiny operating system.
;
; This is Kernel module!
;
; It is assumed that this machine
; code is loaded by 'micro-os_loader.asm'
; from floppy drive from:
; cylinder: 0
; sector: 2
; head: 0
 
; Directive to create BIN file:
#make_BIN#
 
; where to load (for emulator)?
#LOAD_SEGMENT=0800#
#LOAD_OFFSET=0000#
 
; set these values to registers on load,
; actually only DS, ES, CS, IP, SS, SP are
; important. In real world these values
; are left by "micro-os_loader":
#AL=0B#
#AH=00#
#BH=00#
#BL=00#
#CH=00#
#CL=02#
#DH=00#
#DL=00#
#DS=0800#
#ES=0800#
#SI=7C02#
#DI=0000#
#BP=0000#
#CS=0800#
#IP=0000#
#SS=07C0#
#SP=03FE#
 
 
 
include 'emu8086.inc'
 
; Kernel is loaded at 0800:0000
ORG 0000h
 
; skip the data section:
JMP start
 
;==== data section =====================
 
; welcome message:
msg DB 'Welcome to micro-os!', 13, 10,
DB 'type help if you need it', 0
 
cmd_size EQU 10 ; size of command_buffer
command_buffer DB cmd_size DUP('x')
clean_str DB cmd_size DUP(' '), 0
prompt DB '>', 0
 
; commands:
cHELP DB 'help', 0
cCLS DB 'cls', 0
cQUIT DB 'quit', 0
cEXIT DB 'exit', 0
cREBOOT DB 'reboot', 0
 
help_msg DB 'Thank you for using micro-os!', 13, 10
DB 'List of supported commands:', 13, 10
DB 'help - print out this list.', 13, 10
DB 'cls - clear the screen.', 13, 10
DB 'reboot - reboot the machine.', 13, 10
DB 'quit - same as reboot.', 13, 10
DB 'exit - same as reboot.', 13, 10
DB 'more to come!', 13, 10, 0
 
unknown DB 'Unknown command: ' , 0
 
;======================================
 
start:
 
; set data segment:
PUSH CS
POP DS
 
; set default video mode 80x25:
MOV AH, 00h
MOV AL, 03h
INT 10h
 
; clear screen:
CALL clear_screen
 
; print out the message:
LEA SI, msg
CALL print_string
 
 
eternal_loop:
 
CALL GET_COMMAND
 
CALL PROCESS_CMD
 
; make eternal loop:
JMP eternal_loop
 
 
;===========================================
GET_COMMAND PROC NEAR
 
; set cursor position to bottom
; of the screen:
MOV AX, 40h
MOV ES, AX
MOV AL, ES:[84h]
 
GOTOXY 0, AL
 
; clear command line:
LEA SI, clean_str
CALL print_string
 
GOTOXY 0, AL
 
; show prompt:
LEA SI, prompt
CALL print_string
 
 
; wait for a command:
MOV DX, cmd_size ; buffer size.
LEA DI, command_buffer
CALL get_string
 
 
RET
GET_COMMAND ENDP
;===========================================
 
PROCESS_CMD PROC NEAR
 
;//// check commands here ///
; set ES to DS
PUSH DS
POP ES
 
CLD ; forward compare.
 
; compare command buffer with 'help'
LEA SI, command_buffer
MOV CX, 5 ; size of ['help',0] string.
LEA DI, cHELP
REPE CMPSB
JE help_command
 
; compare command buffer with 'cls'
LEA SI, command_buffer
MOV CX, 4 ; size of ['cls',0] string.
LEA DI, cCLS
REPE CMPSB
JNE not_cls
JMP cls_command
not_cls:
 
; compare command buffer with 'quit'
LEA SI, command_buffer
MOV CX, 5 ; size of ['quit',0] string.
LEA DI, cQUIT
REPE CMPSB
JE reboot_command
 
; compare command buffer with 'exit'
LEA SI, command_buffer
MOV CX, 5 ; size of ['exit',0] string.
LEA DI, cEXIT
REPE CMPSB
JE reboot_command
 
; compare command buffer with 'reboot'
LEA SI, command_buffer
MOV CX, 7 ; size of ['reboot',0] string.
LEA DI, cREBOOT
REPE CMPSB
JE reboot_command
 
;////////////////////////////
 
; if gets here, then command is
; unknown...
 
MOV AL, 1
CALL SCROLL_T_AREA
 
; set cursor position just
; above prompt line:
MOV AX, 40h
MOV ES, AX
MOV AL, ES:[84h]
DEC AL
GOTOXY 0, AL
 
LEA SI, unknown
CALL print_string
 
LEA SI, command_buffer
CALL print_string
 
MOV AL, 1
CALL SCROLL_T_AREA
 
JMP processed
 
; +++++ 'help' COMMAND ++++++
help_command:
 
; scroll text area 9 lines up:
MOV AL, 9
CALL SCROLL_T_AREA
 
; set cursor position 9 lines
; above prompt line:
MOV AX, 40h
MOV ES, AX
MOV AL, ES:[84h]
SUB AL, 9
GOTOXY 0, AL
 
LEA SI, help_msg
CALL print_string
 
MOV AL, 1
CALL SCROLL_T_AREA
 
JMP processed
 
 
; +++++ 'cls' COMMAND ++++++
cls_command:
 
; clear screen:
CALL clear_screen
 
JMP processed
 
 
; +++ 'quit', 'exit', 'reboot' +++
reboot_command:
 
; store magic value at 0040h:0072h:
; 0000h - cold boot.
; 1234h - warm boot.
MOV AX, 0040h
MOV DS, AX
MOV w.[0072h], 0000h ; cold boot.
 
JMP 0FFFFh:0000h ; reboot!
 
; ++++++++++++++++++++++++++
 
processed:
RET
PROCESS_CMD ENDP
 
;===========================================
 
; scroll all screen except last row
; up by value specified in AL
 
SCROLL_T_AREA PROC NEAR
 
MOV DX, 40h
MOV ES, DX ; for getting screen parameters.
MOV AH, 06h ; scroll up function id.
MOV BH, 07 ; attribute for new lines.
MOV CH, 0 ; upper row.
MOV CL, 0 ; upper col.
MOV DI, 84h ; rows on screen -1,
MOV DH, ES:[DI] ; lower row (byte).
DEC DH ; don't scroll bottom line.
MOV DI, 4Ah ; columns on screen,
MOV DL, ES:[DI]
DEC DL ; lower col.
INT 10h
 
RET
SCROLL_T_AREA ENDP
 
;===========================================
 
DEFINE_PRINT_STRING
DEFINE_GET_STRING
DEFINE_CLEAR_SCREEN
 
END
 
 
Şimdi ise sistemi yükleyeceğiz.
 
; This is a very basic example
; of a tiny Operating System.
 
; Directive to create BOOT file:
#MAKE_BOOT#
 
; This is an OS loader only!
;
; It can be loaded at the first
; sector of a floppy disk:
; cylinder: 0
; sector: 1
; head: 0
;
; The code in this file is supposed
; to load the Kernel (micro-os_kernel.asm)
; and to pass control over it.
; The Kernel code should be on floppy at:
; cylinder: 0
; sector: 2
; head: 0
 
; Memory table (hex):
; -------------------------------
; 07C0:0000 | Boot Sector
; 07C0:01FF | (512 bytes)
; -------------------------------
; 07C0:0200 | Stack
; 07C0:03FF | (255 words)
; -------------------------------
; 0800:0000 | Kernel
; 0800:1400 |
; | (currently 5 Kb,
; | 10 sectors are
; | loaded from
; | floppy)
; -------------------------------
 
; micro-os_loader.asm file produced by
; this code should be less or
; equal to 512 bytes, since this
; is the size of the boot
; sector!
; Current version is compiled to
; 101 bytes.
 
 
include 'emu8086.inc'
 
; Boot record is loaded at 0000:7C00
ORG 7C00h
 
; skip the data section:
JMP start
 
;==== data section =====================
 
; welcome message:
msg DB 'Welcome to micro-os', 13, 10,
DB 'Loading...', 0
 
;======================================
 
start:
 
; initialize the stack:
MOV AX, 07C0h
MOV SS, AX
MOV SP, 03FEh ; top of the stack.
 
 
; set Data Segment:
PUSH CS
POP DS
 
; set default video mode 80x25:
MOV AH, 00h
MOV AL, 03h
INT 10h
 
; print welcome message:
LEA SI, msg
CALL print_string
 
;===================================
; load the Kernel at 0800h:0000h
; 10 sectors starting at:
; cylinder: 0
; sector: 2
; head: 0
 
; BIOS passes drive number in DL,
; so it's not changed:
 
MOV AH, 02h ; read function.
MOV AL, 10 ; sectors to read.
MOV CH, 0 ; cylinder.
MOV CL, 2 ; sector.
MOV DH, 0 ; head.
; DL not changed! - drive number.
 
; ES:BX points to receiving
; data buffer:
MOV BX, 0800h
MOV ES, BX
MOV BX, 0
 
; read!
INT 13h
;===================================
 
; pass control to Kernel:
JMP 0800h:0000h
 
;===========================================
 
DEFINE_PRINT_STRING
 
END
 
 
Ve son olarak Komut Satırı:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::
 
; This sample prints out the command
; line parameters.
; In DOS you simply add this line
; after an executable:
; param.com my parameters
; In emulator you should set
; them by selecting "Set command line paramters"
; from "File" menu of emulator window.
 
#make_COM#
 
ORG 100h
 
 
; address of command line:
MOV SI, 80h
 
 
; copy command line to our buffer:
XOR CX, CX ; zero CX register.
MOV CL, [SI] ; get command line size.
 
LEA DI, buffer ; load buffer address to DI.
 
CMP CX, 0 ; CX = 0 ?
JZ no_param ; then skip the copy.
 
INC SI ; copy from second byte.
next_char:
MOV AL, [SI]
MOV [DI], AL
INC SI
INC DI
LOOP next_char
 
; set '$' sign in the end of the buffer:
MOV BYTE PTR [DI], '$'
 
; print out the buffer:
LEA DX, buffer
MOV AH, 09h
INT 21h
 
JMP exit ; skip error message.
 
no_param:
; print out the error message:
LEA DX, msg
MOV AH, 09h
INT 21h
JMP exit
 
; exit here:
exit:
RET
 
buffer DB 30 dup (' ')
msg DB 'Parametre yok', 13, 10, '$'
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA DA VERİTABANI NA KAYIT ÖRNEĞİ....
 
 
 
Aşağıdaki kodda insertMember bir kayit insert ediyor.
Tabi jdbcdbc:test test adında bir odbc kaynağı
yaratmanız gerekir.
 
 
 
import java.sql.*;
 
public class UpdateTest {
Connection con;
public UpdateTest(){
try{
 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbcdbc:test";
con = DriverManager.getConnection(url,
"","");
System.out.println("connected..");
}catch(Exception e){
e.printStackTrace();
}
}
public boolean insertMember(String username,String
password)
throws Exception
{
Statement stmt=con.createStatement();
int result=stmt.executeUpdate("insert into
Members(Username,Password)
values('"+username+"','"+password+"')");
if(result==1){
return true;
}else{
return false;
}
}
public void printMembers()
throws Exception
{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from
Members");
while(rs.next()){
int id=rs.getInt("MemberId");
String username=rs.getString("Username");
String password=rs.getString("Password");
 
System.out.println(id+" "+username+"
"+password);
}
}
public static void main(String[] args){
UpdateTest test=new UpdateTest();
try{
boolean
result=test.insertMember("xyz","xyz");
System.out.println(result);
test.printMembers();
 
}catch(Exception e){
e.printStackTrace();
}
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
J2EE YE KISA BİR BAKIŞ...
 
J2EE
-----
Java herkesin dil olarak özümsemesine rağmen aslında bir platformdur. J2SE java programlama dilini tarif ederken J2ME mobil araçlar için java applicationları yazmaya yarar. Bir diğer teknoloji olan J2EE(Enterprise), çoğunlukla enterprise applicationlari için düzenlenmiştir.
 
J2EE içinde birçok eleman vardır bunlardan bazıları;
 
JDBC: Database erişimi için bir data access library.
EJB: Enterprise Java Beans
JSP: Java Server Pages
Struts, Spring Framework, Containers, Web Services, Corba, RMI, Application Servers...etc
 
Günümüzde Java dilinin bu kadar yaygın olmasının sebebi J2EE ve J2ME dir, mobil araçların artması J2ME nin yaygınlaşmasını sağlamıştır. Öte yandan şirketlerin sistemlerini enterprise hale getirmek için J2EE yi seçmesi bu alanda Java nın öne çıkmasını sağlamıştır.
 
Java denince birçok profesyonel, J2EE yi anlar. Bu yüzden Java platformunun bu güzide teknolojisi daha çok incelenmeyi hakediyor.
 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA İLE KOMUT SİSTEMİ PROJESİ....
 
Herkese merhaba! Javayla basit bir komut sistemi yapıyoruz.Birkaç özelliği var şimdilik.Örneğin klasör yaratma-silme, klasörün içeriğini listeleme, program çalıştırma, cikis komutu.
 
Daha sonra internet sınıfınıda işin içine sokup ping, mesaj gönderme ve birde istemciyle çalışacak olan internet üzerinden bilgisayar yönetimine gireceğiz.Hepsini bir çatıda toplayacağız.Allah kısmet ederse bu özellikleri gui(grafiksel arayüz) ye taşıyacağız.
 
Şimdi komutları inceleyelim:
 
klasorac yazıp entera basın.Daha sonra açılacak klasörün yolunu girin.
 
sil yazıp entera basın.Daha sonra silinecek dosyanın yada klasörün yolunu girin.
 
ac yazıp entera basın.Daha sonra çalıştırılacak dosyanın yolunu girin.
 
lis yazıp entera basın.Daha sonra listelenecek klasörün yolunu girin. Klasörle ilgili ayrıntılı bilgileride yanında verecektir.
 
cikis yazıp entera basın.Programı sonlandırır.
 
 
 
 
- KomutSatiri.java -----------------------------------------------------------------
 
 
import java.io.*; //girdi çıktı sınıfını çağırır
 
 
class KomutSatiri
{
public static void main(String[] args)
{
try
{
while (true) { // programı kısır döngüye alıyoruz.
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in), 1); // klavyeyi algılatıyoruz.
System.out.print("Komut Satiri -> ");
System.out.flush();
String girdi = buf.readLine(); //klavyeden girilen değerleri stringe atıyoruz.
 
 
if (girdi.equals("cikis")) // diyoruz ki, eğer girdi'nin değeri "cikis", o zaman programı kapat.
{
System.exit(0);
}
 
else if (girdi.equals("lis"))
{
BufferedReader bufe = new BufferedReader(new InputStreamReader(System.in), 1);
System.out.flush();
String oku = bufe.readLine();
File klasor = new File(oku); // dosya nesnesini çağırıyoruz.
 
if (klasor.exists() && klasor.isDirectory())
{
 
System.out.println("------------------------------------------------");
System.out.println(klasor.getName() + " klasorunun icerigi:");
System.out.println("Yol: " + klasor.getAbsolutePath());
System.out.print("Buyukluk: " + klasor.length());
System.out.println("------------------------------------------------");
 
String [] icerik = klasor.list();
 
for (int i=0; i< icerik.length; i++)
{
 
System.out.println(icerik);
 
}
}
else
{
System.out.println("Bu isimde bir klasör bulunamadi...");
}
}
else if (girdi.equals("ac"))
{
BufferedReader bufe = new BufferedReader(new InputStreamReader(System.in), 1);
System.out.flush();
String oku = bufe.readLine();
Process calistir = Runtime.getRuntime().exec(oku); // programı çalıştır.
}
 
else if (girdi.equals("klasorac"))
{
BufferedReader bufe = new BufferedReader(new InputStreamReader(System.in), 1);
System.out.flush();
String oku = bufe.readLine();
File dosya=new File(oku);
if (!dosya.exists())
{
dosya.mkdir();
System.out.print(dosya.getName() + "isminde bir klasor olusturuldu. \n");
}
else { System.out.print("Bu dosya zaten var. \n"); }
 
}
 
else if (girdi.equals("sil"))
{
BufferedReader bufe = new BufferedReader(new InputStreamReader(System.in), 1);
System.out.flush();
String oku = bufe.readLine();
File dosya=new File(oku);
if (!dosya.exists()) { System.out.print("Bu isimde bir dosya yok! \n"); }
else { dosya.delete(); System.out.print("Silme işlemi başarıyla tamamlandı. \n"); }
 
}
 
else
{
System.out.print("Yanlis yada Eksik Parametre \n");
}
 
}
}
catch (IOException e)
{
System.out.println("Bir \"exception\" olustu ...");
}
 
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JAVA PROGRAMINA ÇİFT TIKLAMA İLE ÇALIŞTIRMA...
 
Herkese merhaba.
 
Biz şimdiye kadar programlarmızı komut satırından.İşin kolayına kaçmak isteyen arkadaşlar(ben ) bu yöntemleri kullanabilirler.
 
Java programlarımızı çift tıklamayla çalışır hale getirmek, aynı zamanda platform bağımlı hale getirmek anlamına da gelebilir!
 
Windows ortamında bize 3 seçenek sunulmuştur:
--------------------------------------------------------------------------------------
1.Bir bat dosyası yazmak
2.Class dosyalarını jar çatısı altında toplamak
3.Dosyaları üçüncü parti yazılımla exe haline getirmek
 
 
 
 1.BAT(toplu iş kütüğü) Dosyası Oluşturmak:
--------------------------------------------------------------------------------------
Bat dosyası windows ortamında aslında kısayol tuşuna benzer bir yapıdadır.
 
- Basit bir örnekle görelim -------------------------------------------------------
 
Kod:
@echo off@start javaw -classpath . DenemeGUI
Eğer sisteminizde classpath doğru tanımlanmış ise, bat dosyasının bulunduğu klasördeki DenemeGUI.class dosyası çalıştırılacaktır.
 
 
 
 2. Çalıştırılır JAR Dosyası Oluşturmak:
--------------------------------------------------------------------------------------
İçinde birden fazla(hatta yüzlerce) class dosyası bulunan bir java programı yazdıysanız, bütün class dosyalarının tek bir jar dosyası çatısında toplanmasına ihtiyacınız olacaktır.JSDK jar dosyalarını oluşturabilecek ve açabilecek araçlarla birlikte gelir.Bu araçlarla java dosyaları çift tıklamayla çalıştırılabilir hale gelir.
 
- Bir örnekle görelim -------------------------------------------------------------
Öncelikle class dosyalarının olduğu klasöre bir metin dosyası açın ve içine aşağıdaki satırları yazıp Manifest.mf olarak kaydedin.
 
 
Kod:
Manifest-Version: 1.0Main-Class: DenemeGUICreated-By: 1.3.1_01 (Sun Microsystems Inc.)
Şimdi komut satırını açın ve şu satırı girip enter tuşuna basın:
 
 
Kod:
jar cvfm deneme.jar Manifest.mf DenemeGUI.class
Aynı klasör içinde deneme.jar dosyası oluşturulacaktır.Bu dosyaya çift tıkladığınızda programın çalıştığına şahit olacaksınız.
 
 
 
 Dosyalarınızı 3. Parti Bir Yazılımla EXE Yapmak:
--------------------------------------------------------------------------------------
İnternette java programlarını, win32 programlarına çeviren uygulamalarda mevcuttur.Bunlardan birini şu adresten indirebilirsiniz:
 
 http://mpowers.net/executor/
 
 NOT:Java uygulamaları geliştirilirken en çok tercih edilen yöntem jar dosyalarınıdır.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SWİNG NESNELERDE HTML KULLANMAK....
 
Java swing kütüphanesi, bazı nesneleri html ile düzenleme izni vermiştir.Örneğin bir etiketin fontunu düzenlemek için uzun uzun uğraşacağımıza bunu html ile bir satırda halledebiliriz.
 
Örnek:
 
JLabel etiket=new JLabel("<html><font face=\"verdana\" size=\"5\" color=\"red\">Merhaba!İşte <b>HTML</b> Formatında Bir Etiket.<br>Buda Alt satırı</font></html>");
-------------------------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
(¯`•.(¯`•.(¯`•.(¯`•.¯`•.¸¸.•Â´Â¯`•.¸¸.•Â´Â¯)_.•Â´Â¯)_.•Â´ ¯)_.•Â´Â¯)
(¯`•.(¯`•.(¯`•.(¯`•. www.forumex.net )_.•Â´Â¯)_.•Â´Â¯)_•Â´Â¯)
(¯`•.(¯`•.(¯`•.(¯`•.¯`•.¸¸.•Â´Â¯`•.¸¸.•Â´Â¯)_.•Â´Â¯)_.•Â´ ¯)_.•Â´Â¯)
 

 
 
 
 
 x_m.e.e

ALINTIDIR
 
 

 
 

 ~ 

Bu konunun linki : 

Yukarıdaki linki arkadaşlarınıza göndermek için kullanabilirsiniz ve bu sayfada; Java ile ilgili birkac konu hakkında bilgiler nedir yazıları veya şiirleri gibi sözleri veya resimleri Java ile ilgili birkac konu siteleri gibi benzer birçok forum konularını bulabilirsiniz.

 ~ 

Son Forum Mesajları

Kaynak linkimizi belirtmek koşulu ile her türlü bilgiyi kopyalayabilirsiniz. Forum içerisinde yazılan tüm mesajların hukuki sorumlulukları mesajları yazanlara aittir. Üyeler, üyelik sözleşmesi gereği bu kuralı kabul etmiş sayılır. Ziyaretçilerimiz bu forumu kullanmadan önce Forum Kurallarını okumak zorundadırlar. Aksi durumda meydana gelecek bütün olumsuz durumlardan ziyaretçilerin bizzat kendileri sorumludur. Sitemizde telif, kişi haklarına; yasalara aykırı olduğunu düşündüğünüz bir konu görürseniz bize aşağıdaki iletişim adresinden ulaşabilirsiniz.

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 960

© 2006-2020 ilgiliFORUM.com