본문 바로가기
프로그래밍/② JAVA(자바) 프로젝트

② JAVA(자바) 프로젝트-9 data클래스에 값을 저장하고 왼쪽 오른쪽 뷰에 서로 값 전달하기 == Storing values in the data class and passing values to each other in the left and right views

by ronul 2017. 5. 1.
300x250

왼쪽 오른쪽 뷰에 버튼을 누르면 값이 +와 -가 되고 서로 값을 전달해주는 방식인 프로그램 입니다.

 

startProgram.java 

public class startProgram{

 public static void main(String[] args) {
  data Data=new data(5);
  RightView Right=new RightView(Data);
  LeftView left=new LeftView(Data);
  Right.set(left);
 }

}


 


 data.java

public class data {
 public int Num;
 public data(int Num){
  this.Num = Num;
 }

}


 

 

 

 

 

 LeftView.java

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class LeftView extends JFrame {

 private JPanel contentPane;
 JLabel lblMinus;
 JButton btnMinus;
 data Data;

 public LeftView(data Data) {
  this.Data = Data;
  init();
  listener();  
 }
 public void init(){  
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100, 100, 450, 300);
  contentPane = new JPanel();
  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  setContentPane(contentPane);
  contentPane.setLayout(null);
  
  lblMinus = new JLabel("");
  lblMinus.setBounds(267, 121, 57, 15);
  contentPane.add(lblMinus);
  
  btnMinus = new JButton("-");
  
  btnMinus.setBounds(77, 117, 97, 23);
  contentPane.add(btnMinus);
 }
 public void listener(){
  btnMinus.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    Data.Num--;
    lblMinus.setText(Data.Num+"");
   }
  });
 }

}


RightView.java 

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class RightView extends JFrame {

 private JPanel contentPane;
 data Data;
 JButton btnPlus;
 JLabel lblPlus;
 LeftView leftView;

 public RightView(data Data) {
  this.Data = Data;
  init();
  listener();
  this.setVisible(true);
 }
 
 public void set(LeftView leftView){
  this.leftView = leftView;
  this.leftView.setVisible(true);
  
 }

 public void listener(){
  btnPlus.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    Data.Num++;
    lblPlus.setText(Data.Num+"");
   }
  });
 }
 public void init() {
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100, 100, 450, 300);
  contentPane = new JPanel();
  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  setContentPane(contentPane);
  contentPane.setLayout(null);

  lblPlus = new JLabel("Data.Num");
  lblPlus.setBounds(246, 97, 57, 15);
  contentPane.add(lblPlus);

  btnPlus = new JButton("+");
  
  btnPlus.setBounds(75, 93, 97, 23);
  contentPane.add(btnPlus);
 }
}


간단하게 만든 프로그램이지만 나중에 프로그램을 만들어도 값을 저장하고 보내기를 해야할 순간이 있습니다.

값을 저장하고 보내기 위해 한번쯤 이해해보면 좋을 프로그램이라 생각합니다.

300x250

댓글