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));
}
}
'JavaFX > 01.Node 추가' 카테고리의 다른 글
| [JAVA FX]01-13.BarChart (0) | 2018.09.11 |
|---|---|
| [JAVA FX]01-12.Line Chart, Random (0) | 2018.09.11 |
| [JAVA FX]01-10.Progress Bar, Progress Indicator, Thread (0) | 2018.09.11 |
| [JAVA FX]01-09.속성 감시, 속성 바인딩 (0) | 2018.09.10 |
| [JAVA FX]01-08.Menu 바 추가 (0) | 2018.09.10 |