【问题标题】:creating an desktop application for displaying status of our inputs as a graph创建一个桌面应用程序,以图形形式显示我们的输入状态
【发布时间】:2014-01-14 18:43:22
【问题描述】:

我启动了一个小应用程序来显示我的输入值的图表。为此,我使用了Swing 框架和面板。我想要的输出是从用户那里获取更多的输入,并计算每个组值的平均值,并在单击按钮后将它们显示在窗口上。为此,我采取了一个框架和两个面板。现在的问题是,当我向面板添加越来越多的组件时,它不允许扩展面板的大小。它仅扩展到大约1366*768 大小。但我有很多组件要添加到它。我测试了几乎所有的布局管理器,最后现在使用组布局。 而且在点击输入代码中的按钮后,我无法添加带有图表的面板,这里是组布局。我使用了按钮单击事件。 请建议说什么。我的代码如下

//class main 开始框架

public class Main {

 public static void main(String args[])
{

      Application app=new Application();
}

}

//类应用程序

 import javax.swing.JFrame;
 import javax.swing.JScrollPane;
 import java.awt.BorderLayout;
 import javax.swing.JPanel;
 import javax.swing.JLabel;


 public class Application extends JFrame {

private MainPanel currentpanel;
public Application()
{
    currentpanel = new MainPanel();     
    setupFrame();
}

private void setupFrame()
{
    JScrollPane scrollPane = new JScrollPane(currentpanel);
    //getContentPane().
    getContentPane().add(scrollPane);
    //JScrollPane scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    //scrollPane.add(currentpanel);
    //this.setContentPane(scrollPane);

    this.setVisible(true);
    this.setSize(1070,831);

}

}


class Pan extends JPanel
{
public Pan()
{
JPanel m= new MainPanel();  
this.add(m);
}
}

//类主面板

import javax.swing.JPanel;
import javax.swing.SpringLayout;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JLabel;

