[英]Making a PieChart visible in JPanel
我是編程和學校的新手,我必須用一定數量的課程創建一個程序。 現在一切都很順利,但我仍然停留在數據的圖形輸出上。 該計划是費用計算器。 它是一個分為6個JPanels的框架。 其中一個應該是我創建的Piechart。 餅圖有效,但不會顯示在我的框架中。 所以我堅持如何在面板中調用正確的內容。 我要添加餅圖的面板代碼是:
class CenterPaneel extends JPanel{
private static final long serialVersionUID = -835526987955952967L;
public CenterPaneel(){
setLayout( new GridLayout(2,3,10,10));
add( new Catagorie1Paneel() ); add( new Catagorie3Paneel() ); add( new SamenvattingPaneel() );
add( new Catagorie2Paneel() ); add( new Catagorie4Paneel() ); add( new DataPaneel());
}
餅圖的代碼是:
class DataPaneel extends JPanel{
private static final long serialVersionUID = -2980457707385367851L;
private final ObservableList<PieChart.Data> details = FXCollections.observableArrayList();
private BorderPane root;
private PieChart pieChart;
public void start(Stage primaryStage) {
primaryStage.setTitle("test");
details.addAll(new PieChart.Data("test1", 25),
new PieChart.Data("test 2", 25),
new PieChart.Data("test 3", 25),
new PieChart.Data("test 4", 25)
);
root = new BorderPane();
Scene scene = new Scene(root,600,500);
pieChart = new PieChart();
pieChart.setData(details);
pieChart.setTitle("test");
pieChart.setLegendSide(Side.BOTTOM);
pieChart.setLabelsVisible(true);
primaryStage.setScene(scene);
primaryStage.show();
}
}
到目前為止,代碼的輸出是:
如果有人可以幫助我,我會非常高興:)
提前致謝
以這種方式修改CenterPaneel
的構造函數:
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.embed.swing.JFXPanel;
import javafx.geometry.Side;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.scene.control.ScrollPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Pie_Chart extends JFrame {
public static void main(String[] args) {
Pie_Chart pc=new Pie_Chart();
pc.getContentPane().add(new CenterPaneel());
pc.setVisible(true);
}
}
class CenterPaneel extends JPanel{
private final static ObservableList<PieChart.Data> details = FXCollections.observableArrayList();
private static PieChart pieChart;
public CenterPaneel(){
setLayout( new GridLayout(2,3,10,10));
final JFXPanel dataPaneel = new JFXPanel();
ScrollPane sp = new ScrollPane();
details.addAll(new PieChart.Data("test1", 25),
new PieChart.Data("test 2", 25),
new PieChart.Data("test 3", 25),
new PieChart.Data("test 4", 25)
);
pieChart = new PieChart();
pieChart.setData(details);
pieChart.setTitle("test");
pieChart.setLegendSide(Side.BOTTOM);
pieChart.setLabelsVisible(true);
sp.setContent(pieChart);
Scene scene = new Scene(sp, 600, 500);
dataPaneel.setScene(scene);
add( new Catagorie1Paneel() ); add( new Catagorie3Paneel() ); add( new SamenvattingPaneel() );
add( new Catagorie2Paneel() ); add( new Catagorie4Paneel() ); add( dataPaneel);
}
}
我用空面板測試了這個,除了PieChart,它工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.