전체 글 (74)

━━━━ ◇ ━━━━
Java/Java 공부

Java 입력받은 숫자의 합을 구하는 예제 ( while, flag )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package example;
 
import java.util.Scanner;
 
/* 사용자로부터 반복해서 숫자를 입력받다가 0을 입력하면 입력을 마치고 총 합을 출력하는 예제*/
public class FlowEx27 {
 
    public static void main(String[] args) {
        int num ;
        int sum = 0;
        boolean flag = true;
        
        System.out.println("합계를 구할 숫자를 입력하세요.(끝내려면 0을 입력하세요.)");
        Scanner sc = new Scanner(System.in);
        while(flag){
            System.out.print(">>");
            num = sc.nextInt();
            
            if(num != 0){
                sum += num;
            }else{
                flag = false;
            }
        }
        System.out.println("합계는 "+sum+"입니다.");
        System.out.println("프로그램을 종료합니다.");
        sc.close();
        System.exit(0);
        
 
    }
 
}
cs




COMMENT
━━━━ ◇ ━━━━
Java/Java 공부

Java 누적합계가 100을 넘지 않는 가장 큰 수 찾기

while 문을 사용하여서 누적 합계가 100을 넘지 않는 가장 큰 수를 찾아 보도록 하자.


먼저 이 예제의 핵심은 while 문의 조건식을 어떻게 짜는가에 있어.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package example;
 
/* 1부터 몇까지 더하면 누적합계가 100을 넘지 않는 제일 큰 수가 되는 지를 알아내는 예제*/
public class FlowEx26 {
 
    public static void main(String[] args) {
                
        int sum = 0;
        int i = 1;
        while(sum <= 100){
            sum += i;
            System.out.println(i +" => "+ sum);
            i++;
            
        }
        
 
    }
 
}
cs


위 코드는 내가 처음에 짰던 코드야. 별 생각 없이 sum 에 i를 누적시키고, sum을 출력하고, i를 증가시키면 될것이라고 생각했지. 조건식은 누적합계가 100 이하라면 반복, 100을 넘어서면 스톱. 그 결과는 어땠을까?



내 생각과는 달리 i = 14, sum = 105가 찍혔어. 다시 곰곰히 생각해보니, i 가 13일때 sum에 누적이 되고(91), 콘솔에 그 것들을 출력을 하고, i를 증가시켜 (i++, i = 14) 이 상태에서 sum 이 100보다 작은지 조건식을 판별하는데, sum은 91 이기 때문에 true 가 반환되더라고. 그래서 누적이 한번 더 되는 것이었지.


이 문제를 해결하기 위해서는 조건식에 sum이 누적된 결과가 반영되어야 한다는 것이었어. 그래서 i를 sum에 누적하는 코드를 조건식 안에 집어 넣어봤어.


1
2
3
4
5
6
int sum = 0;
int i = 0;
while((sum += i) <= 100){
    System.out.println(i +" => "+ sum);
    i++;
}
cs

이런식으로 말야. 누적을 먼저 계산하고 그 결과 값이 100보다 작은지 비교하는 방식으로 바꾼거야. 

이번에는 어떤 결과가 나왔을까?


짠! 13에 91! 정상적으로 잘 나왔...??? 자세히 보니 제일 위에 쓸데 없는 값이 하나 붙어 있네?


가장 처음 반복할때 0 값이 들어갔기 때문이야. 이 문제를 해결하기 위해서 i를 sum에 더하기 전에 먼저 증감 시켜줄 필요가 있었어.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package example;
 
/* 1부터 몇까지 더하면 누적합계가 100을 넘지 않는 제일 큰 수가 되는 지를 알아내는 예제*/
public class FlowEx26 {
 
