'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 |
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()을 사용해서 처리했기 때문이다
File 클래스 - Java.io 패키지 (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 |
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());
}
}
}
File 클래스 - Java.io 패키지 (0) | 2018.01.16 |
---|---|
Java_toUpperCase (0) | 2018.01.16 |
String이 아닌 데이터를 String 으로 변환하기 (0) | 2018.01.16 |
JOption Pane (0) | 2018.01.16 |
JFram과 배열을 이용한 스머프 이미지 움직이는 방법. (0) | 2018.01.15 |
기본형 : + ""
참조형 : toString()을 호출하면됩니다
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 리턴값은 입력받은 값을 리턴 ]
java io 스트림 (0) | 2018.01.16 |
---|---|
String이 아닌 데이터를 String 으로 변환하기 (0) | 2018.01.16 |
JFram과 배열을 이용한 스머프 이미지 움직이는 방법. (0) | 2018.01.15 |
AWT를 활용한 ActionListener 사용법 (0) | 2018.01.15 |
이벤트 라우팅 (0) | 2018.01.15 |
아이디를 체크할 때 공백을 항상 신경 써줘야한ㄷ.
// 양쪽에 공간
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 값 =
' ' |
R |
o |
o |
t |
' ' |
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();
}
}
}
}
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 |