본문 바로가기
자바

자바 자바fx 에어리어챠트 AreaChart [북붙따라하기]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2021. 1. 10.

AreaChart 

사용 예제 ) 코드를 복붙 하여 실행해 보시기 바랍니다.

설명은  주석과 코드 아랫부분에  있습니다.

1. 메인 파일 예제입니다.(title 만 다르고 내용이 거의 변하지 않습니다.)

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class AppMain extends Application {
	@Override
	public void start(Stage primaryStage) throws Exception {
		Parent root = (Parent)FXMLLoader.load(getClass().getResource("main.fxml"));
		Scene scene = new Scene(root);
		
		primaryStage.setTitle("Area 챠트  예제 입니다.");
		primaryStage.setScene(scene);
		primaryStage.show();
		primaryStage.setAlwaysOnTop(true);
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

2. main.fxml  파일 예제입니다.

그대로 복붙 하여 테스트해보시면 됩니다.

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.Insets?>
<?import javafx.scene.chart.AreaChart?>
<?import javafx.scene.chart.CategoryAxis?>
<?import javafx.scene.chart.NumberAxis?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.HBox?>

<HBox alignment="CENTER" prefHeight="250.0" prefWidth="579.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="MainHandler">
   <children>
      <Button fx:id="b" mnemonicParsing="false" onAction="#selB" prefHeight="37.0" prefWidth="129.0" text="AreaChart">
         <HBox.margin>
            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
         </HBox.margin>
      </Button>
      <AreaChart fx:id="areaChart" prefHeight="250.0" prefWidth="299.0">
        <xAxis>
          <CategoryAxis side="BOTTOM" />
        </xAxis>
        <yAxis>
          <NumberAxis side="LEFT" />
        </yAxis>
      </AreaChart>
   </children>
</HBox>

3. MainHandler.java 핸들러 파일입니다.

그대로 복붙 하여 테스트하시길 바랍니다.


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

import javafx.collections.FXCollections;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.chart.AreaChart;
import javafx.scene.chart.XYChart;
import javafx.scene.control.Button;

public class MainHandler implements Initializable {
//--------------바차트 ---------------
	@FXML 
	private AreaChart areaChart;
	
	@FXML 
	private Button b;
	
	
//선택시 챠트가 생성되게 하는부분
	//시작시 한번만 실행 할것 같으면 이부분의 핸들러는 필요 없고
	//initialize 에다 사용하는 밑의 예제만 사용하면 됩니다.
	//이부분은 통째로 없어도 됩니다.
@FXML void selB(ActionEvent event) {

	//막대그래프라 막대기 하나를 나타냅니다.
	//정형화된 표현입니다. 그대로 사용하시면 됩니다.
	XYChart.Series case1 = new XYChart.Series();
	case1.setName("판매량");       
	case1.setData(FXCollections.observableArrayList(
		new XYChart.Data("1분기", 5),
		new XYChart.Data("2분기", 78),
		new XYChart.Data("3분기", 64),
		new XYChart.Data("4분기", 22)
	)); 
	areaChart.getData().add(case1);

}
	
	
	@Override
	public void initialize(URL location, ResourceBundle resources) {
//----------------시작시 한번만 실행하게 하는 예제 입니다.
		//버튼을 클릭시 나타나는 예제는 위의 예제를 사용하시고 
		//그렇게 되면 이부분은 통째로 없어도 됩니다.
		XYChart.Series case1 = new XYChart.Series();
		case1.setName("판매량");       
		case1.setData(FXCollections.observableArrayList(
			new XYChart.Data("1분기", 20),
			new XYChart.Data("2분기", 32),
			new XYChart.Data("3분기", 14),
			new XYChart.Data("4분기", 80)
		)); 
		areaChart.getData().add(case1);
		
	}
}

AreaChart차트는 자주 사용하지 않는 것이 지만 프로그램의 품질을 올려주는 효과가 있습니다.

필요하실 때 예제를 이용하셔서 사용하시면 되겠습니다.

 

아래는 실행 동영상 입니다.

 

 

세상 모든 것들은 그 자신을 위해 존재한다.

728x90
반응형

댓글