    public static void main(String[] args) {
                
        /*int sum = 0;
        int i = 1;
        while(sum <= 100){
            sum += i;
            System.out.println(i +" => "+ sum);
            i++;
            
        }*/
        
        /*int sum = 0;
        int i = 0;
        while((sum += i) <= 100){
            System.out.println(i +" => "+ sum);
            i++;
            
        }*/
        
        int sum1 = 0;
        int i1 = 0;
        while((sum1 += ++i1) <= 100){
            System.out.println(i1 +" => "+ sum1);
            
        }
        
        int sum2 = 0;
        int i2 = 1;
        while((sum2 += i2) <= 100){
            System.out.println(i2 +" => "+ sum2);
            i2++;
        }
 
    }
 
}
 
 
 
cs

 둘 중 어떤 방법이어도 좋아. 전치수식을 사용해서 값을 누적 시키든지, 초기화 시키는 값을 바꾸어 주든지 그 결과는...



하핫! 이제 정상적으로 작동 되는군!


자잘한 버그를 잡는다고 몇번 수정을 했는데, 사실 우리가 처음에 구하고자 했던, 누적합계가 100을 넘지 않는 가장 큰 수는 13 !! 이라고 결론을 내며 이만 포스트를 종료하겠어. 바이바이~ 

COMMENT
━━━━ ◇ ━━━━
Java/Java 공부

Java 숫자를 입력하고 각 자리의 합을 구해보자

사용자로부터 숫자를 입력받고, 이 숫자의 각 자리의 합을 구하는 예제를 풀어보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package example;
 
import java.util.Scanner;
 
/* 사용자로 부터 숫자를 입력받고, 이 숫자의 각 자리의 합을 구하는 예제*/
public class FlowEx25 {
 
    public static void main(String[] args) {
        int num = 0// 입력된 숫자가 저장될 변수를 초기화 한다.
        int sum = 0// 입력된 숫자의 각 자리의 합을 저장할 변수를 초기화 한다.
        
        System.out.print("숫자를 입력하세요 : ");
        Scanner sc = new Scanner(System.in);
        num = sc.nextInt();
        
        while(num!=0){
            //num을 10으로 나눈 나머지를 sum에 더한다.
            sum += num%10;
            //num을 10으로 나눈 값을 다시 num에 저장한다.
            num /= 10;
        }
        System.out.println("각 자리수의 합은 "+sum+"입니다.");
        System.out.println("프로그램을 종료합니다.");
        sc.close();
        
 
    }
 
}
 
cs


이 예제는 반복문 while 을 사용한 예제 입니다. 입력된 숫자를 10으로 나누고 그 나머지를 sum에 누계해 가는 방법 입니다. sum에 값을 누계한 다음, 나누기를 하면 나머지가 버려지기 때문에 다음 자리수를 추출할 수 있게 됩니다. 아래 실행 결과를 예로 좀 더 자세하게 설명해 보겠습니다.



처음에 입력된 숫자는 123456789 입니다. 이 수를 10으로 나눈 나머지는 9 입니다. sum 에 9가 더해 집니다. sum은 현재 0 +9 가 되어서 9가 저장되어 있습니다. 다시 123456789를 10으로 나눈 몫은 12345678 이 됩니다. 프로그래밍에서 나누기를 하면 나머지를 버린 몫만 구해지기 때문입니다. 12345678 이 num 변수에 덮어씌여 집니다.


while 반복문에 의해서 num 이 0이 아니기 때문에 위의 과정이 되풀이 됩니다.


12345678을 10으로 나눈 나머지는 8 입니다. sum 에 8이 더해 집니다. 이제 sum은 9 +8 = 17 이 됩니다. 다시 12345678을 10으로 나눈 몫은 1234567이 됩니다. 1234567을 num 변수에 덮어 씌웁니다.


여전히 num 은 0이 아니기 때문에 반복문이 반복됩니다. 더 이상의 설명은 생략하겠습니다.



COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 33. Adding Volume Slider to Media Player

이 포스트는 이전글에 이어서 쓴 글입니다.

MainController.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package application;
 
import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;
 
import javafx.beans.InvalidationListener;
import javafx.beans.Observable;
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Slider;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
 
