Main 변경 없이 바로 Scene Builder로




Boder Center 위에 Pane(400, 400)을 하나 올려줍니다.


그 위에


PieChart : Code : fx:id - pieChart


Button : Code : OnAction - javaSel


Button : Code : OnAction - csSel


Button : Code : OnAction - pySel


Button : Code : OnAction - jsSel


Controller Class 설정



package app;

import java.net.URL;
import java.util.ResourceBundle;

import javax.swing.JScrollBar;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.chart.PieChart;
import javafx.scene.chart.PieChart.Data;

public class MainController implements Initializable{
	@FXML private PieChart pieChart;
	// 개별데이터 -> 리스트 -> 파이차트에 set
	int java = 10;
	int cs = 10;
	int py = 10;
	int js = 10;
	
	ObservableList<Data> list = null;
	
	@Override
	public void initialize(URL location, ResourceBundle resources) {
		System.out.println("FXML 완");
		list = FXCollections.observableArrayList();
		list.add(new PieChart.Data("Java",  java));
		list.add(new PieChart.Data("C#",  cs));
		list.add(new PieChart.Data("Python",  py));
		list.add(new PieChart.Data("Java Script",  js));
		pieChart.setTitle("선호 언어"); // 타이틀
		pieChart.setLabelsVisible(true); // 라벨 여부
		pieChart.setData(list); // 데이터 적용
	}
	
	public void javaSel() { // 버튼을 누를 때 파이 값 증가
		java++;
		list.set(0, new Data("Java", java));
	}
	
	public void csSel() {
		cs++;
		list.set(1, new Data("C#", cs));
	}
	
	public void pySel() {
		py++;
		list.set(2, new Data("Python", py));
	}
	
	public void jsSel() {
		js++;
		list.set(3, new Data("Java Script", js));
	}
	
}



+ Recent posts