Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- express for node.js
- nodejs express
- C/C++
- php thumbnail
- flex3
- rss
- 명사 추출기
- Lift
- ror실행
- php
- ejb
- 디즈니씨
- 명사 뽑아내기
- 도커
- Node.js
- scala
- ajax
- Eclipse
- 메일왕창보내는법
- 베트남어
- node.js web framework
- 스킨 스쿠버
- 명사 분석기
- 나의 취미
- 책이야기
- 주식이야기
- 나의 프로젝트
- Cross
- docker
- iBatis
Archives
- Today
- Total
nkdk의 세상
자바 Language 18일째 본문
package Swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class StartFrame extends JFrame {
private JPanel mainp;
public StartFrame() {
init(); // 초기화 작업을 해준다.
}
private void init() {
mainp=(JPanel)this.getContentPane(); // JFrame에 이미 얹었음
mainp.setLayout(new BorderLayout());
this.setSize(new Dimension(400,300));
initFrame(); // 화면에 가운데에 배치
}
public void addListener(){
// JFrame에 관련된 리스너가 있다면 여기서 처리하여라..
}
private void initFrame() {
Dimension monitorsize=Toolkit.getDefaultToolkit().getScreenSize(); // 모니터의 규격을 monitor 가 받는다.
Dimension framesize=this.getSize(); // 프레임의 사이즈를 받는다
if(framesize.height > monitorsize.height)
framesize.height = monitorsize.height;
if(framesize.width > monitorsize.width)
framesize.width = monitorsize.width;
int locX=(monitorsize.width - framesize.width)/2;
int locY=(monitorsize.height - framesize.height)/2;
this.setLocation(locX, locY);
this.setVisible(true);
}
public void processWindowEvent(WindowEvent e) {
// 윈도우 이벤트가 발생되면 자동적으로 프로세스 윈도우 이벤트가 발생된다.
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING)
System.exit(0);
if(e.getID()==WindowEvent.WINDOW_STATE_CHANGED)
System.out.println("아아");
// 이렇게 종료 시킬 수 있다.
}
public void setMainJPanel(javax.swing.JComponent c) {
mainp.add(c);
}
}
package Swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.event.*;
import javax.swing.border.*; // 보더를 쓰기 위해 사용
public class TextPanel extends JPanel{
JPanel cp=new JPanel();
JButton btn=new JButton("Clear");
JTextArea txtA=new JTextArea(5,50);
JTextField txtF=new JTextField(60);
JScrollPane scrollpane=new JScrollPane();
public TextPanel() {
init();
}
public void init() {
this.setLayout(new BorderLayout());
this.add(btn,BorderLayout.EAST);
this.add(cp,BorderLayout.CENTER);
cp.setLayout(new BorderLayout());
cp.setBorder(new TitledBorder(""));
scrollpane.getViewport().add(txtA);
cp.add(scrollpane,"Center");
cp.add(txtF,"South");
txtA.setWrapStyleWord(true); // 단어에 관계없이 워드 랩 기능이 있음 오른쪽 끝을 만나면 다음칸으로 그냥 넘어가도록 하는 기능
txtA.setLineWrap(true);
txtA.setSelectedTextColor(new Color(255,250,0));
addListener(); // 리스너를 따로 만든다.
}
public void addListener() {
btn.addMouseListener(new MouseHandling());
// action 리스너를 써도 된다.
txtF.addKeyListener(new KeyHandlng());
}
public class KeyHandlng extends KeyAdapter{
public void keyPressed(KeyEvent e) {
if (e.getSource()==txtF) {
if(KeyEvent.VK_ENTER==e.getKeyCode()){
txtA.append(txtF.getText()+"\n"); // 값을 추가 시킨다.
txtF.setText("");
}
}
}
}
public class MouseHandling extends MouseAdapter{
public void mouseClicked(MouseEvent e) { // 버튼을 누르면 txtA의 내용을 지운다.
if(e.getSource()==btn) {
txtA.setText("");
}
}
}
}
package Swing;
public class StartPanelMain {
public static void main(String[] args) {
StartFrame frame=new StartFrame();
TextPanel tp=new TextPanel();
frame.setMainJPanel(tp);
frame.validate();
}
}
// 3개를 합치면 됩니다.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class StartFrame extends JFrame {
private JPanel mainp;
public StartFrame() {
init(); // 초기화 작업을 해준다.
}
private void init() {
mainp=(JPanel)this.getContentPane(); // JFrame에 이미 얹었음
mainp.setLayout(new BorderLayout());
this.setSize(new Dimension(400,300));
initFrame(); // 화면에 가운데에 배치
}
public void addListener(){
// JFrame에 관련된 리스너가 있다면 여기서 처리하여라..
}
private void initFrame() {
Dimension monitorsize=Toolkit.getDefaultToolkit().getScreenSize(); // 모니터의 규격을 monitor 가 받는다.
Dimension framesize=this.getSize(); // 프레임의 사이즈를 받는다
if(framesize.height > monitorsize.height)
framesize.height = monitorsize.height;
if(framesize.width > monitorsize.width)
framesize.width = monitorsize.width;
int locX=(monitorsize.width - framesize.width)/2;
int locY=(monitorsize.height - framesize.height)/2;
this.setLocation(locX, locY);
this.setVisible(true);
}
public void processWindowEvent(WindowEvent e) {
// 윈도우 이벤트가 발생되면 자동적으로 프로세스 윈도우 이벤트가 발생된다.
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING)
System.exit(0);
if(e.getID()==WindowEvent.WINDOW_STATE_CHANGED)
System.out.println("아아");
// 이렇게 종료 시킬 수 있다.
}
public void setMainJPanel(javax.swing.JComponent c) {
mainp.add(c);
}
}
package Swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.event.*;
import javax.swing.border.*; // 보더를 쓰기 위해 사용
public class TextPanel extends JPanel{
JPanel cp=new JPanel();
JButton btn=new JButton("Clear");
JTextArea txtA=new JTextArea(5,50);
JTextField txtF=new JTextField(60);
JScrollPane scrollpane=new JScrollPane();
public TextPanel() {
init();
}
public void init() {
this.setLayout(new BorderLayout());
this.add(btn,BorderLayout.EAST);
this.add(cp,BorderLayout.CENTER);
cp.setLayout(new BorderLayout());
cp.setBorder(new TitledBorder(""));
scrollpane.getViewport().add(txtA);
cp.add(scrollpane,"Center");
cp.add(txtF,"South");
txtA.setWrapStyleWord(true); // 단어에 관계없이 워드 랩 기능이 있음 오른쪽 끝을 만나면 다음칸으로 그냥 넘어가도록 하는 기능
txtA.setLineWrap(true);
txtA.setSelectedTextColor(new Color(255,250,0));
addListener(); // 리스너를 따로 만든다.
}
public void addListener() {
btn.addMouseListener(new MouseHandling());
// action 리스너를 써도 된다.
txtF.addKeyListener(new KeyHandlng());
}
public class KeyHandlng extends KeyAdapter{
public void keyPressed(KeyEvent e) {
if (e.getSource()==txtF) {
if(KeyEvent.VK_ENTER==e.getKeyCode()){
txtA.append(txtF.getText()+"\n"); // 값을 추가 시킨다.
txtF.setText("");
}
}
}
}
public class MouseHandling extends MouseAdapter{
public void mouseClicked(MouseEvent e) { // 버튼을 누르면 txtA의 내용을 지운다.
if(e.getSource()==btn) {
txtA.setText("");
}
}
}
}
package Swing;
public class StartPanelMain {
public static void main(String[] args) {
StartFrame frame=new StartFrame();
TextPanel tp=new TextPanel();
frame.setMainJPanel(tp);
frame.validate();
}
}
// 3개를 합치면 됩니다.