public class MainController implements Initializable{
 
    @FXML private MediaView mv;
    
    MediaPlayer mp;
    Media me;
    
    @FXML private Slider volumeSlider;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        String path = new File("Adding Volume Slider to MediaPlayer/media/Test.mp4").getAbsolutePath();
        
        me = new Media(new File(path).toURI().toString());
        mp = new MediaPlayer(me);
        mv.setMediaPlayer(mp);
        //mp.setAutoPlay(true);
        DoubleProperty width = mv.fitWidthProperty();
        DoubleProperty height = mv.fitHeightProperty();
        width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
        height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
        
        volumeSlider.setValue(mp.getVolume() * 100); // 1.0 = max 0.0 = min
        volumeSlider.valueProperty().addListener(new InvalidationListener() {
            
            @Override
            public void invalidated(Observable observable) {
                mp.setVolume(volumeSlider.getValue() / 100);
                
            }
        });
    }
    //시작
    public void play(ActionEvent event) {
        mp.play();
        mp.setRate(1);
    }
    //정지
    public void pause(ActionEvent event) {
        mp.pause();
    }
    public void fast(ActionEvent event) {
        //mp.setRate(1);// 노멀 스피드
        mp.setRate(2);// 2배 스피드
        //mp.setRate(0.5);// 0.5배 스피드
        
    }
    public void slow(ActionEvent event) {
        mp.setRate(.5);
    }
    public void reload(ActionEvent event) {
        mp.seek(mp.getStartTime());
        mp.play();
    }
    public void start(ActionEvent event) {
        mp.seek(mp.getStartTime());
        mp.stop();
    }
    public void last(ActionEvent event) {
        mp.seek(mp.getTotalDuration());
        mp.stop();
    }
 
}
 
cs


COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 32. Adding Play, Pause, Start, Fast, Slow Buttons to Media Player

MainController.java



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package application;
 
import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;
 
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
 
public class MainController implements Initializable{
 
    @FXML private MediaView mv;
    
    MediaPlayer mp;
    Media me;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        String path = new File("Adding Play, Pause, Start, Fast, Slow Buttons to Media Player/media/Test.mp4").getAbsolutePath();
        
        me = new Media(new File(path).toURI().toString());
        mp = new MediaPlayer(me);
        mv.setMediaPlayer(mp);
        //mp.setAutoPlay(true);
        DoubleProperty width = mv.fitWidthProperty();
        DoubleProperty height = mv.fitHeightProperty();
        width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
        height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
        
    }
    //시작
    public void play(ActionEvent event) {
        mp.play();
        mp.setRate(1);
    }
    //정지
    public void pause(ActionEvent event) {
        mp.pause();
    }
    public void fast(ActionEvent event) {
        //mp.setRate(1);// 노멀 스피드
        mp.setRate(2);// 2배 스피드
        //mp.setRate(0.5);// 0.5배 스피드
        
    }
    public void slow(ActionEvent event) {
        mp.setRate(.5);
    }
    public void reload(ActionEvent event) {
        mp.seek(mp.getStartTime());
        mp.play();
    }
    public void start(ActionEvent event) {
        mp.seek(mp.getStartTime());
        mp.stop();
    }
    public void last(ActionEvent event) {
        mp.seek(mp.getTotalDuration());
        mp.stop();
    }
 
}
 
cs




'Java > JavaFx' 카테고리의 다른 글

JavaFX 33. Adding Volume Slider to Media Player  (0) 2016.08.29
JavaFX 31. Media Player in JavaFX  (0) 2016.08.29
JavaFX 30. Event Handler for a Line Chart  (0) 2016.08.29
JavaFX 29. Multiple Line Chart  (0) 2016.08.29
JavaFX 28. Line Chart  (0) 2016.08.29
COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 31. Media Player in JavaFX

내가 JavaFX에 입문하게 된 가장 큰 원인은 바로 Media Player 이다.


