gpt4 book ai didi

框架内的JAVA按钮生成图表

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:34 25 4
gpt4 key购买 nike

这是我在这里发表的第一篇文章,但绝望的时刻需要绝望的行动。我的问题是,我制作了一个带有按钮和其他项目的 JFrame(每个下一个按钮在单击前一个按钮时都会显示(代码由 ifelse 组成)。当单击倒数第二个按钮(最后一个else)时,它会执行项目的最后一部分并显示,让我们称之为“创建图表”按钮。我想要做的是在单击此按钮后显示新框架,该按钮将在新框架。这是我的代码(为了展示想法而缩短和简化):

public class clazz extends JFrame
{
static JButton // my buttons
static JLabel //my labels
static JCheckBox // my checkBoxes
static JTextField // my textfields

public double //declaration of my variables

public clazz()
{
setSize(1600,900);
setTitle("Project");
setLayout(null);

// created and set up lots of buttons/labels/textfields etc.

button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Button1();}});

button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Button2();}});


// and it continues like that

}

public void Button1()
{
//sth
}
public void Button2()
{
//sth
}

// and continues like that



public static void main(String[] args)
{
clazz aplication = new clazz();
aplication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aplication.setVisible(true);
}
}

出于我的问题的目的,假设按钮3将是创建图表的按钮(在另一个框架中)。我应该怎么做才能获得一个带有基于先前按钮生成的数据的图表的新框架。我看到的所有其他主题都使用新类来绘制图表,而那些不是的主题对我来说太复杂了(我是一条鱼)。

感谢您的每一次帮助!

编辑

完成了!如果您知道更简单的方法,我很感兴趣。

// the beginning is the same

// to the last button in the constructor (let's say the third one) I've added method chartt()

// here's the method chartt()
public void chartt() {
JFrame frame = new JFrame();

XYSeries DATA = new XYSeries("");
matrix1 = new double[641];
matrix2 = new double[641];
for (int x=0; x<=640; x++)
{
matrix1[x]= pressure(x*1000); //pressure is defined in another method with argument x
matrix2[x] = x;
}

for (int y=0;y<=640;y++)
{
DATA.add(matrix2[y], matrix1[y]);
}


XYDataset xyDataset = new XYSeriesCollection(DATA);
JFreeChart chart = ChartFactory.createXYLineChart(
"", "", "",
xyDataset, PlotOrientation.VERTICAL, true, true, false);

ChartPanel cp = new ChartPanel(chart)
{


public Dimension getPreferredSize()
{
return new Dimension(600, 600);
}
};

cp.setMouseWheelEnabled(true);
add(cp);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
frame.add(cp);
frame.setVisible(true);

}

祝大家好运!

最佳答案

我从你的问题中得到的是,当你点击最后一个按钮时,另一个 JFrame(可能你已经设计了它)让名称 XYZ 必须显示。XYZ 将包含您设计的图表。

因此,在 ActionPerformed 事件中,您需要编写以下代码:

XYZ x = new XYZ();
x.setVisible(true);
this.dispose(); // use this line if you wish to close the first frame with buttons.

希望有帮助。如果您还有其他疑问,请在评论中提及。

关于框架内的JAVA按钮生成图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39976672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com