import java.awt.Font;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.JButton;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
    import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class MainPanel extends JPanel {
    private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JTextField textField_7;
private JTextField textField_8;
private JTextField textField_9;
private JTextField textField_10;
private JTextField textField_11;
private JTextField textField_12;
private JTextField textField_13;
private JTextField textField_14;
private JTextField textField_15;
private JTextField textField_16;
private JTextField textField_17;
private JTextField textField_18;
private JTextField textField_19;
private JScrollPane scrollPane_1;
private int a;
private boolean f;
public MainPanel()
{

    setupPanel();

}
private void setupPanel()
{
    setBackground(new Color(138, 43, 226));

    JLabel lblNewLabel = new JLabel("statement 1");
    lblNewLabel.setFont(new Font("Vani", Font.PLAIN, 16));

    JLabel lblNewLabel_2 = new JLabel("statement 2");
    lblNewLabel_2.setFont(new Font("Vani", Font.PLAIN, 16));

    JLabel lblNewLabel_3 = new JLabel("statement 3");
    lblNewLabel_3.setFont(new Font("Vani", Font.PLAIN, 16));

    JLabel lblNewLabel_4 = new JLabel("statement 4");
    lblNewLabel_4.setFont(new Font("Vani", Font.PLAIN, 16));

    JLabel lblNewLabel_1 = new JLabel("statement 5");
    lblNewLabel_1.setFont(new Font("Vani", Font.PLAIN, 16));


    textField = new JTextField();
    textField.setColumns(10);

    textField_1 = new JTextField();
    textField_1.setColumns(10);

    textField_2 = new JTextField();
    textField_2.setColumns(10);

    textField_3 = new JTextField();
    textField_3.setColumns(10);

    textField_4 = new JTextField();
    textField_4.setColumns(10);

    textField_5 = new JTextField();
    textField_5.setColumns(10);

    textField_6 = new JTextField();
    textField_6.setColumns(10);

    textField_7 = new JTextField();
    textField_7.setColumns(10);

    textField_8 = new JTextField();
    textField_8.setColumns(10);

    textField_9 = new JTextField();
    textField_9.setColumns(10);

    textField_10 = new JTextField();
    textField_10.setColumns(10);

    textField_11 = new JTextField();
    textField_11.setColumns(10);

    textField_12 = new JTextField();
    textField_12.setColumns(10);

    textField_13 = new JTextField();
    textField_13.setColumns(10);

    textField_14 = new JTextField();
    textField_14.setColumns(10);

    textField_15 = new JTextField();
    textField_15.setColumns(10);

    textField_16 = new JTextField();
    textField_16.setColumns(10);

    textField_17 = new JTextField();
    textField_17.setColumns(10);

    textField_18 = new JTextField();
    textField_18.setColumns(10);

    textField_19 = new JTextField();
    textField_19.setColumns(10);

    scrollPane_1 = new JScrollPane();

    JPanel panel = new GraphPanel();
    final MyChart bar=new MyChart();


    JButton btnCheckTheStatus = new JButton("Check the Status");
    btnCheckTheStatus.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            if(textField.getText()!=null)
                a=Integer.parseInt(textField.getText());
            if(a!=0)
            {
                bar.prepareChart(a);
            }
            f=true;         

        }
    });
    btnCheckTheStatus.setBackground(Color.GRAY);
    GroupLayout groupLayout = new GroupLayout(this);
    groupLayout.setHorizontalGroup(
        groupLayout.createParallelGroup(Alignment.LEADING)
            .addGroup(groupLayout.createSequentialGroup()
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addGroup(groupLayout.createSequentialGroup()
                        .addGap(218)
                        .addComponent(scrollPane_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                    .addGroup(groupLayout.createSequentialGroup()
                        .addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
                            .addGroup(groupLayout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(panel, GroupLayout.PREFERRED_SIZE, 843, GroupLayout.PREFERRED_SIZE))
                            .addGroup(Alignment.LEADING, groupLayout.createSequentialGroup()
                                .addGap(60)
                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                                    .addGroup(groupLayout.createSequentialGroup()
                                        .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 400, GroupLayout.PREFERRED_SIZE)
                                        .addGap(48)
                                        .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(68)
                                        .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(66)
                                        .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(61)
                                        .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                    .addGroup(groupLayout.createSequentialGroup()
                                        .addComponent(lblNewLabel_2, GroupLayout.PREFERRED_SIZE, 400, GroupLayout.PREFERRED_SIZE)
                                        .addGap(48)
                                        .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(68)
                                        .addComponent(textField_5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(66)
                                        .addComponent(textField_6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(61)
                                        .addComponent(textField_7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                    .addGroup(groupLayout.createSequentialGroup()
                                        .addComponent(lblNewLabel_3, GroupLayout.PREFERRED_SIZE, 400, GroupLayout.PREFERRED_SIZE)
                                        .addGap(48)
                                        .addComponent(textField_8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(68)
                                        .addComponent(textField_9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(66)
                                        .addComponent(textField_10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(61)
                                        .addComponent(textField_11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                    .addGroup(groupLayout.createSequentialGroup()
                                        .addComponent(lblNewLabel_4, GroupLayout.PREFERRED_SIZE, 400, GroupLayout.PREFERRED_SIZE)
                                        .addGap(48)
                                        .addComponent(textField_12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(68)
                                        .addComponent(textField_13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(66)
                                        .addComponent(textField_14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(61)
                                        .addComponent(textField_15, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                    .addGroup(groupLayout.createSequentialGroup()
                                        .addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 400, GroupLayout.PREFERRED_SIZE)
                                        .addGap(48)
                                        .addComponent(textField_16, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(68)
                                        .addComponent(textField_17, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(66)
                                        .addComponent(textField_18, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(61)
                                        .addComponent(textField_19, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))))
                        .addGap(56)
                        .addComponent(btnCheckTheStatus)))
                .addContainerGap(152, Short.MAX_VALUE))
    );
    groupLayout.setVerticalGroup(
        groupLayout.createParallelGroup(Alignment.LEADING)
            .addGroup(groupLayout.createSequentialGroup()
                .addGap(47)
                .addComponent(scrollPane_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addGap(36)
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addGroup(groupLayout.createSequentialGroup()
                        .addGap(2)
                        .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE))
                    .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(49)
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addComponent(lblNewLabel_2, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(43)
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addComponent(lblNewLabel_3, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(44)
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addComponent(lblNewLabel_4, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_15, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(55)
                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                    .addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_16, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_17, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(textField_18, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
                        .addComponent(textField_19, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addComponent(btnCheckTheStatus)))
                .addGap(31)
                .addComponent(panel, GroupLayout.PREFERRED_SIZE, 316, GroupLayout.PREFERRED_SIZE)
                .addContainerGap(22, Short.MAX_VALUE))
    );
    setLayout(groupLayout);
}
}




class GraphPanel extends JPanel{
JScrollPane scrollPane;
ImageIcon icon= new ImageIcon("BarChart.png");
ImageIcon icon1= new ImageIcon("BarChart.png");

            public void paintComponent(Graphics g) 
            {

                g.drawImage(icon.getImage(),10, 10, 300, 200,   null);
                g.drawImage(icon1.getImage(),320, 10, 300, 200, null);
            }



}


class MyChart
{
private  int a;
private int b;
private int c;
private int d;
private int e;
public void prepareChart(int a){
this.a=a;
b=a+a;
c=a;
d=b;
e=a+b;

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.setValue(a, "Marks", "1");
 dataset.setValue(b, "Marks", "2");
 dataset.setValue(c, "Marks", "3");
 dataset.setValue(d, "Marks", "4");
dataset.setValue(e, "Marks", "5");

 JFreeChart chart = ChartFactory.createBarChart
 ("Status of your thoughts","Feild", "Status", dataset, 
  PlotOrientation.VERTICAL, false,true, false);
 chart.setBackgroundPaint(Color.white);
 chart.getTitle().setPaint(Color.blue); 
 CategoryPlot p = chart.getCategoryPlot(); 
 p.setRangeGridlinePaint(Color.pink); 
ChartFrame frame1=new ChartFrame("Bar Chart",chart);
 frame1.setVisible(true);
 frame1.setSize(400,350);

  try{
  final ChartRenderingInfo info = new  ChartRenderingInfo(new StandardEntityCollection());
  final File file1=new File("BarChart.png");
  ChartUtilities.saveChartAsPNG(file1, chart, 600, 400,info);
  //System.out.println("image created");
}catch(Exception e)
 {
  System.out.println("image can not be created");

 }
 }

【问题讨论】:

  • 请不要忘记添加“?”提问!有些人在页面中搜索“?”如果“问题”中不存在,则直接转到下一个(实际)问题。

标签: java swing layout panel


【解决方案1】:

我可以建议您为此使用 JavaFX,请参阅: http://docs.oracle.com/javafx/index.html
特别是图表:http://docs.oracle.com/javafx/2/charts/jfxpub-charts.htm

【讨论】:

    【解决方案2】:

    我建议你不要使用GroupLayout真的很难,你可以尝试使用GridBagLayout,它更简单。

    要将JFreeChart 嵌入到您的JPanel,请使用ChartPanel

    对您的JFrame 使用pack(); 方法而不是setSize()

    我不建议您使用new ImageIcon("BarChart.png"),否则您可能会遇到文件路径问题。将您的“BarChart.png”添加到项目资源中,并在 URL 的帮助下获取它们,如下所示:new ImageIcon(getClass().getResource("BarChart.png"))

    我已更改您的代码,请检查:

    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.beans.Transient;
    import java.io.File;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
    
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.ChartRenderingInfo;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.entity.StandardEntityCollection;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.data.category.DefaultCategoryDataset;
    
    public class Example extends JPanel {
    
        public static void main(String... s){
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JScrollPane scrollPane = new JScrollPane(new Example());
            f.getContentPane().add(scrollPane);
            f.pack();
            f.setVisible(true);
    
        }
    
        private JScrollPane pane;
        private JTextField textField;
        private JTextField textField_1;
        private JTextField textField_2;
        private JTextField textField_3;
        private JTextField textField_4;
        private JTextField textField_5;
        private JTextField textField_6;
        private JTextField textField_7;
        private JTextField textField_8;
        private JTextField textField_9;
        private JTextField textField_10;
        private JTextField textField_11;
        private JTextField textField_12;
        private JTextField textField_13;
        private JTextField textField_14;
        private JTextField textField_15;
        private JTextField textField_16;
        private JTextField textField_17;
        private JTextField textField_18;
        private JTextField textField_19;
        private int a;
        private boolean f;
    
        public Example() {
            setupPanel();
        }
    
        private JTextField createField(){
            JTextField textField = new JTextField();
            textField.setColumns(10);
            return textField;
        }
    
        private void setupPanel() {
            setBackground(new Color(138, 43, 226));
            textField = createField();
            textField_1 = createField();
            textField_2 =createField();
            textField_3 = createField();
            textField_4 = createField();
            textField_5 =createField();
            textField_6 = createField();
            textField_7 = createField();
            textField_8 = createField();
            textField_9 = createField();
            textField_10 = createField();
            textField_11 = createField();
            textField_12 = createField();
            textField_13 = createField();
            textField_14 = createField();
            textField_15 = createField();
            textField_16 = createField();
            textField_17 = createField();
            textField_18 = createField();
            textField_19 = createField();
    
            JPanel panel = new GraphPanel();
            final MyChart bar = new MyChart();
    
            JButton btnCheckTheStatus = new JButton("Check the Status");
            btnCheckTheStatus.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent arg0) {
                    if (textField.getText() != null)
                        a = Integer.parseInt(textField.getText());
                    if (a != 0) {
                        ChartPanel chartPanel = new ChartPanel(bar.prepareChart(a));
                        pane.setViewportView(chartPanel);
                        Example.this.revalidate();
                    }
                    f = true;
    
                }
            });
            btnCheckTheStatus.setBackground(Color.GRAY);
            setLayout(new GridBagLayout());
            GridBagConstraints c = new GridBagConstraints();
            c.insets = new Insets(5, 5, 5, 5);
            c.anchor = GridBagConstraints.WEST;
            c.gridx = 0;
            c.gridy = 0;
    
            for(int i=1;i<6;i++){
                JLabel l = new JLabel("statement "+i);
                l.setFont(new Font("Vani", Font.PLAIN, 16));
                add(l,c);
                c.gridy ++;
            }
            c.gridy = 0;
            c.gridx ++;
            add(textField,c);
            c.gridx ++;
            add(textField_1,c);
            c.gridx ++;
            add(textField_2,c);
            c.gridx ++;
            add(textField_3,c);
    
            c.gridy = 1;
            c.gridx = 1;
            add(textField_4,c);
            c.gridx ++;
            add(textField_5,c);
            c.gridx ++;
            add(textField_6,c);
            c.gridx ++;
            add(textField_7,c);
    
            c.gridy = 2;
            c.gridx = 1;
            add(textField_8,c);
            c.gridx ++;
            add(textField_9,c);
            c.gridx ++;
            add(textField_10,c);
            c.gridx ++;
            add(textField_11,c);
    
            c.gridy = 3;
            c.gridx = 1;
            add(textField_12,c);
            c.gridx ++;
            add(textField_13,c);
            c.gridx ++;
            add(textField_14,c);
            c.gridx ++;
            add(textField_15,c);
    
            c.gridy = 4;
            c.gridx = 1;
            add(textField_16,c);
            c.gridx ++;
            add(textField_17,c);
            c.gridx ++;
            add(textField_18,c);
            c.gridx ++;
            add(textField_19,c);
    
            c.gridx++;
            add(btnCheckTheStatus,c);
    
            c.gridy = 5;
            c.gridx = 0;
            c.gridwidth = 6;
            add(panel,c);
    
            pane = new JScrollPane();
            c.gridx = 6;
            c.gridheight = 7;
            c.ipady= 0;
            c.gridy = 0;
            add(pane,c);
        }
    
        class GraphPanel extends JPanel {
            JScrollPane scrollPane;
            ImageIcon icon = new ImageIcon("BarChart.png");
            ImageIcon icon1 = new ImageIcon(getClass().getResource("BarChart.png"));
    
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                g.drawImage(icon.getImage(), 10, 10, 300, 200, null);
                g.drawImage(icon1.getImage(), 320, 10, 300, 200, null);
            }
    
            @Override
            @Transient
            public Dimension getPreferredSize() {
                return new Dimension(650,200);
            }
    
        }
    
        class MyChart {
            private int a;
            private int b;
            private int c;
            private int d;
            private int e;
    
            public JFreeChart prepareChart(int a) {
                this.a = a;
                b = a + a;
                c = a;
                d = b;
                e = a + b;
    
                DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    
                dataset.setValue(a, "Marks", "1");
                dataset.setValue(b, "Marks", "2");
                dataset.setValue(c, "Marks", "3");
                dataset.setValue(d, "Marks", "4");
                dataset.setValue(e, "Marks", "5");
    
                JFreeChart chart = ChartFactory.createBarChart(
                        "Status of your thoughts", "Feild", "Status", dataset,
                        PlotOrientation.VERTICAL, false, true, false);
                chart.setBackgroundPaint(Color.white);
                chart.getTitle().setPaint(Color.blue);
                CategoryPlot p = chart.getCategoryPlot();
                p.setRangeGridlinePaint(Color.pink);
                try {
                    final ChartRenderingInfo info = new ChartRenderingInfo(
                            new StandardEntityCollection());
                    final File file1 = new File("BarChart.png");
                    ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
                } catch (Exception e) {
                    System.out.println("image can not be created");
    
                }
                return chart;
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-10
      • 2017-12-19
      • 2019-05-24
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多