수업 커리큘럼에 JavaFX 는 없었다. 하지만 Melon project 를 진행하면서 Java에서 제공하는 Audio Class 가 사용하기에 불편함이 많다는 것을 알게되었다. 그래서 선생님이 추천해 주신 JavaFX 를 독학으로 익히게 되었던 것이다.


그때 선생님이 적어주신 내용을 필기해 두었는데, 아래와 같다.


<Java 에서 음악을 재생하는 다양한 방법>


1. JMF를 이용하여 만들었다.

   장점 : 윈도우에서 엄청 쉽다. 프로그램 쓰듯 땡겨쓰면 된다.

   단점 : 리눅스나 IOS에서는 또 그에 맞는 JMF가 설치되어 있어야 하며 실행 방식이 달라 코딩이

          조금 달라진다.

 

2. JLayer를 이용해서 실행

   장점 : 개인이 만든 라이브러리 , 자체라이브러리 방식으로 실행가능

   단점 : 개발이 더 이상 안되며 안정성을 보장하지 않는다.

 

3. Mp3agic을 이용해서 실행

  장점 : 현재 순수 java로 이루어진 방식으로는 최신으로 개발되었다.

  단점 : 길게 가면 개인프로젝트로 없어질 듯

 

4. JavaFX media player 방식

  장점 : 현재 자바방식이고 앞으로도 계속 업그레이드

  단점 : javaFX를 학습해야한다. 


아무튼 이번에 포스팅할 Media Player 때문에 JavaFX 를 배우게 되었다는 것을 말하고 싶었다.


1. Main.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package application;
    
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
 
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("/application/Main.fxml"));
            Scene scene = new Scene(root);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
 
cs


2. Main.fxml


1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
 
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.media.MediaView?>
 
 
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainController">
   <center>
      <MediaView fx:id="mv" fitHeight="200.0" fitWidth="200.0" BorderPane.alignment="CENTER" />
   </center>
</BorderPane>
 
cs


3. MainController.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package application;
 
import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;
 
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
 
public class MainController implements Initializable{
 
    @FXML private MediaView mv;
    
    MediaPlayer mp;
    Media me;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        String path = new File("Creating Media Player in JavaFX/media/Test.mp4").getAbsolutePath();
        
        me = new Media(new File(path).toURI().toString());
        mp = new MediaPlayer(me);
        mv.setMediaPlayer(mp);
        mp.setAutoPlay(true);
        DoubleProperty width = mv.fitWidthProperty();
        DoubleProperty height = mv.fitHeightProperty();
        width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
        height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
        
    }
 
}
 
cs





COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 30. Event Handler for a Line Chart

MainController.java



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package application;
 
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.XYChart;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.input.MouseEvent;
 
public class MainController {
    @FXML LineChart<String, Number> lineChart;
    @FXML Label lbl;
    
    public void btn(ActionEvent event) {
        lineChart.getData().clear();
        XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
        series.getData().add(new XYChart.Data<String, Number>("Jan"200));
        series.getData().add(new XYChart.Data<String, Number>("Feb"500));
        series.getData().add(new XYChart.Data<String, Number>("Mar"300));
        series.getData().add(new XYChart.Data<String, Number>("Apr"600));
        series.setName("Month Pay");
        lineChart.getData().add(series);
        
        for (final XYChart.Data<String, Number> data : series.getData()){
            data.getNode().addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
 
                @Override
                public void handle(MouseEvent event) {
                    lbl.setText("X : "+data.getXValue()+"\nY : "+String.valueOf(data.getYValue()));
                    Tooltip.install(data.getNode(), new Tooltip("X : "+data.getXValue()+"\nY : "+String.valueOf(data.getYValue())));
                }
            });
        }
    }
}
 
cs



COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 29. Multiple Line Chart

MainController.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package application;
 
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.XYChart;
 
public class MainController {
    @FXML LineChart<String, Number> lineChart;
    
