메인


package eventProject;


import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import javax.swing.JButton;

import javax.swing.JColorChooser;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import javax.swing.JToggleButton;


public class EventTest extends WindowAdapter implements ActionListener{

JFrame frm = new JFrame("메모장");

JPanel p = new JPanel();

JToggleButton boldBtn = new JToggleButton("가");

JToggleButton italicBtn = new JToggleButton("가");

JToggleButton plainBtn = new JToggleButton("가");

JButton foreColor = new JButton("글자색");

JTextArea ta = new JTextArea();

public EventTest() {

p.add(boldBtn); p.add(italicBtn); p.add(plainBtn); p.add(foreColor);

frm.add(p, "North");

frm.add(ta, "Center");

frm.setSize(500, 500);

frm.setVisible(true);

//frm.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

//JFrame 자동 종료 해제

frm.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

MyEventProdess event = new MyEventProdess(ta, boldBtn, italicBtn, plainBtn);

boldBtn.addActionListener(event);

italicBtn.addActionListener(event);

plainBtn.addActionListener(event);

foreColor.addActionListener(this);

frm.addWindowListener(this);

}

public void actionPerformed(ActionEvent ae){

String str = ae.getActionCommand();

if(str.equals("글자색")){

//컬러선택탐색시

JColorChooser cc = new JColorChooser();

//색상선택기 실행 (부모객체, 제목, 초기색상)

Color color = cc.showDialog(frm, "글자색", Color.red);

ta.setForeground(color);

}

}

//윈도우 이벤트 오버라이딩

//WindowAdapter를 상속하여 필요한 메소드만 재 오버라이딩하여 사용한다.

public void windowClosing(WindowEvent we){

int showType = JOptionPane.showConfirmDialog(frm, "종료하시겠습니까?", "확인", JOptionPane.OK_CANCEL_OPTION);

if(showType==JOptionPane.OK_OPTION){

frm.dispose();

System.exit(0);

}else if(showType==JOptionPane.CANCEL_OPTION){

}

}

public static void main(String[] args) {

new EventTest();

}


}


=====================================================================

이벤트 처리


package eventProject;


import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.image.PixelInterleavedSampleModel;


import javax.swing.JTextArea;

import javax.swing.JToggleButton;


public class MyEventProdess implements ActionListener{

JTextArea ta;

JToggleButton boldBtn, italicBtn, plainBtn;

int bold = 0, italic = 0; //Plain값은 생략

Font fnt = new Font("Serif", Font.PLAIN, 20);

public MyEventProdess() {


}

public MyEventProdess(JTextArea ta, JToggleButton boldBtn, JToggleButton italicBtn, JToggleButton plainBtn){

this.ta = ta;

this.boldBtn = boldBtn;

this.italicBtn = italicBtn;

this.plainBtn = plainBtn;

}

//오버라이딩 = public class에서 implements 하였다면 이곳에 오버라이딩을 해야 한다.

public void actionPerformed(ActionEvent ae){

//이벤트

// Font("Serif", Font.BOLD, 20);

// FontBOLD=1, Font.ITALIC=2, Font.PLAIN=0

Object obj = ae.getSource();

if(obj==boldBtn){ //진하게

if(boldBtn.isSelected()){ //선택

bold = 1;

}else{ //비선택

bold = 0;

}

}else if(obj==italicBtn){ //이텔릭

if(italicBtn.isSelected()){

italic = 2;

}else{

italic = 0;

}

}else if(obj==plainBtn){ //보통

bold = 0;

italic = 0;

boldBtn.setSelected(false);

italicBtn.setSelected(false);

}

////////

fnt = new Font("Serif", bold+italic, 20);

ta.setFont(fnt);

}

}



'응용 SoftWare > JAVA' 카테고리의 다른 글

JBorder  (0) 2016.12.12
JSlider  (0) 2016.12.12
[예제] JRadioButton  (0) 2016.12.09
JList  (0) 2016.12.09
JComboBox  (0) 2016.12.09
Posted by Hyun CHO
,

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.ButtonGroup;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JRadioButton;


