'Java' 카테고리의 다른 글

Java_toUpperCase  (0) 2018.01.16
java io 스트림  (0) 2018.01.16
String이 아닌 데이터를 String 으로 변환하기  (0) 2018.01.16
JOption Pane  (0) 2018.01.16
JFram과 배열을 이용한 스머프 이미지 움직이는 방법.  (0) 2018.01.15





 toUpperCase










 trim () : 입력한 값의 좌우 공백을 지우는 메소드 

[Ex] 


구글에서 회원가입했을 때, 아이디의 공백을 주어 아이디의 유효성 검사를 해도, 문제가 없는 이유는 

trim()을 사용해서 처리했기 때문이다 







toUpperCase() : 문자열을 대문자로 변환하여 주는 함수

[Ex] 


구글에서 회원가입했을 때, 아이디의 소대문자 섞어서 사용해도, 아이디의 유효성 검사를 해도, 문제가 없는 이유는 

toUpperCase()을 사용해서 처리했기 때문이다 










package IO;


import java.io.FileInputStream;

import java.io.FileOutputStream;


public class ByteMain {


public static void main(String[] args) { // TODO Auto-generated method stub

// 파일에 바이트 단위로 기록할 수 있는 스트림을 생성


// try {

// // true를 쓰면 이어붙이기가 됩니다.

// FileOutputStream fos = new FileOutputStream("test.txt", true);

//

// byte [] b ="Hello".getBytes();

//

// fos.write(b);

//

//

// //계속 예외처리하라고 하면 Exception으로 바꿔주기

// fos.close();

// } catch (Exception e) {

// // TODO Auto-generated catch block

// e.printStackTrace();

// }


// FileOutputStream fos = new FileOutputStream("test.txt", true);


FileOutputStream의 매개변수 자리에 true 를 사용하면 

test 파일 안에 문자가 리셋되는 것이 아니라 

계속 추가되어 문자가 쓰여진다.


/***************************************************************************************************/

// try {

//

// FileInputStream fis = new FileInputStream("test.txt");

// // 1개 읽기

// int r = fis.read();

// System.out.println(r);

// fis.close();

// } catch (Exception e) {

// System.out.println(e.getMessage());

// }



//텍스트 파일 생성 

/***************************************************************************************************/

try {


FileInputStream fis = new FileInputStream("test.txt");

byte[] b = new byte[fis.available()];

fis.read(b);


// String(byte[] bytes)

// Constructs a new String by decoding the specified array of bytes using the

// platform's default charset.


//new String 생성자를 생성해서 

// byte의 숫자를 문자로 형변환 해준다. 

//String 클래스의 생성자중 byte 배열을 Charset으로 변화해주는 생성자를 쓰면 쉽게 숫자를 문자로 바꾸어 

읽어 올 수 있다.  

System.out.println(new String(b));


// for(byte x : b ) {

// System.out.println(x);

// }

// System.out.println(b);

fis.close();

} catch (Exception e) {

System.out.println(e.getMessage());

}

}


}












기본형 : + ""

참조형 : toString()을 호출하면됩니다

'Java' 카테고리의 다른 글

Java_toUpperCase  (0) 2018.01.16
java io 스트림  (0) 2018.01.16
JOption Pane  (0) 2018.01.16
JFram과 배열을 이용한 스머프 이미지 움직이는 방법.  (0) 2018.01.15
AWT를 활용한 ActionListener 사용법  (0) 2018.01.15

JOption Pane




JOptionPane

실행하는 도중에 사용자로 하여금 데이터를 입력받거나 특정한 메세지를 출력할 수 있도록 하는 컴포넌트

자체적인 기능을 가지고 있는것이 아니기에 반드시 인스턴스를 생성하여 사용해야합니다.




[ShowMessageDialog 메세지만을 출력하고 싶을 때 ]













[입력받은 값의 리턴 예= 0 아니오 = 1  취소 = 2]








[Input Diaolog 리턴값은 입력받은 값을 리턴 ]













아이디를 체크할 때 공백을 항상 신경 써줘야한ㄷ. 









// 양쪽에 공간

f.getText() 에 입력받은  " Root " ; 





[트림 실제 코드]


trim()


public String trim() {

// 입력받은 값의 문자열의 길이를 len의 변수에 담는다 

    int len = value.length;                    //6

    int st = 0;                                    // 인덱스     

// 사용할 문자의 길이를 문자배열에 넣기

  char[] val = value;    /* avoid getfield opcode */

    while ((st < len) && (val[st] <= ' ')) {

    st++;

    }

    while ((st < len) && (val[len - 1] <= ' ')) {

        len--;

    }


return ((st > 0) || (len < value.length)) ? substring(st, len) : this;

}