    public void btn(ActionEvent event) {
        lineChart.getData().clear();
        XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
        series.getData().add(new XYChart.Data<String, Number>("Jan"200));
        series.getData().add(new XYChart.Data<String, Number>("Feb"500));
        series.getData().add(new XYChart.Data<String, Number>("Mar"300));
        series.getData().add(new XYChart.Data<String, Number>("Apr"600));
        series.setName("Pay 1");
        
        XYChart.Series<String, Number> series1 = new XYChart.Series<String, Number>();
        series1.getData().add(new XYChart.Data<String, Number>("Jan"400));
        series1.getData().add(new XYChart.Data<String, Number>("Feb"100));
        series1.getData().add(new XYChart.Data<String, Number>("Mar"800));
        series1.getData().add(new XYChart.Data<String, Number>("Apr"500));
        series1.setName("Pay 2");
        
        XYChart.Series<String, Number> series2 = new XYChart.Series<String, Number>();
        series2.getData().add(new XYChart.Data<String, Number>("Jan"500));
        series2.getData().add(new XYChart.Data<String, Number>("Feb"900));
        series2.getData().add(new XYChart.Data<String, Number>("Mar"450));
        series2.getData().add(new XYChart.Data<String, Number>("Apr"650));
        series2.setName("Pay 3");
        
        lineChart.getData().addAll(series, series1, series2);
    }
}
 
cs



'Java > JavaFx' 카테고리의 다른 글

JavaFX 31. Media Player in JavaFX  (0) 2016.08.29
JavaFX 30. Event Handler for a Line Chart  (0) 2016.08.29
JavaFX 28. Line Chart  (0) 2016.08.29
JavaFX 27. Event handler for a Pie Chart  (0) 2016.08.29
JavaFX 26. Pie Chart  (0) 2016.08.29
COMMENT
━━━━ ◇ ━━━━
Java/JavaFx

JavaFX 28. Line Chart


1. Main.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package application;
    
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
 
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
            Scene scene = new Scene(root);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
 
cs


2. Main.fxml


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
 
<?import javafx.scene.chart.CategoryAxis?>
<?import javafx.scene.chart.LineChart?>
<?import javafx.scene.chart.NumberAxis?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>
 
 
<AnchorPane prefHeight="528.0" prefWidth="614.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.60" fx:controller="application.MainController">
   <children>
      <LineChart fx:id="lineChart" layoutY="-1.0" prefHeight="408.0" prefWidth="614.0" title="LINE CHART">
        <xAxis>
          <CategoryAxis label = "My X Label" side="BOTTOM" />
        </xAxis>
        <yAxis>
          <NumberAxis label = "My Y Label" side="LEFT" />
        </yAxis>
      </LineChart>
      <Button layoutX="250.0" layoutY="453.0" mnemonicParsing="false" onAction="#btn" text="Load Chart" />
   </children>
</AnchorPane>
 
cs


3. MainController.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package application;
 
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.XYChart;
 
public class MainController {
    @FXML LineChart<String, Number> lineChart;
    
    public void btn(ActionEvent event) {
        lineChart.getData().clear();
        XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
        series.getData().add(new XYChart.Data<String, Number>("Jan"200));
        series.getData().add(new XYChart.Data<String, Number>("Feb"500));
        series.getData().add(new XYChart.Data<String, Number>("Mar"300));
        series.getData().add(new XYChart.Data<String, Number>("Apr"600));
        series.setName("Month Pay");
        lineChart.getData().add(series);
    }
}
 
cs



'Java > JavaFx' 카테고리의 다른 글

JavaFX 30. Event Handler for a Line Chart  (0) 2016.08.29
JavaFX 29. Multiple Line Chart  (0) 2016.08.29
JavaFX 27. Event handler for a Pie Chart  (0) 2016.08.29
JavaFX 26. Pie Chart  (0) 2016.08.29
JavaFX 25. WebView  (0) 2016.08.25
COMMENT
1 2 3 4 5 6 ··· 9