public class JRadioButtonEx extends JFrame implements ActionListener{

JPanel p = new JPanel(new GridLayout(4, 1));

JRadioButton r1 = new JRadioButton("suicide squad"), 

r2 = new JRadioButton("Harly"), 

r3 = new JRadioButton("deadshot"), 

r4 = new JRadioButton("joker");

ButtonGroup bg = new ButtonGroup();

JLabel lbl;

ImageIcon ii1 = new ImageIcon("image/ssa.jpg");

ImageIcon ii2 = new ImageIcon("image/ssh.jpg");

ImageIcon ii3 = new ImageIcon("image/ssd.jpg");

ImageIcon ii4 = new ImageIcon("image/ssj.jpg");

public JRadioButtonEx() {

p.add(r1); p.add(r2); p.add(r3); p.add(r4);

bg.add(r1); bg.add(r2); bg.add(r3); bg.add(r4);

r1.setSelected(true); //라디오버튼 선택

r1.addActionListener(this);

r2.addActionListener(this);

r3.addActionListener(this);

r4.addActionListener(this);

add(p, "West");

lbl = new JLabel(ii1);

add(lbl, "Center");

setSize(500, 300);

setVisible(true);

}

public void actionPerformed(ActionEvent ae){

Object obj = ae.getSource();

if(obj == r1){

lbl.setIcon(ii1);

}else if(obj == r2){

lbl.setIcon(ii2);

}else if(obj == r3){

lbl.setIcon(ii3);

}else if(obj == r4){

lbl.setIcon(ii4);

}

}

public static void main(String[] args) {

new JRadioButtonEx();


}


}



'응용 SoftWare > JAVA' 카테고리의 다른 글

JSlider  (0) 2016.12.12
메모장 (글자 굵기, 기울기, 초기화, 색, 종료창)  (0) 2016.12.12
JList  (0) 2016.12.09
JComboBox  (0) 2016.12.09
Vector  (0) 2016.12.09
Posted by Hyun CHO
,

JList

응용 SoftWare/JAVA 2016. 12. 9. 17:32

import java.awt.Color;

import java.util.List;

import java.util.Vector;


import javax.swing.DefaultListModel;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JList;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;


public class JListTest extends JFrame implements ListSelectionListener{

JList lst1 = new JList(), lst2 = new JList();

Vector<String> v = new Vector<String>();

DefaultListModel<String> dlm = new DefaultListModel<String>();

JScrollPane sp1, sp2; //스크롤바 만들기

public JListTest() {

//lst1 - Vector

v.addElement("JAVA");

v.addElement("JavaScript");

v.addElement("HTML5");

v.addElement("CSS3");

v.addElement("JavaServerPage");

v.addElement("Spring");

v.addElement("JQuery");

lst1.setListData(v);

sp1 = new JScrollPane(lst1);

add(sp1, "West");

/*lst2 - Model

dlm.addElement("자바");

dlm.addElement("자바스크립트");

dlm.addElement("에이치티엠엘5");

dlm.addElement("씨에스에스");

dlm.addElement("자바서버페이지");

dlm.addElement("스프링");

dlm.addElement("제이쿼리");

lst2.setModel(dlm);

sp2 = new JScrollPane(lst2);

add(sp2, "East"); */

//

lst1.setBackground(Color.BLACK);

lst1.setForeground(Color.WHITE);

lst1.setSelectionBackground(Color.white);

lst1.setSelectionForeground(Color.red);

setSize(300, 200);

setVisible(true);

lst1.addListSelectionListener(this);

}

//오버라이딩

public void valueChanged(ListSelectionEvent lse){

//List 목록 중 선택된 목록 얻어오기

List<String> list = lst1.getSelectedValuesList();

int listIdx[] = lst1.getSelectedIndices(); //목록 index 얻어오기

//출력

for(int i=0; i<list.size(); i++){

System.out.println(listIdx[i]+"="+list.get(i));

}

public static void main(String[] args) {

new JListTest();


}


}



'응용 SoftWare > JAVA' 카테고리의 다른 글

메모장 (글자 굵기, 기울기, 초기화, 색, 종료창)  (0) 2016.12.12
[예제] JRadioButton  (0) 2016.12.09
JComboBox  (0) 2016.12.09
Vector  (0) 2016.12.09
[JFrame] 계산기 만들기  (0) 2016.12.07
Posted by Hyun CHO
,