trim()


public String trim() {

// 입력받은 값의 문자열의 길이를 len의 변수에 담는다 

    int len = value.length;                    // 6

    int st = 0;                                    // 인덱스     

// 사용할 문자의 길이를 문자배열에 넣기

  char[] val = value;    /* avoid getfield opcode */


char [] val 값 =


 ' ' 

 o

 o

' ' 


    while ((st < len) && (val[st] <= ' ')) {

    st++;

    }


    while ((st < len) && (val[len - 1] <= ' ')) {

        len--;

    }


//substring을 통해 공백을 제외한 부분을 가져와서 출력 

return ((st > 0) || (len < value.length)) ? substring(st, len) : this;

}




라디오 버튼 반드시 그룹이 있어야합니다. 

ButtonGroup gender =new ButtonGroup(); 인스턴스를 통해 

=> 라디오 버튼의 경우는 buttonGroup 클래스의 객체를 생성한 후 add를 이용해서 묶어주면 하나의 그룹이 됩니다.

=> 라디오 버튼이나 체크박스는 배열로 만드는 것이 좋습니다. 

어떤 버튼이 체크되었는지 확인하기가 편리합니다. 












[패널과 합친 레이블 ]


import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class Animation extends JFrame {

private static final long serialVersionUID = 1L;


public Animation() {

setLayout(null);

JPanel jp = new JPanel();

Icon ic = new ImageIcon("image\\캡처1.png");

JLabel lbl = new JLabel(ic);

jp.setBounds(20, 150, 430, 420);


jp.add(lbl);


// 패널추가

add(jp);

// 기본설정

setTitle("움직이는 스머프");

setBounds(100, 100, 1000, 1000);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);


String[] imgs = { "캡처1.png", "캡처2.png", "캡처3.png", "캡처4.png", "캡처5.png", "캡처6.png", "캡처7.png", "캡처8.png",

"캡처9.png", "캡처10.png", "캡처11.png", "캡처12.png" };


int idx = 0;

int pos = 5;

while (true) {

idx = idx + 1;

try {


Thread.sleep(100);

Icon icon1 = new ImageIcon("image\\" + imgs[idx % imgs.length]);

lbl.setIcon(icon1);

int x = jp.getX();

int y = jp.getY();

System.out.println(y);

if(x<10) {

pos=-5;

}else if (x>450) {

pos = 5;

}

jp.setLocation(x+pos , y);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}


}


}


}


// 위의 소스코드는 이미지를 움직이기 위한 소스코드 입니다. 

// 만약 패널위에 이미지를 묶어주었다면 위와 같이 이미지가 들어간 레이블의 값을 이동시키는 것이 아니라 

// 이미지를 묶고 있는 패널을 이동시켜주어야만합니다. 


만약, 레이블만 사용할 것이라면, 레이블만을 움직여주어야만합니다. 


[레이블로만 구성된 이미지 이동 ] 

import java.awt.Button;


import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;


public class Animation2 extends JFrame {


public Animation2() {


setLayout(null);


Icon ic = new ImageIcon("image\\캡처1.png");

JLabel lbl = new JLabel(ic);

lbl.setBounds(150, 30, 150,150);

add(lbl);

Button btn = new Button("dddddd");

add(btn);


setTitle("움직이는 스머프");

setBounds(100, 100, 1000, 1000);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);

String[] imgs = { "캡처1.png", "캡처2.png", "캡처3.png", "캡처4.png", "캡처5.png", "캡처6.png", "캡처7.png", "캡처8.png",

"캡처9.png", "캡처10.png", "캡처11.png", "캡처12.png" };


int idx = 0;

int pos = 5;

while (true) {

idx = idx + 1;

try {


Thread.sleep(50);

Icon icon1 = new ImageIcon("image\\" + imgs[idx % imgs.length]);

lbl.setIcon(icon1);

int x = lbl.getX();

int y = lbl.getY();

System.out.println(x);

if (x < 10) {

pos = 5;

} else if (x > 750) {

pos = -5;

}

lbl.setLocation(x + pos, y);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}


}


}


}



'Java' 카테고리의 다른 글

String이 아닌 데이터를 String 으로 변환하기  (0) 2018.01.16
JOption Pane  (0) 2018.01.16
AWT를 활용한 ActionListener 사용법  (0) 2018.01.15
이벤트 라우팅  (0) 2018.01.15
BorderLayout  (0) 2018.01.15

+ Recent posts